18#ifndef itkInvertDisplacementFieldImageFilter_h
19#define itkInvertDisplacementFieldImageFilter_h
40template <
typename TInputImage,
typename TOutputImage = TInputImage>
67 using PixelType =
typename OutputFieldType::PixelType;
71 using IndexType =
typename OutputFieldType::IndexType;
73 using PointType =
typename OutputFieldType::PointType;
76 using SizeType =
typename OutputFieldType::SizeType;
80 using RealType =
typename VectorType::ComponentType;
92 itkDebugMacro(
"setting deformation field to " << field);
108 const InputFieldType *
124 itkSetMacro(MaximumNumberOfIterations,
unsigned int);
125 itkGetConstMacro(MaximumNumberOfIterations,
unsigned int);
128 itkSetMacro(MeanErrorToleranceThreshold,
RealType);
129 itkGetConstMacro(MeanErrorToleranceThreshold,
RealType);
133 itkGetConstMacro(MaxErrorToleranceThreshold,
RealType);
142 itkSetMacro(EnforceBoundaryCondition,
bool);
143 itkGetMacro(EnforceBoundaryCondition,
bool);
144 itkBooleanMacro(EnforceBoundaryCondition);
190#ifndef ITK_MANUAL_INSTANTIATION
191# include "itkInvertDisplacementFieldImageFilter.hxx"
virtual void SetInput(const InputImageType *input)
const InputImageType * GetInput() const
Templated n-dimensional image class.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
SpacingType m_DisplacementFieldSpacing
void PrintSelf(std::ostream &os, Indent indent) const override
InterpolatorType::Pointer m_Interpolator
typename OutputFieldType::PointType OriginType
typename OutputFieldType::SizeType SizeType
itkSetInputMacro(InverseFieldInitialEstimate, InverseDisplacementFieldType)
virtual void SetInterpolator(InterpolatorType *interpolator)
TOutputImage OutputFieldType
InvertDisplacementFieldImageFilter()
OutputFieldType InverseDisplacementFieldType
const InputFieldType * GetDisplacementField() const
void SetDisplacementField(const InputFieldType *field)
VectorLinearInterpolateImageFunction< InputFieldType, RealType > DefaultInterpolatorType
InputFieldType DisplacementFieldType
RealImageType::Pointer m_ScaledNormImage
typename OutputFieldType::RegionType RegionType
typename OutputFieldType::IndexType IndexType
static constexpr unsigned int ImageDimension
SmartPointer< Self > Pointer
bool m_DoThreadedEstimateInverse
typename OutputFieldType::PixelType VectorType
itkGetInputMacro(InverseFieldInitialEstimate, InverseDisplacementFieldType)
RealType m_MeanErrorToleranceThreshold
typename OutputFieldType::DirectionType DirectionType
unsigned int m_MaximumNumberOfIterations
Image< RealType, ImageDimension > RealImageType
~InvertDisplacementFieldImageFilter() override=default
bool m_EnforceBoundaryCondition
void GenerateData() override
typename OutputFieldType::PointType PointType
DisplacementFieldType::Pointer m_ComposedField
typename OutputFieldType::SpacingType SpacingType
typename OutputFieldType::PixelType PixelType
SmartPointer< const Self > ConstPointer
typename VectorType::ComponentType RealType
VectorInterpolateImageFunction< InputFieldType, RealType > InterpolatorType
RealType m_MaxErrorToleranceThreshold
void DynamicThreadedGenerateData(const RegionType &) override
ImageToImageFilter< TInputImage, TOutputImage > Superclass
InvertDisplacementFieldImageFilter Self
TInputImage InputFieldType
RegionType OutputImageRegionType
virtual void Modified() const
Implements transparent reference counting.
Base class for all vector image interpolators.
SmartPointer< Self > Pointer
Linearly interpolate a vector image at specified positions.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....