18 #ifndef itkComposeDisplacementFieldsImageFilter_h
19 #define itkComposeDisplacementFieldsImageFilter_h
39 template <
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);
127 SetInterpolator(InterpolatorType * interpolator);
138 PrintSelf(std::ostream & os,
Indent indent)
const override;
142 BeforeThreadedGenerateData()
override;
146 DynamicThreadedGenerateData(
const RegionType &)
override;
156 #ifndef ITK_MANUAL_INSTANTIATION
157 # include "itkComposeDisplacementFieldsImageFilter.hxx"