18 #ifndef __otbSarParametricMapFunction_h
19 #define __otbSarParametricMapFunction_h
21 #include "itkNumericTraits.h"
39 template <
class TInputImage,
class TCoordRep =
float>
41 public itk::ImageFunction<TInputImage, typename itk::NumericTraits<typename TInputImage::PixelType>::ScalarRealType,
65 itkStaticConstMacro(ImageDimension,
unsigned int, InputImageType::ImageDimension);
76 typedef typename itk::NumericTraits<InputPixelType>::ScalarRealType
RealType;
85 point[0] =
static_cast<typename PointType::ValueType
>(index[0]);
86 point[1] =
static_cast<typename PointType::ValueType
>(index[1]);
87 return this->Evaluate(point);
94 this->ConvertContinuousIndexToNearestIndex(cindex, index);
95 return this->EvaluateAtIndex(index);
99 itkGetObjectMacro(PointSet, PointSetType);
100 itkGetConstObjectMacro(PointSet, PointSetType);
103 m_IsInitialize =
false;
114 itkGetConstReferenceMacro(IsInitialize,
bool);
117 void SetPolynomalSize(
const IndexType PolynomalSize);
120 void EvaluateParametricCoefficient();
123 void SetConstantValue(
const RealType& value);
128 void PrintSelf(std::ostream& os,
itk::Indent indent)
const;
132 void operator =(
const Self&);
134 double Horner(PointType point)
const;
145 #ifndef OTB_MANUAL_INSTANTIATION