18#ifndef itkImageFunction_h
19#define itkImageFunction_h
54template <
typename TInputImage,
typename TOutput,
typename TCoordinate =
float>
88#ifndef ITK_FUTURE_LEGACY_REMOVE
89 using CoordRepType ITK_FUTURE_DEPRECATED(
90 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
94 using IndexType =
typename InputImageType::IndexType;
202 cindex =
m_Image->template TransformPhysicalPointToContinuousIndex<TCoordinate>(
point);
209 index.CopyWithRound(cindex);
236#ifndef ITK_MANUAL_INSTANTIATION
237# include "itkImageFunction.hxx"
CovariantVector< double, MovingImageType::ImageDimension > OutputType
A templated class holding a point in n-Dimensional image space.
Base class for all ITK function objects.
void ConvertPointToContinuousIndex(const PointType &point, ContinuousIndexType &cindex) const
TCoordinate CoordinateType
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetInputImage(const InputImageType *ptr)
~ImageFunction() override=default
InputImageConstPointer m_Image
virtual TOutput EvaluateAtContinuousIndex(const ContinuousIndexType &index) const =0
virtual bool IsInsideBuffer(const ContinuousIndexType &index) const
typename InputImageType::PixelType InputPixelType
static constexpr unsigned int ImageDimension
ContinuousIndexType m_EndContinuousIndex
virtual TOutput EvaluateAtIndex(const IndexType &index) const =0
void ConvertPointToNearestIndex(const PointType &point, IndexType &index) const
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::IndexValueType IndexValueType
OutputType Evaluate(const PointType &point) const override=0
const InputImageType * GetInputImage() const
virtual bool IsInsideBuffer(const PointType &point) const
SmartPointer< const Self > ConstPointer
typename InputImageType::IndexType IndexType
Point< TCoordinate, Self::ImageDimension > PointType
ContinuousIndexType m_StartContinuousIndex
void ConvertContinuousIndexToNearestIndex(const ContinuousIndexType &cindex, IndexType &index) const
ContinuousIndex< TCoordinate, Self::ImageDimension > ContinuousIndexType
TInputImage InputImageType
virtual bool IsInsideBuffer(const IndexType &index) const
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
ImageFunction< TImageType, typename NumericTraits< typename TImageType::PixelType >::RealType, TCoordinate > Superclass
TImageType InputImageType
A templated class holding a geometric point in n-Dimensional space.
Implements transparent reference counting.
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