21 #ifndef otbSarRadiometricCalibrationFunction_h
22 #define otbSarRadiometricCalibrationFunction_h
49 template <
class TInputImage,
class TCoordRep =
float>
51 :
public itk::ImageFunction<TInputImage, typename itk::NumericTraits<typename TInputImage::PixelType>::AbsType, TCoordRep>
56 typedef itk::ImageFunction<TInputImage, typename itk::NumericTraits<typename TInputImage::PixelType>::AbsType, TCoordRep>
Superclass;
74 itkStaticConstMacro(ImageDimension,
unsigned int, InputImageType::ImageDimension);
95 this->ConvertPointToNearestIndex(point, index);
96 return this->EvaluateAtIndex(index);
103 this->ConvertContinuousIndexToNearestIndex(cindex, index);
104 return this->EvaluateAtIndex(index);
111 void SetInputImage(
const InputImageType* ptr)
override;
115 itkSetMacro(Scale, RealType);
116 itkGetMacro(Scale, RealType);
120 itkSetObjectMacro(Noise, ParametricFunctionType);
121 itkGetConstObjectMacro(Noise, ParametricFunctionType);
122 itkGetObjectMacro(Noise, ParametricFunctionType);
126 itkSetMacro(EnableNoise,
bool);
127 itkGetMacro(EnableNoise,
bool);
131 itkSetObjectMacro(AntennaPatternNewGain, ParametricFunctionType);
132 itkGetConstObjectMacro(AntennaPatternNewGain, ParametricFunctionType);
133 itkGetObjectMacro(AntennaPatternNewGain, ParametricFunctionType);
137 itkSetObjectMacro(AntennaPatternOldGain, ParametricFunctionType);
138 itkGetObjectMacro(AntennaPatternOldGain, ParametricFunctionType);
139 itkGetConstObjectMacro(AntennaPatternOldGain, ParametricFunctionType);
143 itkSetObjectMacro(IncidenceAngle, ParametricFunctionType);
144 itkGetConstObjectMacro(IncidenceAngle, ParametricFunctionType);
145 itkGetObjectMacro(IncidenceAngle, ParametricFunctionType);
149 itkSetObjectMacro(RangeSpreadLoss, ParametricFunctionType);
150 itkGetConstObjectMacro(RangeSpreadLoss, ParametricFunctionType);
151 itkGetObjectMacro(RangeSpreadLoss, ParametricFunctionType);
155 itkSetMacro(RescalingFactor, RealType);
158 itkSetMacro(ApplyAntennaPatternGain,
bool);
159 itkGetMacro(ApplyAntennaPatternGain,
bool);
162 itkSetMacro(ApplyIncidenceAngleCorrection,
bool);
163 itkGetMacro(ApplyIncidenceAngleCorrection,
bool);
165 itkSetMacro(ApplyRangeSpreadLossCorrection,
bool);
166 itkGetMacro(ApplyRangeSpreadLossCorrection,
bool);
168 itkSetMacro(ApplyLookupDataCorrection,
bool);
169 itkGetMacro(ApplyLookupDataCorrection,
bool);
171 itkSetMacro(ApplyRescalingFactor,
bool);
172 itkGetMacro(ApplyRescalingFactor,
bool);
198 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
204 void operator=(
const Self&) =
delete;
225 #ifndef OTB_MANUAL_INSTANTIATION