Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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