18#ifndef itkVectorInterpolateImageFunction_h
19#define itkVectorInterpolateImageFunction_h
46template <
typename TInputImage,
typename TCoordinate =
double>
48 :
public ImageFunction<TInputImage, typename NumericTraits<typename TInputImage::PixelType>::RealType, TCoordinate>
54 static constexpr unsigned int Dimension = TInputImage::PixelType::Dimension;
72 using PixelType =
typename InputImageType::PixelType;
90#ifndef ITK_FUTURE_LEGACY_REMOVE
91 using CoordRepType ITK_FUTURE_DEPRECATED(
92 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
104 this->
GetInputImage()->template TransformPhysicalPointToContinuousIndex<TCoordinate>(
point);
136 for (
unsigned int k = 0; k < this->
GetInputImage()->GetNumberOfComponentsPerPixel(); ++k)
138 output[k] =
static_cast<double>(input[k]);
const InputImageType * GetInputImage() const
typename InputImageType::IndexType IndexType
Point< TCoordinate, Self::ImageDimension > PointType
ContinuousIndex< TCoordinate, Self::ImageDimension > ContinuousIndexType
TInputImage InputImageType
Implements transparent reference counting.
VectorInterpolateImageFunction Self
static constexpr unsigned int ImageDimension
static constexpr unsigned int Dimension
ImageFunction< TInputImage, typename NumericTraits< typename TInputImage::PixelType >::RealType, TCoordinate > Superclass
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override=0
SmartPointer< const Self > ConstPointer
OutputType EvaluateAtIndex(const IndexType &index) const override
typename PixelType::ValueType ValueType
typename NumericTraits< ValueType >::RealType RealType
typename InputImageType::PixelType PixelType
TCoordinate CoordinateType
typename InputImageType::IndexType IndexType
VectorInterpolateImageFunction()=default
Point< TCoordinate, Self::ImageDimension > PointType
ContinuousIndex< TCoordinate, Self::ImageDimension > ContinuousIndexType
SmartPointer< Self > Pointer
OutputType Evaluate(const PointType &point) const override
~VectorInterpolateImageFunction() override=default
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