Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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
11namespace itk
12{
18
19template <class TInput, class TOutput, int NDimensions>
20class TransformDeformationFieldFilter : public ImageToImageFilter<Image<itk::Vector<TInput, NDimensions>, NDimensions>, Image<itk::Vector<TOutput, NDimensions>, NDimensions>>
21{
22public:
23 typedef TInput InputDataType;
24 typedef TOutput OutputDataType;
25
26 typedef ImageToImageFilter<Image<itk::Vector<InputDataType, NDimensions>, NDimensions>, Image<itk::Vector<OutputDataType, NDimensions>, NDimensions>> Superclass;
27
28 typedef itk::Vector<InputDataType, NDimensions> InputDeformationPixelType;
29 typedef Image<InputDeformationPixelType, NDimensions> InputDeformationFieldType;
30 typedef itk::Vector<OutputDataType, NDimensions> OutputDeformationPixelType;
31 typedef Image<OutputDeformationPixelType, NDimensions> OutputDeformationFieldType;
33 typedef SmartPointer<Self> Pointer;
34 typedef SmartPointer<const Self> ConstPointer;
35
36 typedef typename InputDeformationFieldType::Pointer InputDeformationFieldPointerType;
37 typedef typename OutputDeformationFieldType::Pointer OutputDeformationFieldPointerType;
38 typedef ImageRegionConstIteratorWithIndex<InputDeformationFieldType> InputIteratorType;
39 typedef ImageRegionIteratorWithIndex<OutputDeformationFieldType> OutputIteratorType;
40 typedef typename OutputDeformationFieldType::RegionType OutputDeformationFieldRegionType;
41 typedef Transform<OutputDataType, NDimensions, NDimensions> TransformType;
42 typedef typename OutputDeformationFieldType::RegionType OutputImageRegionType;
43
46
48 // /Set the transform
50
51 // /Get the time of the last modification of the object
52 ModifiedTimeType GetMTime() const override;
53
54#ifdef ITK_USE_CONCEPT_CHECKING
56 itkConceptMacro(InputConvertibleToDoubleCheck, (Concept::Convertible<InputDataType, double>));
57 itkConceptMacro(DoubleConvertibleToOutputCheck, (Concept::Convertible<double, OutputDataType>));
59#endif
60protected:
62
63 void DynamicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread) override;
64
66
68
70
71private:
72 typename TransformType::Pointer m_Transform;
73 // InputDeformationFieldPointerType m_Input ;
74};
75
76} // end namespace itk
77
78#ifndef ITK_MANUAL_INSTANTIATION
79# include "itkTransformDeformationFieldFilter.txx"
80#endif
81
82#endif
ImageToImageFilter< Image< itk::Vector< InputDataType, NDimensions >, NDimensions >, Image< itk::Vector< OutputDataType, NDimensions >, NDimensions > > Superclass
itk::Vector< OutputDataType, NDimensions > OutputDeformationPixelType
OutputDeformationFieldType::RegionType OutputDeformationFieldRegionType
Transform< OutputDataType, NDimensions, NDimensions > TransformType
Image< InputDeformationPixelType, NDimensions > InputDeformationFieldType
ImageRegionConstIteratorWithIndex< InputDeformationFieldType > InputIteratorType
itkSetObjectMacro(Transform, TransformType)
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
OutputDeformationFieldType::RegionType OutputImageRegionType
itk::Vector< InputDataType, NDimensions > InputDeformationPixelType
ModifiedTimeType GetMTime() const override
void GenerateInputRequestedRegion() override
ImageRegionIteratorWithIndex< OutputDeformationFieldType > OutputIteratorType
InputDeformationFieldType::Pointer InputDeformationFieldPointerType
Image< OutputDeformationPixelType, NDimensions > OutputDeformationFieldType
OutputDeformationFieldType::Pointer OutputDeformationFieldPointerType
itkTypeMacro(TransformDeformationFieldFilter, ImageToImageFilter)
Simplified inverse ITK transforms.