22 #ifndef otbSarBrightnessToImageFilter_hxx
23 #define otbSarBrightnessToImageFilter_hxx
27 #include <boost/any.hpp>
35 template <
class TInputImage,
class TOutputImage>
40 template <
class TInputImage,
class TOutputImage>
44 Superclass::BeforeThreadedGenerateData();
47 auto imd = this->GetInput()->GetImageMetadata();
50 std::unique_ptr<SARCalib> sarCalibPtr;
53 sarCalibPtr = std::make_unique<SARCalib>(boost::any_cast<SARCalib>(imd[
MDGeom::SARCalib]));
57 sarCalibPtr = std::make_unique<SARCalib>(boost::any_cast<SARCalib>(imd.Bands[0][
MDGeom::SARCalib]));
60 throw std::runtime_error(
"otbSarBrightnessToImageFilter was not able to fetch the SARCalib metadata.");
68 noise->SetPointSet(sarCalibPtr->radiometricCalibrationNoise);
69 noise->SetPolynomalSize(sarCalibPtr->radiometricCalibrationNoisePolynomialDegree);
70 noise->EvaluateParametricCoefficient();
73 antennaPatternNewGain->SetPointSet(sarCalibPtr->radiometricCalibrationAntennaPatternNewGain);
74 antennaPatternNewGain->SetPolynomalSize(sarCalibPtr->radiometricCalibrationAntennaPatternNewGainPolynomialDegree);
75 antennaPatternNewGain->EvaluateParametricCoefficient();
78 antennaPatternOldGain->SetPointSet(sarCalibPtr->radiometricCalibrationAntennaPatternOldGain);
79 antennaPatternOldGain->SetPolynomalSize(sarCalibPtr->radiometricCalibrationAntennaPatternOldGainPolynomialDegree);
80 antennaPatternOldGain->EvaluateParametricCoefficient();
83 rangeSpreadLoss->SetPointSet(sarCalibPtr->radiometricCalibrationRangeSpreadLoss);
84 rangeSpreadLoss->SetPolynomalSize(sarCalibPtr->radiometricCalibrationRangeSpreadLossPolynomialDegree);
85 rangeSpreadLoss->EvaluateParametricCoefficient();
88 this->Print(std::cout,
id);
92 template <
class TInputImage,
class TOutputImage>
95 Superclass::PrintSelf(os, indent);
97 if (this->GetFunction())
99 os << indent <<
"Function:\n";
100 this->GetFunction()->Print(os, indent.GetNextIndent());
void BeforeThreadedGenerateData() override
FunctionType::ParametricFunctionPointer ParametricFunctionPointer
void PrintSelf(std::ostream &os, itk::Indent indent) const override
Superclass::FunctionPointer FunctionPointer
SarBrightnessToImageFilter()
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.