Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkGradientDirectionsProperty.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKGRADIENTDIRECTIONSPROPERTY_H
18 #define MITKGRADIENTDIRECTIONSPROPERTY_H
19 
20 #include "mitkBaseProperty.h"
21 #include <vnl/vnl_vector_fixed.h>
22 #include <itkVectorContainer.h>
23 #include <itkVector.h>
24 
26 
27 namespace mitk
28 {
29 
32  {
33  public:
34  typedef unsigned int IndexType;
35  typedef vnl_vector_fixed< double, 3 > ValueType;
36  typedef ValueType GradientDirectionType;
37  typedef itk::VectorContainer< IndexType, GradientDirectionType > GradientDirectionsContainerType;
38  typedef std::vector< itk::Vector<double,3> > AlternativeGradientDirectionsContainerType;
39 
41 
42  itkFactorylessNewMacro(Self)
43  itkCloneMacro(Self)
44 
45  mitkNewMacro1Param(GradientDirectionsProperty, const GradientDirectionsProperty&);
46  mitkNewMacro1Param(GradientDirectionsProperty, const GradientDirectionsContainerType::Pointer);
47  mitkNewMacro1Param(GradientDirectionsProperty, const AlternativeGradientDirectionsContainerType );
48 
49  const GradientDirectionsContainerType::Pointer GetGradientDirectionsContainer() const;
50 
51  protected:
52 
53  GradientDirectionsProperty();
54  ~GradientDirectionsProperty();
55 
56  GradientDirectionsProperty(const GradientDirectionsProperty& other);
57  GradientDirectionsProperty(const GradientDirectionsContainerType::Pointer gradientDirectionsContainer);
58  GradientDirectionsProperty(const AlternativeGradientDirectionsContainerType gradientDirectionsContainer);
59 
60  virtual bool IsEqual(const BaseProperty& property) const override;
61  virtual bool Assign(const BaseProperty & property) override;
62 
63  GradientDirectionsContainerType::Pointer m_GradientDirectionsContainer;
64 
65  virtual itk::LightObject::Pointer InternalClone() const override;
66  };
67 }
68 #endif
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:76
DataCollection - Class to facilitate loading/accessing structured data.
#define MITKDIFFUSIONCORE_EXPORT
Abstract base class for properties.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
std::vector< itk::Vector< double, 3 > > AlternativeGradientDirectionsContainerType
itk::VectorContainer< IndexType, GradientDirectionType > GradientDirectionsContainerType