21 #ifndef otbAtmosphericRadiativeTerms_h
22 #define otbAtmosphericRadiativeTerms_h
24 #include "OTBOpticalCalibrationExport.h"
25 #include "itkDataObject.h"
26 #include "itkObjectFactory.h"
62 itkSetMacro(IntrinsicAtmosphericReflectance,
double);
63 itkGetMacro(IntrinsicAtmosphericReflectance,
double);
69 itkSetMacro(SphericalAlbedo,
double);
70 itkGetMacro(SphericalAlbedo,
double);
75 itkSetMacro(TotalGaseousTransmission,
double);
76 itkGetMacro(TotalGaseousTransmission,
double);
82 itkSetMacro(DownwardTransmittance,
double);
83 itkGetMacro(DownwardTransmittance,
double);
89 itkSetMacro(UpwardTransmittance,
double);
90 itkGetMacro(UpwardTransmittance,
double);
96 itkSetMacro(UpwardDiffuseTransmittance,
double);
97 itkGetMacro(UpwardDiffuseTransmittance,
double);
103 itkSetMacro(UpwardDirectTransmittance,
double);
104 itkGetMacro(UpwardDirectTransmittance,
double);
110 itkSetMacro(UpwardDiffuseTransmittanceForRayleigh,
double);
111 itkGetMacro(UpwardDiffuseTransmittanceForRayleigh,
double);
117 itkSetMacro(UpwardDiffuseTransmittanceForAerosol,
double);
118 itkGetMacro(UpwardDiffuseTransmittanceForAerosol,
double);
124 itkSetMacro(WavelengthSpectralBand,
double);
125 itkGetMacro(WavelengthSpectralBand,
double);
138 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
142 void operator=(
const Self&) =
delete;
225 void SetIntrinsicAtmosphericReflectances(
const DataVectorType& vect);
226 void SetSphericalAlbedos(
const DataVectorType& vect);
227 void SetTotalGaseousTransmissions(
const DataVectorType& vect);
228 void SetDownwardTransmittances(
const DataVectorType& vect);
229 void SetUpwardTransmittances(
const DataVectorType& vect);
232 void SetUpwardDiffuseTransmittances(
const DataVectorType& vect);
233 void SetUpwardDirectTransmittances(
const DataVectorType& vect);
234 void SetUpwardDiffuseTransmittancesForRayleigh(
const DataVectorType& vect);
235 void SetUpwardDiffuseTransmittancesForAerosol(
const DataVectorType& vect);
236 void SetWavelengthSpectralBand(
const DataVectorType& vect);
239 void SetValueByIndex(
unsigned int id,
const ValueType& val);
240 void SetIntrinsicAtmosphericReflectance(
unsigned int id,
const double& val);
241 void SetSphericalAlbedo(
unsigned int id,
const double& val);
242 void SetTotalGaseousTransmission(
unsigned int id,
const double& val);
243 void SetDownwardTransmittance(
unsigned int id,
const double& val);
244 void SetUpwardTransmittance(
unsigned int id,
const double& val);
247 void SetUpwardDiffuseTransmittance(
unsigned int id,
const double& val);
248 void SetUpwardDirectTransmittance(
unsigned int id,
const double& val);
249 void SetUpwardDiffuseTransmittanceForRayleigh(
unsigned int id,
const double& val);
250 void SetUpwardDiffuseTransmittanceForAerosol(
unsigned int id,
const double& val);
251 void SetWavelengthSpectralBand(
unsigned int id,
const double& val);
254 DataVectorType GetIntrinsicAtmosphericReflectances()
const;
255 DataVectorType GetSphericalAlbedos()
const;
256 DataVectorType GetTotalGaseousTransmissions()
const;
257 DataVectorType GetDownwardTransmittances()
const;
258 DataVectorType GetUpwardTransmittances()
const;
261 DataVectorType GetUpwardDiffuseTransmittances()
const;
262 DataVectorType GetUpwardDirectTransmittances()
const;
263 DataVectorType GetUpwardDiffuseTransmittancesForRayleigh()
const;
264 DataVectorType GetUpwardDiffuseTransmittancesForAerosol()
const;
265 DataVectorType GetWavelengthSpectralBand()
const;
268 double GetIntrinsicAtmosphericReflectance(
unsigned int id)
const;
269 double GetSphericalAlbedo(
unsigned int id)
const;
270 double GetTotalGaseousTransmission(
unsigned int id)
const;
271 double GetDownwardTransmittance(
unsigned int id)
const;
272 double GetUpwardTransmittance(
unsigned int id)
const;
273 double GetUpwardDiffuseTransmittance(
unsigned int id)
const;
274 double GetUpwardDirectTransmittance(
unsigned int id)
const;
275 double GetUpwardDiffuseTransmittanceForRayleigh(
unsigned int id)
const;
276 double GetUpwardDiffuseTransmittanceForAerosol(
unsigned int id)
const;
277 double GetWavelengthSpectralBand(
unsigned int id)
const;
280 const ValueType GetValueByIndex(
unsigned int id)
const;
283 void ValuesInitialization(DataVectorSizeType nbChannel);
295 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
299 void operator=(
const Self&) =
delete;