18#ifndef itkWarpImageFilter_h
19#define itkWarpImageFilter_h
84template <
typename TInputImage,
typename TOutputImage,
typename TDisplacementField>
114 using SizeType =
typename OutputImageType::SizeType;
134#ifndef ITK_FUTURE_LEGACY_REMOVE
135 using CoordRepType ITK_FUTURE_DEPRECATED(
136 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
297#ifndef ITK_MANUAL_INSTANTIATION
298# include "itkWarpImageFilter.hxx"
Base class for templated image classes.
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
Control indentation during Print() invocation.
Base class for all image interpolators.
SmartPointer< Self > Pointer
Linearly interpolate an image at specified positions.
A templated class holding a geometric point in n-Dimensional space.
Implements transparent reference counting.
InterpolatorPointer m_Interpolator
void GenerateInputRequestedRegion() override
typename OutputImageType::SizeType SizeType
bool m_DefFieldSameInformation
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
SmartPointer< Self > Pointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void GenerateOutputInformation() override
void BeforeThreadedGenerateData() override
TDisplacementField DisplacementFieldType
typename InterpolatorType::Pointer InterpolatorPointer
itkGetInputMacro(DisplacementField, DisplacementFieldType)
static constexpr unsigned int DisplacementFieldDimension
typename OutputImageType::SpacingType SpacingType
ImageBase< Self::ImageDimension > ImageBaseType
void EvaluateDisplacementAtPhysicalPoint(const PointType &point, DisplacementType &output)
void VerifyInputInformation() const override
typename OutputImageType::IndexType IndexType
IndexType m_OutputStartIndex
PixelType m_EdgePaddingValue
DirectionType m_OutputDirection
virtual void SetOutputSpacing(const double *spacing)
typename TOutputImage::DirectionType DirectionType
Point< CoordinateType, Self::ImageDimension > PointType
typename DisplacementFieldType::PixelType DisplacementType
virtual void SetOutputOrigin(const double *origin)
InterpolateImageFunction< InputImageType, CoordinateType > InterpolatorType
void EvaluateDisplacementAtPhysicalPoint(const PointType &point, const DisplacementFieldType *fieldPtr, DisplacementType &output)
itkSetInputMacro(DisplacementField, DisplacementFieldType)
typename OutputImageType::InternalPixelType PixelComponentType
LinearInterpolateImageFunction< InputImageType, CoordinateType > DefaultInterpolatorType
typename OutputImageType::IndexValueType IndexValueType
SpacingType m_OutputSpacing
typename OutputImageType::PixelType PixelType
void SetOutputParametersFromImage(const ImageBaseType *image)
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
typename DisplacementFieldType::Pointer DisplacementFieldPointer
static constexpr unsigned int ImageDimension
typename TOutputImage::RegionType OutputImageRegionType
static constexpr unsigned int InputImageDimension
void AfterThreadedGenerateData() override
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents