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;
66 typedef typename OutputFieldType::IndexType
IndexType;
68 typedef typename OutputFieldType::PointType
PointType;
71 typedef typename OutputFieldType::SizeType
SizeType;
75 typedef typename VectorType::ComponentType
RealType;
87 itkDebugMacro(
"setting deformation field to " << field );
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 );
157 void operator=( const Self& );
184 #ifndef ITK_MANUAL_INSTANTIATION
185 #include "itkInvertDisplacementFieldImageFilter.hxx"
Critical section locking class that can be allocated on the stack.
OutputFieldType::PixelType PixelType
OutputFieldType::DirectionType DirectionType
OutputFieldType InverseDisplacementFieldType
SpacingType m_DisplacementFieldSpacing
bool m_EnforceBoundaryCondition
SmartPointer< const Self > ConstPointer
OutputFieldType::PointType PointType
virtual ~InvertDisplacementFieldImageFilter()
ImageToImageFilter< TInputImage, TOutputImage > Superclass
VectorInterpolateImageFunction< InputFieldType, RealType > InterpolatorType
OutputFieldType::IndexType IndexType
VectorLinearInterpolateImageFunction< InputFieldType, RealType > DefaultInterpolatorType
bool m_DoThreadedEstimateInverse
InterpolatorType::Pointer m_Interpolator
RealType m_MaxErrorToleranceThreshold
InputFieldType DisplacementFieldType
OutputFieldType::RegionType RegionType
Base class for all process objects that output image data.
RealImageType::Pointer m_ScaledNormImage
InvertDisplacementFieldImageFilter Self
unsigned int m_MaximumNumberOfIterations
TOutputImage OutputFieldType
RealType m_MeanErrorToleranceThreshold
void PrintSelf(std::ostream &os, Indent indent) const override
OutputFieldType::PointType OriginType
TInputImage InputFieldType
static const unsigned int ImageDimension
virtual void SetInput(const InputImageType *image)
Image< RealType, ImageDimension > RealImageType
OutputFieldType::SpacingType SpacingType
virtual void SetInterpolator(InterpolatorType *interpolator)
const InputImageType * GetInput() const
virtual void Modified() const
unsigned int ThreadIdType
OutputFieldType::PixelType VectorType
Base class for filters that take an image as input and produce an image as output.
void GenerateData() override
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
InvertDisplacementFieldImageFilter()
void SetDisplacementField(const InputFieldType *field)
Base class for all vector image interpolaters.
const InputFieldType * GetDisplacementField() const
VectorType::ComponentType RealType
Iteratively estimate the inverse field of a displacement field.
DisplacementFieldType::Pointer m_ComposedField
OutputFieldType::SizeType SizeType
SimpleFastMutexLock m_Mutex
Templated n-dimensional image class.
Linearly interpolate a vector image at specified positions.
void ThreadedGenerateData(const RegionType &, ThreadIdType) override