18#ifndef itkComposeDisplacementFieldsImageFilter_h
19#define itkComposeDisplacementFieldsImageFilter_h
39template <
typename TInputImage,
typename TOutputImage = TInputImage>
54 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
60 using PixelType =
typename OutputFieldType::PixelType;
72 using RealType =
typename VectorType::ComponentType;
82 itkDebugMacro(
"setting displacement field to " << field);
83 if (field != this->GetInput(0))
85 this->SetInput(0, field);
87 if (!this->m_Interpolator.IsNull())
89 this->m_Interpolator->SetInputImage(field);
98 const InputFieldType *
101 return this->GetInput(0);
108 itkDebugMacro(
"setting warping field to " << field);
109 if (field != this->GetInput(1))
111 this->SetInput(1, field);
119 const InputFieldType *
122 return this->GetInput(1);
156#ifndef ITK_MANUAL_INSTANTIATION
157# include "itkComposeDisplacementFieldsImageFilter.hxx"
Compose two displacement fields.
virtual void SetInterpolator(InterpolatorType *interpolator)
typename OutputFieldType::IndexType IndexType
void PrintSelf(std::ostream &os, Indent indent) const override
ComposeDisplacementFieldsImageFilter()
void BeforeThreadedGenerateData() override
const InputFieldType * GetWarpingField() const
typename OutputFieldType::SizeType SizeType
typename VectorType::ComponentType RealType
typename OutputFieldType::PointType PointType
void DynamicThreadedGenerateData(const RegionType &) override
typename OutputFieldType::RegionType RegionType
const InputFieldType * GetDisplacementField() const
TInputImage InputFieldType
typename OutputFieldType::PixelType PixelType
typename OutputFieldType::PointType OriginType
typename OutputFieldType::DirectionType DirectionType
typename OutputFieldType::SpacingType SpacingType
~ComposeDisplacementFieldsImageFilter() override=default
void SetDisplacementField(const InputFieldType *field)
void SetWarpingField(const InputFieldType *field)
typename OutputFieldType::PixelType VectorType
TOutputImage OutputFieldType
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Base class for all vector image interpolators.
ImageBaseType::DirectionType DirectionType
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....