18 #ifndef itkVectorInterpolateImageFunction_h
19 #define itkVectorInterpolateImageFunction_h
45 template<
typename TInputImage,
typename TCoordRep =
double >
49 typename NumericTraits< typename TInputImage::PixelType >::RealType,
59 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
75 using PixelType =
typename InputImageType::PixelType;
103 this->GetInputImage()->TransformPhysicalPointToContinuousIndex(point, index);
104 return ( this->EvaluateAtContinuousIndex(index) );
117 OutputType EvaluateAtContinuousIndex(
118 const ContinuousIndexType & index)
const override = 0;
130 PixelType input = this->GetInputImage()->GetPixel(index);
133 for (
unsigned int k = 0;
134 k < this->GetInputImage()->GetNumberOfComponentsPerPixel(); k++ )
136 output[k] =
static_cast< double >( input[k] );
145 { Superclass::PrintSelf(os, indent); }
Light weight base class for most itk classes.
Define numeric traits for std::vector.
typename NumericTraits< ValueType >::RealType RealType
typename PixelType::ValueType ValueType
constexpr unsigned int Dimension
OutputType EvaluateAtIndex(const IndexType &index) const override
typename InputImageType::PixelType PixelType
OutputType Evaluate(const PointType &point) const override
void PrintSelf(std::ostream &os, Indent indent) const override
typename Superclass::IndexType IndexType
typename Superclass::PointType PointType
ImageBaseType::IndexType IndexType
typename Superclass::InputImageType InputImageType
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
Base class for all vector image interpolaters.
typename Superclass::OutputType OutputType
typename Superclass::ContinuousIndexType ContinuousIndexType
Evaluates a function of an image at specified position.