OTB  9.0.0
Orfeo Toolbox
Public Types | List of all members
otb::SailModel Class Reference

#include <otbSailModel.h>

+ Inheritance diagram for otb::SailModel:
+ Collaboration diagram for otb::SailModel:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
 
typedef Superclass::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef SailModel Self
 
typedef Superclass::SpectralResponseType SpectralResponseType
 
typedef SimulationStep2Base Superclass
 
typedef std::vector< double > VectorType
 
- Public Types inherited from otb::SimulationStep2Base
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::Array< ParametersValueTypeParametersType
 
typedef double ParametersValueType
 
typedef itk::SmartPointer< SelfPointer
 
typedef SimulationStep2Base Self
 
typedef SpectralResponse< double, double > SpectralResponseType
 
typedef itk::ProcessObject Superclass
 
double m_LAI
 
double m_Angl
 
double m_PSoil
 
double m_Skyl
 
double m_HSpot
 
double m_TTS
 
double m_TTO
 
double m_PSI
 
double m_FCoverView
 
bool m_UseSoilFile
 
vcl_size_t m_SoilIndex
 
std::shared_ptr< SoilDataBasem_SoilDataBase
 
static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
void SetReflectance (const SpectralResponseType *object) override
 
SpectralResponseTypeGetReflectance ()
 
void SetTransmittance (const SpectralResponseType *object) override
 
SpectralResponseTypeGetTransmittance ()
 
virtual void SetLAI (double _arg)
 
virtual double GetLAI ()
 
virtual void SetAngl (double _arg)
 
virtual double GetAngl ()
 
virtual void SetPSoil (double _arg)
 
virtual double GetPSoil ()
 
virtual void SetSkyl (double _arg)
 
virtual double GetSkyl ()
 
virtual void SetHSpot (double _arg)
 
virtual double GetHSpot ()
 
virtual void SetTTS (double _arg)
 
virtual double GetTTS ()
 
virtual void SetTTO (double _arg)
 
virtual double GetTTO ()
 
virtual void SetPSI (double _arg)
 
virtual double GetPSI ()
 
virtual double GetFCoverView ()
 
void UseExternalSoilDB (std::shared_ptr< SoilDataBase > SoilDB, vcl_size_t SoilIndex)
 
void GenerateData () override
 
virtual SpectralResponseTypeGetViewingReflectance ()
 
virtual SpectralResponseTypeGetHemisphericalReflectance ()
 
virtual SpectralResponseTypeGetViewingAbsorptance ()
 
virtual SpectralResponseTypeGetHemisphericalAbsorptance ()
 
const ParametersType GetInput ()
 
void SetInput (const ParametersType &)
 
 SailModel ()
 
 ~SailModel () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
DataObjectPointer MakeOutput (DataObjectPointerArraySizeType) override
 
void Calc_LIDF (const double a, VectorType &lidf) const
 
void Campbell (const double ala, VectorType &freq) const
 
double Jfunc1 (const double k, const double l, const double t) const
 
double Jfunc2 (const double k, const double l, const double t) const
 
double Jfunc3 (const double k, const double l, const double t) const
 
void Volscatt (const double tts, const double tto, const double psi, const double ttl, VectorType &result) const
 
 SailModel (const Self &)=delete
 
void operator= (const Self &)=delete
 

Additional Inherited Members

- Public Member Functions inherited from otb::SimulationStep2Base
virtual ParametersType GetParameters ()
 
virtual void SetParameters (ParametersType _arg)
 
- Protected Member Functions inherited from otb::SimulationStep2Base
 SimulationStep2Base ()
 
 ~SimulationStep2Base () override
 

Detailed Description

This class implements the SAIL model (see http://teledetection.ipgp.jussieu.fr/prosail/).

Hemispherical and viewing reflectances and absorptances are computed from 400 to 2500 nm (step 1nm). Input Reflectance and transmittance must be spectrum (otbSpectralResponse) from 400 nm to 2500 nm with step 1nm.

See also
itk::ProcessObject
SimulationStep2Base

Definition at line 46 of file otbSailModel.h.

Member Typedef Documentation

◆ ConstPointer

typedef itk::SmartPointer<const Self> otb::SailModel::ConstPointer

Definition at line 53 of file otbSailModel.h.

◆ DataObjectPointerArraySizeType

typedef itk::ProcessObject::DataObjectPointerArraySizeType otb::SailModel::DataObjectPointerArraySizeType

Definition at line 59 of file otbSailModel.h.

◆ ParametersType

Definition at line 57 of file otbSailModel.h.

◆ Pointer

typedef itk::SmartPointer<Self> otb::SailModel::Pointer

Definition at line 52 of file otbSailModel.h.

◆ Self

Standard class typedefs

Definition at line 50 of file otbSailModel.h.

◆ SpectralResponseType

Definition at line 55 of file otbSailModel.h.

◆ Superclass

Definition at line 51 of file otbSailModel.h.

◆ VectorType

typedef std::vector<double> otb::SailModel::VectorType

Definition at line 56 of file otbSailModel.h.

Constructor & Destructor Documentation

◆ SailModel() [1/2]

otb::SailModel::SailModel ( )
protected

Constructor

◆ ~SailModel()

otb::SailModel::~SailModel ( )
overrideprotected

Destructor

◆ SailModel() [2/2]

otb::SailModel::SailModel ( const Self )
privatedelete

Standard macros

Member Function Documentation

◆ Calc_LIDF()

void otb::SailModel::Calc_LIDF ( const double  a,
VectorType lidf 
) const
protected

Compute Leaf Angle Distribution

◆ Campbell()

void otb::SailModel::Campbell ( const double  ala,
VectorType freq 
) const
protected

Standard macros

◆ CreateAnother()

virtual::itk::LightObject::Pointer otb::SailModel::CreateAnother ( void  ) const

Standard macros

◆ GenerateData()

void otb::SailModel::GenerateData ( )
override

GenerateData

◆ GetAngl()

virtual double otb::SailModel::GetAngl ( )
virtual

Standard macros

◆ GetFCoverView()

virtual double otb::SailModel::GetFCoverView ( )
virtual

Get the computed fcover

◆ GetHemisphericalAbsorptance()

virtual SpectralResponseType* otb::SailModel::GetHemisphericalAbsorptance ( )
virtual

Standard macros

◆ GetHemisphericalReflectance()

virtual SpectralResponseType* otb::SailModel::GetHemisphericalReflectance ( )
virtual

Standard macros

◆ GetHSpot()

virtual double otb::SailModel::GetHSpot ( )
virtual

Standard macros

◆ GetInput()

const ParametersType otb::SailModel::GetInput ( )

Standard macros

◆ GetLAI()

virtual double otb::SailModel::GetLAI ( )
virtual

Standard macros

◆ GetNameOfClass()

virtual const char* otb::SailModel::GetNameOfClass ( ) const
virtual

Standard macros

Reimplemented from otb::SimulationStep2Base.

◆ GetPSI()

virtual double otb::SailModel::GetPSI ( )
virtual

Standard macros

◆ GetPSoil()

virtual double otb::SailModel::GetPSoil ( )
virtual

Standard macros

◆ GetReflectance()

SpectralResponseType* otb::SailModel::GetReflectance ( )

Standard macros

◆ GetSkyl()

virtual double otb::SailModel::GetSkyl ( )
virtual

Standard macros

◆ GetTransmittance()

SpectralResponseType* otb::SailModel::GetTransmittance ( )

Standard macros

◆ GetTTO()

virtual double otb::SailModel::GetTTO ( )
virtual

Standard macros

◆ GetTTS()

virtual double otb::SailModel::GetTTS ( )
virtual

Standard macros

◆ GetViewingAbsorptance()

virtual SpectralResponseType* otb::SailModel::GetViewingAbsorptance ( )
virtual

Standard macros

◆ GetViewingReflectance()

virtual SpectralResponseType* otb::SailModel::GetViewingReflectance ( )
virtual

Get Output

◆ Jfunc1()

double otb::SailModel::Jfunc1 ( const double  k,
const double  l,
const double  t 
) const
protected

J functions

◆ Jfunc2()

double otb::SailModel::Jfunc2 ( const double  k,
const double  l,
const double  t 
) const
protected

Standard macros

◆ Jfunc3()

double otb::SailModel::Jfunc3 ( const double  k,
const double  l,
const double  t 
) const
protected

Standard macros

◆ MakeOutput()

DataObjectPointer otb::SailModel::MakeOutput ( DataObjectPointerArraySizeType  )
overrideprotected

Standard macros

◆ New()

static Pointer otb::SailModel::New ( )
static

Standard macros

◆ operator=()

void otb::SailModel::operator= ( const Self )
privatedelete

Standard macros

◆ PrintSelf()

void otb::SailModel::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

PrintSelf method

◆ SetAngl()

virtual void otb::SailModel::SetAngl ( double  _arg)
virtual

Set/Get average leaf angle (deg)

◆ SetHSpot()

virtual void otb::SailModel::SetHSpot ( double  _arg)
virtual

Set/Get hot spot

◆ SetInput()

void otb::SailModel::SetInput ( const ParametersType )

Standard macros

◆ SetLAI()

virtual void otb::SailModel::SetLAI ( double  _arg)
virtual

Set parameters Set/Get leaf area index

◆ SetPSI()

virtual void otb::SailModel::SetPSI ( double  _arg)
virtual

Set/Get azimuth(deg)

◆ SetPSoil()

virtual void otb::SailModel::SetPSoil ( double  _arg)
virtual

Set/Get soil coefficient

◆ SetReflectance()

void otb::SailModel::SetReflectance ( const SpectralResponseType object)
overridevirtual

Set Inputs

Implements otb::SimulationStep2Base.

◆ SetSkyl()

virtual void otb::SailModel::SetSkyl ( double  _arg)
virtual

Set/Get diffuse/direct radiation

◆ SetTransmittance()

void otb::SailModel::SetTransmittance ( const SpectralResponseType object)
overridevirtual

Standard macros

Implements otb::SimulationStep2Base.

◆ SetTTO()

virtual void otb::SailModel::SetTTO ( double  _arg)
virtual

Set/Get observer zenith angle (deg)

◆ SetTTS()

virtual void otb::SailModel::SetTTS ( double  _arg)
virtual

Set/Get solar zenith angle (deg)

◆ UseExternalSoilDB()

void otb::SailModel::UseExternalSoilDB ( std::shared_ptr< SoilDataBase SoilDB,
vcl_size_t  SoilIndex 
)

Use an external soil DB

◆ Volscatt()

void otb::SailModel::Volscatt ( const double  tts,
const double  tto,
const double  psi,
const double  ttl,
VectorType result 
) const
protected

Volscatt

Member Data Documentation

◆ m_Angl

double otb::SailModel::m_Angl
private

Standard macros

Definition at line 169 of file otbSailModel.h.

◆ m_FCoverView

double otb::SailModel::m_FCoverView
private

Standard macros

Definition at line 176 of file otbSailModel.h.

◆ m_HSpot

double otb::SailModel::m_HSpot
private

Standard macros

Definition at line 172 of file otbSailModel.h.

◆ m_LAI

double otb::SailModel::m_LAI
private

Standard macros

Definition at line 168 of file otbSailModel.h.

◆ m_PSI

double otb::SailModel::m_PSI
private

Standard macros

Definition at line 175 of file otbSailModel.h.

◆ m_PSoil

double otb::SailModel::m_PSoil
private

Standard macros

Definition at line 170 of file otbSailModel.h.

◆ m_Skyl

double otb::SailModel::m_Skyl
private

Standard macros

Definition at line 171 of file otbSailModel.h.

◆ m_SoilDataBase

std::shared_ptr<SoilDataBase> otb::SailModel::m_SoilDataBase
private

Standard macros

Definition at line 179 of file otbSailModel.h.

◆ m_SoilIndex

vcl_size_t otb::SailModel::m_SoilIndex
private

Standard macros

Definition at line 178 of file otbSailModel.h.

◆ m_TTO

double otb::SailModel::m_TTO
private

Standard macros

Definition at line 174 of file otbSailModel.h.

◆ m_TTS

double otb::SailModel::m_TTS
private

Standard macros

Definition at line 173 of file otbSailModel.h.

◆ m_UseSoilFile

bool otb::SailModel::m_UseSoilFile
private

Standard macros

Definition at line 177 of file otbSailModel.h.


The documentation for this class was generated from the following file: