|
OTB
9.0.0
Orfeo Toolbox
|
Go to the documentation of this file.
22 #ifndef otbSurfaceReflectanceToReflectanceFilter_h
23 #define otbSurfaceReflectanceToReflectanceFilter_h
29 #include "itkMetaDataDictionary.h"
44 template <
class TInput,
class TOutput>
45 class ReflectanceToSurfaceReflectanceImageFunctor
106 double temp, temp1, temp2;
125 temp2 += temp1 *
m_Coefficient *
static_cast<double>(inPixel);
128 outPixel =
static_cast<TOutput
>(temp2);
165 template <
class TInputImage,
class TOutputImage>
168 TInputImage, TOutputImage,
169 typename Functor::ReflectanceToSurfaceReflectanceImageFunctor<typename TInputImage::InternalPixelType, typename TOutputImage::InternalPixelType>>
173 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
174 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
227 m_AtmosphericRadiativeTerms = atmoRadTerms;
228 this->SetNthInput(1, m_AtmosphericRadiativeTerms);
229 m_IsSetAtmosphericRadiativeTerms =
true;
238 m_AtmoCorrectionParameters = atmoCorrTerms;
239 this->SetNthInput(2, m_AtmoCorrectionParameters);
240 m_IsSetAtmoCorrectionParameters =
true;
243 itkGetObjectMacro(AtmoCorrectionParameters, AtmoCorrectionParametersType);
249 m_AcquiCorrectionParameters = acquiCorrTerms;
250 this->SetNthInput(3, m_AcquiCorrectionParameters);
251 m_IsSetAcquiCorrectionParameters =
true;
258 void GenerateParameters();
261 itkSetMacro(UseGenerateParameters,
bool);
262 itkGetMacro(UseGenerateParameters,
bool);
266 itkSetMacro(IsSetAtmosphericRadiativeTerms,
bool);
267 itkGetMacro(IsSetAtmosphericRadiativeTerms,
bool);
280 void BeforeThreadedGenerateData()
override;
283 void UpdateAtmosphericRadiativeTerms();
286 void UpdateFunctors();
289 void Modified()
const override;
309 #ifndef OTB_MANUAL_INSTANTIATION
otb::AtmosphericCorrectionParameters AtmoCorrectionParametersType
otb::FilterFunctionValues FilterFunctionValuesType
virtual ~ReflectanceToSurfaceReflectanceImageFunctor()
This class is a vector of AtmosphericRadiativeTermsSingleChannel, it contains all atmospheric radiati...
TOutputImage OutputImageType
AtmosphericRadiativeTermsType::Pointer AtmosphericRadiativeTermsPointerType
SurfaceReflectanceToReflectanceFilter Self
bool m_UseGenerateParameters
bool m_IsSetAcquiCorrectionParameters
AtmosphericRadiativeTermsPointerType m_AtmosphericRadiativeTerms
itk::MetaDataDictionary MetaDataDictionaryType
void SetAtmosphericRadiativeTerms(AtmosphericRadiativeTermsPointerType atmoRadTerms)
Compute the surface reflectance pixel from a TOA reflectance.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
ReflectanceToSurfaceReflectanceImageFunctor Self
OutputImageType::RegionType OutputImageRegionType
void SetCoefficient(double coef)
bool m_IsSetAtmoCorrectionParameters
AtmoCorrectionParametersPointerType m_AtmoCorrectionParameters
double GetSphericalAlbedo()
This class contains the values of the filter function for the processed spectral band.
void SetResidu(double res)
itk::SmartPointer< const Self > ConstPointer
void SetSphericalAlbedo(double albedo)
Applies a functor to a VectorImage.
FilterFunctionValuesType::ValuesVectorType ValuesVectorType
bool m_FunctorParametersHaveBeenComputed
TOutput operator()(const TInput &inPixel)
Calculates the slope, the orientation incidence and exitance radius values for each pixel.
InputImageType::RegionType InputImageRegionType
AcquiCorrectionParametersPointerType m_AcquiCorrectionParameters
itk::SmartPointer< Self > Pointer
float WavelengthSpectralBandType
InputImageType::PixelType InputPixelType
AcquiCorrectionParametersType::WavelengthSpectralBandVectorType WavelengthSpectralBandVectorType
~SurfaceReflectanceToReflectanceFilter() override
bool m_IsSetAtmosphericRadiativeTerms
otb::ImageMetadataCorrectionParameters AcquiCorrectionParametersType
itk::SmartPointer< Self > Pointer
OutputImageType::PixelType OutputPixelType
void SetAcquiCorrectionParameters(AcquiCorrectionParametersPointerType acquiCorrTerms)
FilterFunctionValuesType::WavelengthSpectralBandType ValueType
itk::SmartPointer< Self > Pointer
Functor::ReflectanceToSurfaceReflectanceImageFunctor< typename InputImageType::InternalPixelType, typename OutputImageType::InternalPixelType > FunctorType
ReflectanceToSurfaceReflectanceImageFunctor()
OutputImageType::InternalPixelType OutputInternalPixelType
UnaryImageFunctorWithVectorImageFilter< InputImageType, OutputImageType, FunctorType > Superclass
void SetAtmoCorrectionParameters(AtmoCorrectionParametersPointerType atmoCorrTerms)
AcquiCorrectionParametersType::Pointer AcquiCorrectionParametersPointerType
This class contains all atmospheric correction parameters.
InputImageType::InternalPixelType InputInternalPixelType
otb::AtmosphericRadiativeTerms AtmosphericRadiativeTermsType
TInputImage InputImageType
otb::RadiometryCorrectionParametersToAtmosphericRadiativeTerms CorrectionParametersToRadiativeTermsType
AtmoCorrectionParametersType::Pointer AtmoCorrectionParametersPointerType
bool operator!=(const Self &func) const
std::vector< WavelengthSpectralBandType > ValuesVectorType
bool operator==(const Self &func) const