Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
itkTransformDeformationFieldFilter.h
Go to the documentation of this file.
1 #ifndef itkTransformDeformationFieldFilter_h
2 #define itkTransformDeformationFieldFilter_h
3 
4 #include <itkObject.h>
5 #include <itkImageToImageFilter.h>
6 #include <itkImage.h>
7 #include <itkImageRegionIteratorWithIndex.h>
8 #include <itkImageRegionConstIteratorWithIndex.h>
9 #include <itkTransform.h>
10 
11 namespace itk
12 {
19 template <class TInput, class TOutput, int NDimensions>
21  : public ImageToImageFilter
22  <Image<itk::Vector<TInput, NDimensions>, NDimensions>,
23  Image<itk::Vector<TOutput, NDimensions>, NDimensions> >
24 {
25 public:
26  typedef TInput InputDataType;
27  typedef TOutput OutputDataType;
28 
29  typedef ImageToImageFilter
30  <Image<itk::Vector<InputDataType, NDimensions>, NDimensions>,
31  Image<itk::Vector<OutputDataType, NDimensions>, NDimensions> >
33 
34  typedef itk::Vector<InputDataType, NDimensions> InputDeformationPixelType;
35  typedef Image<InputDeformationPixelType, NDimensions> InputDeformationFieldType;
36  typedef itk::Vector<OutputDataType, NDimensions> OutputDeformationPixelType;
37  typedef Image<OutputDeformationPixelType, NDimensions> OutputDeformationFieldType;
39  typedef SmartPointer<Self> Pointer;
40  typedef SmartPointer<const Self> ConstPointer;
41 
42  typedef typename InputDeformationFieldType::Pointer InputDeformationFieldPointerType;
43  typedef typename OutputDeformationFieldType::Pointer OutputDeformationFieldPointerType;
44  typedef ImageRegionConstIteratorWithIndex<InputDeformationFieldType> InputIteratorType;
45  typedef ImageRegionIteratorWithIndex<OutputDeformationFieldType> OutputIteratorType;
46  typedef typename OutputDeformationFieldType::RegionType OutputDeformationFieldRegionType;
47  typedef Transform<OutputDataType, NDimensions, NDimensions> TransformType;
48  typedef typename OutputDeformationFieldType::RegionType OutputImageRegionType;
49 
51  itkTypeMacro(TransformDeformationFieldFilter, ImageToImageFilter);
52 
53  itkNewMacro( Self );
54 // /Set the transform
55  itkSetObjectMacro( Transform, TransformType );
56 
57 // /Get the time of the last modification of the object
58  unsigned long GetMTime() const ITK_OVERRIDE;
59 
60 #ifdef ITK_USE_CONCEPT_CHECKING
61 
62  itkConceptMacro( InputConvertibleToDoubleCheck,
63  ( Concept::Convertible<InputDataType, double> ) );
64  itkConceptMacro( DoubleConvertibleToOutputCheck,
65  ( Concept::Convertible<double, OutputDataType> ) );
67 #endif
68 protected:
70 
71  void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, ThreadIdType threadId ) ITK_OVERRIDE;
72 
73  void BeforeThreadedGenerateData() ITK_OVERRIDE;
74 
75  void GenerateOutputInformation() ITK_OVERRIDE;
76 
77  void GenerateInputRequestedRegion() ITK_OVERRIDE;
78 
79 private:
80  typename TransformType::Pointer m_Transform;
81 // InputDeformationFieldPointerType m_Input ;
82 };
83 
84 } // end namespace itk
85 
86 #ifndef ITK_MANUAL_INSTANTIATION
87 #include "itkTransformDeformationFieldFilter.txx"
88 #endif
89 
90 #endif
Image< OutputDeformationPixelType, NDimensions > OutputDeformationFieldType
Transform< OutputDataType, NDimensions, NDimensions > TransformType
itk::Vector< OutputDataType, NDimensions > OutputDeformationPixelType
itkSetObjectMacro(Transform, TransformType)
Image< InputDeformationPixelType, NDimensions > InputDeformationFieldType
ImageToImageFilter< Image< itk::Vector< InputDataType, NDimensions >, NDimensions >, Image< itk::Vector< OutputDataType, NDimensions >, NDimensions > > Superclass
itkTypeMacro(TransformDeformationFieldFilter, ImageToImageFilter)
Simplified inverse ITK transforms.
* itkConceptMacro(OutputEqualityComparableCheck, *(Concept::EqualityComparable< OutputImagePixelType >))
ImageRegionConstIteratorWithIndex< InputDeformationFieldType > InputIteratorType
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) ITK_OVERRIDE
unsigned long GetMTime() const ITK_OVERRIDE
void GenerateInputRequestedRegion() ITK_OVERRIDE
OutputDeformationFieldType::RegionType OutputDeformationFieldRegionType
OutputDeformationFieldType::RegionType OutputImageRegionType
InputDeformationFieldType::Pointer InputDeformationFieldPointerType
itk::Vector< InputDataType, NDimensions > InputDeformationPixelType
ImageRegionIteratorWithIndex< OutputDeformationFieldType > OutputIteratorType
void BeforeThreadedGenerateData() ITK_OVERRIDE
void GenerateOutputInformation() ITK_OVERRIDE
OutputDeformationFieldType::Pointer OutputDeformationFieldPointerType