21 #ifndef otbImageFunctionAdaptor_h
22 #define otbImageFunctionAdaptor_h
24 #include "itkImageFunction.h"
27 #include "OTBImageBaseExport.h"
48 template <
class TInternalImageFunctionType,
class TOutputPrecision =
double>
50 :
public itk::ImageFunction<typename TInternalImageFunctionType::InputImageType, itk::VariableLengthVector<TOutputPrecision>,
51 typename TInternalImageFunctionType::CoordRepType>
56 typedef itk::ImageFunction<typename TInternalImageFunctionType::InputImageType, itk::VariableLengthVector<TOutputPrecision>,
57 typename TInternalImageFunctionType::CoordRepType>
69 typedef typename TInternalImageFunctionType::InputImageType
InputImageType;
70 typedef typename TInternalImageFunctionType::CoordRepType
CoordRepType;
86 itkStaticConstMacro(ImageDimension,
unsigned int, InputImageType::ImageDimension);
95 this->ConvertPointToNearestIndex(point, index);
96 return this->EvaluateAtIndex(index);
101 this->ConvertContinuousIndexToNearestIndex(cindex, index);
102 return this->EvaluateAtIndex(index);
106 itkGetConstMacro(InternalImageFunction,
typename InternalImageFunctionType::Pointer);
107 itkSetMacro(InternalImageFunction,
typename InternalImageFunctionType::Pointer);
114 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
118 void operator=(
const Self&) =
delete;
128 #ifndef OTB_MANUAL_INSTANTIATION