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;
82 itkGetModifiableObjectMacro( Interpolator, InterpolatorType );
87 itkDebugMacro(
"setting deformation field to " << field );
109 itkSetInputMacro( InverseFieldInitialEstimate, InverseDisplacementFieldType );
110 itkGetInputMacro( InverseFieldInitialEstimate, InverseDisplacementFieldType );
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& ) ITK_DELETE_FUNCTION;
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
void operator=(const Self &) ITK_DELETE_FUNCTION
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
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
RealType m_MaxErrorToleranceThreshold
InputFieldType DisplacementFieldType
OutputFieldType::RegionType RegionType
RealImageType::Pointer m_ScaledNormImage
InvertDisplacementFieldImageFilter Self
unsigned int m_MaximumNumberOfIterations
TOutputImage OutputFieldType
RealType m_MeanErrorToleranceThreshold
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
void PrintSelf(std::ostream &os, Indent indent) const override
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