18 #ifndef itkInvertDisplacementFieldImageFilter_h
19 #define itkInvertDisplacementFieldImageFilter_h
40 template <
typename TInputImage,
typename TOutputImage = TInputImage>
54 itkStaticConstMacro( ImageDimension,
unsigned int, TInputImage::ImageDimension );
63 typedef typename OutputFieldType::PixelType
PixelType;
75 typedef typename VectorType::ComponentType
RealType;
87 itkDebugMacro(
"setting deformation field to " << field );
88 if ( field != this->GetInput( 0 ) )
90 this->SetInput( 0, field );
92 if( ! this->m_Interpolator.IsNull() )
94 this->m_Interpolator->SetInputImage( field );
105 return this->GetInput( 0 );
109 itkSetInputMacro( InverseFieldInitialEstimate, InverseDisplacementFieldType );
110 itkGetInputMacro( InverseFieldInitialEstimate, InverseDisplacementFieldType );
114 virtual void SetInterpolator( InterpolatorType* interpolator );
117 itkSetMacro( MaximumNumberOfIterations,
unsigned int );
118 itkGetConstMacro( MaximumNumberOfIterations,
unsigned int );
121 itkSetMacro( MeanErrorToleranceThreshold, RealType );
122 itkGetConstMacro( MeanErrorToleranceThreshold, RealType );
125 itkSetMacro( MaxErrorToleranceThreshold, RealType );
126 itkGetConstMacro( MaxErrorToleranceThreshold, RealType );
129 itkGetConstMacro( MaxErrorNorm, RealType );
132 itkGetConstMacro( MeanErrorNorm, RealType );
135 itkSetMacro( EnforceBoundaryCondition,
bool );
136 itkGetMacro( EnforceBoundaryCondition,
bool );
147 void PrintSelf( std::ostream& os,
Indent indent ) const ITK_OVERRIDE;
150 void GenerateData() ITK_OVERRIDE;
153 void ThreadedGenerateData( const RegionType &,
ThreadIdType ) ITK_OVERRIDE;
161 unsigned int m_MaximumNumberOfIterations;
175 bool m_DoThreadedEstimateInverse;
176 bool m_EnforceBoundaryCondition;
183 #ifndef ITK_MANUAL_INSTANTIATION
184 #include "itkInvertDisplacementFieldImageFilter.hxx"
Critical section locking class that can be allocated on the stack.
OutputFieldType::PixelType PixelType
OutputFieldType::DirectionType DirectionType
OutputFieldType InverseDisplacementFieldType
SmartPointer< const Self > ConstPointer
OutputFieldType::PointType PointType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
VectorInterpolateImageFunction< InputFieldType, RealType > InterpolatorType
OutputFieldType::IndexType IndexType
VectorLinearInterpolateImageFunction< InputFieldType, RealType > DefaultInterpolatorType
InputFieldType DisplacementFieldType
OutputFieldType::RegionType RegionType
Base class for all process objects that output image data.
InvertDisplacementFieldImageFilter Self
TOutputImage OutputFieldType
ImageBaseType::DirectionType DirectionType
OutputFieldType::PointType OriginType
TInputImage InputFieldType
Image< RealType, ImageDimension > RealImageType
ImageBaseType::PointType PointType
OutputFieldType::SpacingType SpacingType
unsigned int ThreadIdType
OutputFieldType::PixelType VectorType
Base class for filters that take an image as input and produce an image as output.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
void SetDisplacementField(const InputFieldType *field)
Base class for all vector image interpolaters.
ImageBaseType::SizeType SizeType
const InputFieldType * GetDisplacementField() const
VectorType::ComponentType RealType
Iteratively estimate the inverse field of a displacement field.
OutputFieldType::SizeType SizeType
Templated n-dimensional image class.
Linearly interpolate a vector image at specified positions.
ImageBaseType::IndexType IndexType