Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
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  ModifiedTimeType GetMTime() const 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 DynamicThreadedGenerateData( const OutputImageRegionType & outputRegionForThread) override;
72 
73  void BeforeThreadedGenerateData() override;
74 
75  void GenerateOutputInformation() override;
76 
77  void GenerateInputRequestedRegion() 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 GenerateInputRequestedRegion() override
ModifiedTimeType GetMTime() const override
OutputDeformationFieldType::RegionType OutputDeformationFieldRegionType
OutputDeformationFieldType::RegionType OutputImageRegionType
InputDeformationFieldType::Pointer InputDeformationFieldPointerType
itk::Vector< InputDataType, NDimensions > InputDeformationPixelType
ImageRegionIteratorWithIndex< OutputDeformationFieldType > OutputIteratorType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
OutputDeformationFieldType::Pointer OutputDeformationFieldPointerType