18 #ifndef itkComposeDisplacementFieldsImageFilter_h
19 #define itkComposeDisplacementFieldsImageFilter_h
39 template <
typename TInputImage,
typename TOutputImage = TInputImage>
55 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
61 using PixelType =
typename OutputFieldType::PixelType;
73 using RealType =
typename VectorType::ComponentType;
83 itkDebugMacro(
"setting displacement field to " << field );
84 if ( field != this->GetInput( 0 ) )
86 this->SetInput( 0, field );
88 if( !this->m_Interpolator.IsNull() )
90 this->m_Interpolator->SetInputImage( field );
101 return this->GetInput( 0 );
107 itkDebugMacro(
"setting warping field to " << field );
108 if ( field != this->GetInput( 1 ) )
110 this->SetInput( 1, field );
120 return this->GetInput( 1 );
124 virtual void SetInterpolator( InterpolatorType* interpolator );
135 void PrintSelf( std::ostream& os,
Indent indent )
const override;
138 void BeforeThreadedGenerateData()
override;
141 void DynamicThreadedGenerateData(
const RegionType & )
override;
152 #ifndef ITK_MANUAL_INSTANTIATION
153 #include "itkComposeDisplacementFieldsImageFilter.hxx"
typename OutputFieldType::IndexType IndexType
typename OutputFieldType::SizeType SizeType
void SetWarpingField(const InputFieldType *field)
typename OutputFieldType::SpacingType SpacingType
TInputImage InputFieldType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
typename VectorType::ComponentType RealType
Base class for all process objects that output image data.
InterpolatorType::Pointer m_Interpolator
Compose two displacement fields.
typename OutputFieldType::PixelType PixelType
typename OutputFieldType::PointType PointType
ImageBaseType::SizeType SizeType
typename OutputFieldType::PointType OriginType
ImageBaseType::DirectionType DirectionType
ImageBaseType::IndexType IndexType
typename OutputFieldType::PixelType VectorType
typename OutputFieldType::RegionType RegionType
Base class for filters that take an image as input and produce an image as output.
void SetDisplacementField(const InputFieldType *field)
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
Base class for all vector image interpolaters.
const InputFieldType * GetDisplacementField() const
ImageBaseType::RegionType RegionType
TOutputImage OutputFieldType
typename OutputFieldType::DirectionType DirectionType
const InputFieldType * GetWarpingField() const