OTB  9.0.0
Orfeo Toolbox
Classes | Public Types | List of all members
otb::SatelliteRSR< TPrecision, TValuePrecision > Class Template Reference

#include <otbSatelliteRSR.h>

+ Inheritance diagram for otb::SatelliteRSR< TPrecision, TValuePrecision >:
+ Collaboration diagram for otb::SatelliteRSR< TPrecision, TValuePrecision >:

Classes

struct  sort_band
 

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef SatelliteRSR Self
 
typedef itk::DataObject Superclass
 
typedef TPrecision PrecisionType
 
typedef TValuePrecision ValuePrecisionType
 
typedef SpectralResponse< TPrecision, TValuePrecision > SpectralResponseType
 
typedef SpectralResponseType::Pointer SpectralResponsePointerType
 
typedef std::vector< SpectralResponsePointerTypeRSRVectorType
 
typedef SpectralResponseType::VectorPairType VectorPairType
 
bool m_SortBands
 
RSRVectorType m_RSR
 
SpectralResponsePointerType m_SolarIrradiance
 
unsigned int m_NbBands
 
static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNbBands () const
 
virtual void SetNbBands (unsigned int _arg)
 
virtual void SetSortBands (bool _arg)
 
virtual bool Clear ()
 
virtual int Size () const
 
void Load (const std::string &filename, ValuePrecisionType coefNormalization=1.0)
 
void Load (PrecisionType lambdaMin, PrecisionType lambdaMax, PrecisionType sampling, ValuePrecisionType coefNormalization=1.0)
 
ValuePrecisionType operator() (const PrecisionType &lambda, const unsigned int numBand)
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
RSRVectorTypeGetRSR ()
 
SpectralResponseTypeGetSolarIrradiance ()
 
 SatelliteRSR ()
 
 ~SatelliteRSR () override
 
 SatelliteRSR (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<class TPrecision = double, class TValuePrecision = double>
class otb::SatelliteRSR< TPrecision, TValuePrecision >

This class represents a hierarchy of vector data.

This class contains an std::vector of spectral response, class otb::SpectralResponse (one for each band of the satellite).

The two templates indicate:

See also
SpectralResponse
itk::DataObject

Definition at line 48 of file otbSatelliteRSR.h.

Member Typedef Documentation

◆ ConstPointer

template<class TPrecision = double, class TValuePrecision = double>
typedef itk::SmartPointer<const Self> otb::SatelliteRSR< TPrecision, TValuePrecision >::ConstPointer

Definition at line 55 of file otbSatelliteRSR.h.

◆ Pointer

template<class TPrecision = double, class TValuePrecision = double>
typedef itk::SmartPointer<Self> otb::SatelliteRSR< TPrecision, TValuePrecision >::Pointer

Definition at line 54 of file otbSatelliteRSR.h.

◆ PrecisionType

template<class TPrecision = double, class TValuePrecision = double>
typedef TPrecision otb::SatelliteRSR< TPrecision, TValuePrecision >::PrecisionType

Template parameters typedef

Definition at line 72 of file otbSatelliteRSR.h.

◆ RSRVectorType

template<class TPrecision = double, class TValuePrecision = double>
typedef std::vector<SpectralResponsePointerType> otb::SatelliteRSR< TPrecision, TValuePrecision >::RSRVectorType

Template parameters typedef

Definition at line 81 of file otbSatelliteRSR.h.

◆ Self

template<class TPrecision = double, class TValuePrecision = double>
typedef SatelliteRSR otb::SatelliteRSR< TPrecision, TValuePrecision >::Self

Standard class typedefs

Definition at line 52 of file otbSatelliteRSR.h.

◆ SpectralResponsePointerType

template<class TPrecision = double, class TValuePrecision = double>
typedef SpectralResponseType::Pointer otb::SatelliteRSR< TPrecision, TValuePrecision >::SpectralResponsePointerType

Template parameters typedef

Definition at line 80 of file otbSatelliteRSR.h.

◆ SpectralResponseType

template<class TPrecision = double, class TValuePrecision = double>
typedef SpectralResponse<TPrecision, TValuePrecision> otb::SatelliteRSR< TPrecision, TValuePrecision >::SpectralResponseType

Template parameters typedef

Definition at line 79 of file otbSatelliteRSR.h.

◆ Superclass

template<class TPrecision = double, class TValuePrecision = double>
typedef itk::DataObject otb::SatelliteRSR< TPrecision, TValuePrecision >::Superclass

Definition at line 53 of file otbSatelliteRSR.h.

◆ ValuePrecisionType

template<class TPrecision = double, class TValuePrecision = double>
typedef TValuePrecision otb::SatelliteRSR< TPrecision, TValuePrecision >::ValuePrecisionType

Template parameters typedef

Definition at line 77 of file otbSatelliteRSR.h.

◆ VectorPairType

template<class TPrecision = double, class TValuePrecision = double>
typedef SpectralResponseType::VectorPairType otb::SatelliteRSR< TPrecision, TValuePrecision >::VectorPairType

Template parameters typedef

Definition at line 82 of file otbSatelliteRSR.h.

Constructor & Destructor Documentation

◆ SatelliteRSR() [1/2]

template<class TPrecision , class TValuePrecision >
otb::SatelliteRSR< TPrecision, TValuePrecision >::SatelliteRSR
protected

Constructor

Definition at line 30 of file otbSatelliteRSR.hxx.

◆ ~SatelliteRSR()

template<class TPrecision = double, class TValuePrecision = double>
otb::SatelliteRSR< TPrecision, TValuePrecision >::~SatelliteRSR ( )
inlineoverrideprotected

Constructor from a ASCII file Destructor

Definition at line 155 of file otbSatelliteRSR.h.

◆ SatelliteRSR() [2/2]

template<class TPrecision = double, class TValuePrecision = double>
otb::SatelliteRSR< TPrecision, TValuePrecision >::SatelliteRSR ( const Self )
privatedelete

Template parameters typedef

Member Function Documentation

◆ Clear()

template<class TPrecision , class TValuePrecision >
bool otb::SatelliteRSR< TPrecision, TValuePrecision >::Clear
virtual

Clear the vector data

Definition at line 119 of file otbSatelliteRSR.hxx.

◆ CreateAnother()

template<class TPrecision = double, class TValuePrecision = double>
virtual::itk::LightObject::Pointer otb::SatelliteRSR< TPrecision, TValuePrecision >::CreateAnother ( void  ) const

Template parameters typedef

◆ GetNameOfClass()

template<class TPrecision = double, class TValuePrecision = double>
virtual const char* otb::SatelliteRSR< TPrecision, TValuePrecision >::GetNameOfClass ( ) const
virtual

Template parameters typedef

◆ GetNbBands()

template<class TPrecision = double, class TValuePrecision = double>
virtual unsigned int otb::SatelliteRSR< TPrecision, TValuePrecision >::GetNbBands ( ) const
virtual

Set the number of band of the satellite from an ASCII file Need to parse first all the file to determine the number of columns

◆ GetRSR()

template<class TPrecision = double, class TValuePrecision = double>
RSRVectorType& otb::SatelliteRSR< TPrecision, TValuePrecision >::GetRSR ( )
inline

get vector of RSR

Definition at line 136 of file otbSatelliteRSR.h.

References otb::SatelliteRSR< TPrecision, TValuePrecision >::m_RSR.

◆ GetSolarIrradiance()

template<class TPrecision = double, class TValuePrecision = double>
SpectralResponseType* otb::SatelliteRSR< TPrecision, TValuePrecision >::GetSolarIrradiance ( )
inline

get the solar irradiance

Definition at line 142 of file otbSatelliteRSR.h.

References otb::SatelliteRSR< TPrecision, TValuePrecision >::m_SolarIrradiance.

◆ Load() [1/2]

template<class TPrecision , class TValuePrecision >
void otb::SatelliteRSR< TPrecision, TValuePrecision >::Load ( const std::string &  filename,
ValuePrecisionType  coefNormalization = 1.0 
)

Fill from a ASCII file (spectral gauge)

Definition at line 38 of file otbSatelliteRSR.hxx.

◆ Load() [2/2]

template<class TPrecision , class TValuePrecision >
void otb::SatelliteRSR< TPrecision, TValuePrecision >::Load ( PrecisionType  lambdaMin,
PrecisionType  lambdaMax,
PrecisionType  sampling,
ValuePrecisionType  coefNormalization = 1.0 
)

Fill from user defined criteria (sampling band from lambdaMin to lambdaMax with Bandwidth width)

Definition at line 86 of file otbSatelliteRSR.hxx.

◆ New()

template<class TPrecision = double, class TValuePrecision = double>
static Pointer otb::SatelliteRSR< TPrecision, TValuePrecision >::New ( )
static

Standard macros

◆ operator()()

template<class TPrecision , class TValuePrecision >
SatelliteRSR< TPrecision, TValuePrecision >::ValuePrecisionType otb::SatelliteRSR< TPrecision, TValuePrecision >::operator() ( const PrecisionType lambda,
const unsigned int  numBand 
)
inline
Parameters
PrecisionType
Band
Returns
The interpolated value of the SR for the numBand (band num 0 to band num (m_NbBands-1)).

Definition at line 132 of file otbSatelliteRSR.hxx.

◆ operator=()

template<class TPrecision = double, class TValuePrecision = double>
void otb::SatelliteRSR< TPrecision, TValuePrecision >::operator= ( const Self )
privatedelete

Template parameters typedef

◆ PrintSelf()

template<class TPrecision , class TValuePrecision >
void otb::SatelliteRSR< TPrecision, TValuePrecision >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
override

PrintSelf method

Definition at line 147 of file otbSatelliteRSR.hxx.

◆ SetNbBands()

template<class TPrecision = double, class TValuePrecision = double>
virtual void otb::SatelliteRSR< TPrecision, TValuePrecision >::SetNbBands ( unsigned int  _arg)
virtual

Template parameters typedef

◆ SetSortBands()

template<class TPrecision = double, class TValuePrecision = double>
virtual void otb::SatelliteRSR< TPrecision, TValuePrecision >::SetSortBands ( bool  _arg)
virtual

Template parameters typedef

◆ Size()

template<class TPrecision , class TValuePrecision >
int otb::SatelliteRSR< TPrecision, TValuePrecision >::Size
virtual

Return the number of element in the vector (nb bands)

Definition at line 126 of file otbSatelliteRSR.hxx.

Member Data Documentation

◆ m_NbBands

template<class TPrecision = double, class TValuePrecision = double>
unsigned int otb::SatelliteRSR< TPrecision, TValuePrecision >::m_NbBands
private

Number of bands

Definition at line 170 of file otbSatelliteRSR.h.

◆ m_RSR

template<class TPrecision = double, class TValuePrecision = double>
RSRVectorType otb::SatelliteRSR< TPrecision, TValuePrecision >::m_RSR
private

◆ m_SolarIrradiance

template<class TPrecision = double, class TValuePrecision = double>
SpectralResponsePointerType otb::SatelliteRSR< TPrecision, TValuePrecision >::m_SolarIrradiance
private

Solar irradiance vector

Definition at line 167 of file otbSatelliteRSR.h.

Referenced by otb::SatelliteRSR< TPrecision, TValuePrecision >::GetSolarIrradiance().

◆ m_SortBands

template<class TPrecision = double, class TValuePrecision = double>
bool otb::SatelliteRSR< TPrecision, TValuePrecision >::m_SortBands
protected

Template parameters typedef

Definition at line 155 of file otbSatelliteRSR.h.


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