OTB  6.7.0
Orfeo Toolbox
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
otb::ReduceSpectralResponse< TSpectralResponse, TRSR > Class Template Reference

#include <otbReduceSpectralResponse.h>

+ Inheritance diagram for otb::ReduceSpectralResponse< TSpectralResponse, TRSR >:
+ Collaboration diagram for otb::ReduceSpectralResponse< TSpectralResponse, TRSR >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef InputRSRType::Pointer InputRSRPointerType
 
typedef TRSR InputRSRType
 
typedef
InputSpectralResponseType::Pointer 
InputSpectralResponsePointerType
 
typedef TSpectralResponse InputSpectralResponseType
 
typedef
InputSpectralResponseType::PairType 
PairType
 
typedef itk::SmartPointer< SelfPointer
 
typedef InputRSRType::PrecisionType PrecisionType
 
typedef std::vector
< ValuePrecisionType
ReduceSpectralResponseVectorType
 
typedef InputRSRType::RSRVectorType RSRVectorType
 
typedef ReduceSpectralResponse Self
 
typedef itk::DataObject Superclass
 
typedef
InputRSRType::ValuePrecisionType 
ValuePrecisionType
 
typedef
InputSpectralResponseType::VectorPairType 
VectorPairType
 
- Public Types inherited from itk::DataObject
typedef SmartPointer< const SelfConstPointer
 
typedef std::string DataObjectIdentifierType
 
typedef std::vector< Pointer >
::size_type 
DataObjectPointerArraySizeType
 
typedef SmartPointer< SelfPointer
 
typedef DataObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

void CalculateResponse ()
 
virtual bool Clear ()
 
virtual const InputRSRTypeGetInputSatRSR () const
 
virtual const
InputSpectralResponseType
GetInputSpectralResponse () const
 
virtual bool GetReflectanceMode () const
 
void LoadInputsFromFiles (const std::string &spectralResponseFile, const std::string &RSRFile, const unsigned int nbRSRBands, ValuePrecisionType coefNormSpectre=1.0, ValuePrecisionType coefNormRSR=1.0)
 
ValuePrecisionType operator() (const unsigned int numBand)
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual void SetInputSatRSR (InputRSRType *_arg)
 
virtual void SetInputSpectralResponse (InputSpectralResponseType *_arg)
 
virtual void SetReflectanceMode (bool _arg)
 
 itkGetObjectMacro (ReduceResponse, InputSpectralResponseType)
 
- Public Member Functions inherited from itk::DataObject
virtual void CopyInformation (const DataObject *)
 
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual const RealTimeStampGetRealTimeStamp () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointerForwardReference
< ProcessObject
GetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void Graft (const DataObject *)
 
virtual void Initialize ()
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOff ()
 
virtual void ReleaseDataFlagOn ()
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
 
virtual void ResetPipeline ()
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
void SetReleaseDataFlag (bool flag)
 
virtual void SetRequestedRegion (const DataObject *)
 
virtual void SetRequestedRegionToLargestPossibleRegion ()
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
virtual bool VerifyRequestedRegion ()
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
virtual ModifiedTimeType GetMTime () const
 
virtual const std::string & GetObjectName () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Protected Member Functions

 ReduceSpectralResponse ()
 
 ~ReduceSpectralResponse () override
 
- Protected Member Functions inherited from itk::DataObject
 DataObject ()
 
virtual void PropagateResetPipeline ()
 
 ~DataObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

InputRSRPointerType m_InputSatRSR
 
InputSpectralResponsePointerType m_InputSpectralResponse
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Private Member Functions

void operator= (const Self &)=delete
 
 ReduceSpectralResponse (const Self &)=delete
 

Private Attributes

InputSpectralResponsePointerType m_ReduceResponse
 
bool m_ReflectanceMode
 
static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::DataObject
static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Detailed Description

template<class TSpectralResponse, class TRSR>
class otb::ReduceSpectralResponse< TSpectralResponse, TRSR >

This class computes the reduced spectral response of each band of a sensor.

It takes the spectral response of an object and the relative spectral response of a satellite (one response per band) to compute the satellite spectral bands.

There are 2 operating modes:

The two templates indicate:

The computation assumes that the RSR of the sensor has a wavelength resolution similar or better than the spectral response to be reduced. If this is not the case, it is wise to oversample it (by linear interpolation, for instance).

The method CalculateResponse must be called.

See Also
itk::DataObject
SpectralResponse
SatelliteRSR

Definition at line 64 of file otbReduceSpectralResponse.h.

Member Typedef Documentation

template<class TSpectralResponse, class TRSR>
typedef itk::SmartPointer<const Self> otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::ConstPointer

Definition at line 73 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputRSRType::Pointer otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::InputRSRPointerType

Definition at line 80 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef TRSR otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::InputRSRType

Definition at line 77 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputSpectralResponseType::Pointer otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::InputSpectralResponsePointerType

Definition at line 81 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef TSpectralResponse otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::InputSpectralResponseType

Template parameters typedef

Definition at line 76 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputSpectralResponseType::PairType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::PairType

Definition at line 79 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef itk::SmartPointer<Self> otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::Pointer

Definition at line 72 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputRSRType::PrecisionType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::PrecisionType

Definition at line 83 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef std::vector<ValuePrecisionType> otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::ReduceSpectralResponseVectorType

Definition at line 90 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputRSRType::RSRVectorType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::RSRVectorType

Definition at line 89 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef ReduceSpectralResponse otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::Self

Standard class typedefs

Definition at line 70 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef itk::DataObject otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::Superclass

Definition at line 71 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputRSRType::ValuePrecisionType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::ValuePrecisionType

Definition at line 84 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
typedef InputSpectralResponseType::VectorPairType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::VectorPairType

Definition at line 86 of file otbReduceSpectralResponse.h.

Constructor & Destructor Documentation

template<class TSpectralResponse , class TRSR >
otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::ReduceSpectralResponse ( )
protected
template<class TSpectralResponse, class TRSR>
otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::~ReduceSpectralResponse ( )
inlineoverrideprotected

Constructor from a ASCII file Destructor

Definition at line 141 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::ReduceSpectralResponse ( const Self )
privatedelete

Member Function Documentation

template<class TSpectralResponse , class TRSR >
void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::CalculateResponse ( )

Calculate the vector response for each band of the sensor

Definition at line 142 of file otbReduceSpectralResponse.hxx.

template<class TSpectralResponse , class TRSR >
bool otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::Clear ( void  )
virtual

Clear the vector data

Definition at line 41 of file otbReduceSpectralResponse.hxx.

template<class TSpectralResponse, class TRSR>
virtual::itk::LightObject::Pointer otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::CreateAnother ( void  ) const
virtual

Standard macros

Reimplemented from itk::Object.

template<class TSpectralResponse, class TRSR>
virtual const InputRSRType* otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::GetInputSatRSR ( ) const
virtual
template<class TSpectralResponse, class TRSR>
virtual const InputSpectralResponseType* otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::GetInputSpectralResponse ( ) const
virtual
template<class TSpectralResponse, class TRSR>
virtual const char* otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::GetNameOfClass ( ) const
virtual

Standard macros

Reimplemented from itk::DataObject.

template<class TSpectralResponse, class TRSR>
virtual bool otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::GetReflectanceMode ( ) const
virtual
template<class TSpectralResponse, class TRSR>
otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::itkGetObjectMacro ( ReduceResponse  ,
InputSpectralResponseType   
)

The GetReduceResponse method gives the output. The first value in the pair is the central wavelength of the band (see SpectralResponse).

template<class TSpectralResponse , class TRSR >
void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::LoadInputsFromFiles ( const std::string &  spectralResponseFile,
const std::string &  RSRFile,
const unsigned int  nbRSRBands,
ValuePrecisionType  coefNormSpectre = 1.0,
ValuePrecisionType  coefNormRSR = 1.0 
)

Create and load Spectral response and satellite RSR from files

Load the spectral response file

Set the satellite number of bands

Load the satellite response file

Definition at line 166 of file otbReduceSpectralResponse.hxx.

template<class TSpectralResponse, class TRSR>
static Pointer otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::New ( )
static

Standard macros

template<class TSpectralResponse , class TRSR >
ReduceSpectralResponse< TSpectralResponse, TRSR >::ValuePrecisionType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::operator() ( const unsigned int  numBand)
inline
Parameters
PrecisionType
Returns
The integrated value of the RSR for the input spectral response.

Definition at line 72 of file otbReduceSpectralResponse.hxx.

References otb::trapezoid_area(), and itk::NumericTraits< T >::ZeroValue().

template<class TSpectralResponse, class TRSR>
void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::operator= ( const Self )
privatedelete
template<class TSpectralResponse , class TRSR >
void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overridevirtual

PrintSelf method

Reimplemented from itk::DataObject.

Definition at line 185 of file otbReduceSpectralResponse.hxx.

template<class TSpectralResponse, class TRSR>
virtual void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::SetInputSatRSR ( InputRSRType _arg)
virtual
template<class TSpectralResponse, class TRSR>
virtual void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::SetInputSpectralResponse ( InputSpectralResponseType _arg)
virtual
template<class TSpectralResponse, class TRSR>
virtual void otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::SetReflectanceMode ( bool  _arg)
virtual

Member Data Documentation

template<class TSpectralResponse, class TRSR>
InputRSRPointerType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::m_InputSatRSR
protected

PrintSelf method Input relative spectral sensor model of response

Definition at line 144 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
InputSpectralResponsePointerType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::m_InputSpectralResponse
protected

Input spectral response (usually from a library)

Definition at line 153 of file otbReduceSpectralResponse.h.

template<class TSpectralResponse, class TRSR>
InputSpectralResponsePointerType otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::m_ReduceResponse
private
template<class TSpectralResponse, class TRSR>
bool otb::ReduceSpectralResponse< TSpectralResponse, TRSR >::m_ReflectanceMode
private

Choose between reflectance or radiance mode

Definition at line 163 of file otbReduceSpectralResponse.h.


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