OTB  6.7.0
Orfeo Toolbox
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::SpectralResponse< TPrecision, TValuePrecision > Class Template Reference

#include <otbSpectralResponse.h>

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

Classes

struct  sort_pair
 

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef itk::SmartPointer
< FilterFunctionValuesType
FilterFunctionValuesPointerType
 
typedef otb::FilterFunctionValues FilterFunctionValuesType
 
typedef ImageType::Pointer ImagePointerType
 
typedef otb::VectorImage
< TValuePrecision, 2 > 
ImageType
 
typedef std::pair< TPrecision,
TPrecision > 
IntervalType
 
typedef
itk::ImageRegionIterator
< ImageType
IteratorType
 
typedef std::pair< TPrecision,
TValuePrecision > 
PairType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TPrecision PrecisionType
 
typedef SpectralResponse Self
 
typedef itk::DataObject Superclass
 
typedef TValuePrecision ValuePrecisionType
 
typedef std::vector< PairTypeVectorPairType
 
- 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

virtual bool Clear ()
 
FilterFunctionValuesPointerType GetFilterFunctionValues (double step=0.0025)
 
ImagePointerType GetImage (ImagePointerType image) const
 
VectorPairTypeGetResponse ()
 
virtual TPrecision GetSensitivityThreshold () const
 
virtual bool GetUsePosGuess () const
 
void Load (const std::string &filename, ValuePrecisionType coefNormalization=1.0)
 
ValuePrecisionType operator() (const PrecisionType &lambda)
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void SetFromImage (ImagePointerType image)
 
void SetPosGuessMin (const PrecisionType &lambda)
 
void SetResponse (const VectorPairType &resp)
 
virtual void SetSensitivityThreshold (TPrecision _arg)
 
virtual void SetUsePosGuess (bool _arg)
 
virtual unsigned int Size () const
 
IntervalType GetInterval ()
 
- 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

void ComputeInterval ()
 
 SpectralResponse ()
 
 ~SpectralResponse () 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

IntervalType m_Interval
 
bool m_IntervalComputed
 
unsigned long m_PosGuess
 
VectorPairType m_Response
 
TPrecision m_SensitivityThreshold
 
bool m_UsePosGuess
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Private Member Functions

void operator= (const Self &)=delete
 
 SpectralResponse (const Self &)=delete
 
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 TPrecision = double, class TValuePrecision = double>
class otb::SpectralResponse< TPrecision, TValuePrecision >

This class represents the spectral response of an object (or a satellite band).

This class contains a SORTED std::vector of std::pair values. The first argument of the pair is a wavelength lambda (in micro meters). The second argument of the pair is the reflectance response associated to lambda.

The two templates indicate:

This Spectral response can be loaded from ASCII file (JPL spectral library Version 1.2) http://speclib.jpl.nasa.gov.

See Also
itk::DataObject

Definition at line 57 of file otbSpectralResponse.h.

Member Typedef Documentation

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

Definition at line 64 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef itk::SmartPointer<FilterFunctionValuesType> otb::SpectralResponse< TPrecision, TValuePrecision >::FilterFunctionValuesPointerType

Definition at line 81 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef otb::FilterFunctionValues otb::SpectralResponse< TPrecision, TValuePrecision >::FilterFunctionValuesType

Standard filter functions values typedef

Definition at line 80 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef ImageType::Pointer otb::SpectralResponse< TPrecision, TValuePrecision >::ImagePointerType

Definition at line 76 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef otb::VectorImage<TValuePrecision, 2> otb::SpectralResponse< TPrecision, TValuePrecision >::ImageType

Standard image typedef

Definition at line 75 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef std::pair<TPrecision, TPrecision> otb::SpectralResponse< TPrecision, TValuePrecision >::IntervalType

Definition at line 83 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef itk::ImageRegionIterator<ImageType> otb::SpectralResponse< TPrecision, TValuePrecision >::IteratorType

Definition at line 77 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef std::pair<TPrecision, TValuePrecision> otb::SpectralResponse< TPrecision, TValuePrecision >::PairType

Definition at line 70 of file otbSpectralResponse.h.

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

Definition at line 63 of file otbSpectralResponse.h.

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

Template parameters typedef

Definition at line 67 of file otbSpectralResponse.h.

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

Standard class typedefs

Definition at line 61 of file otbSpectralResponse.h.

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

Definition at line 62 of file otbSpectralResponse.h.

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

Definition at line 68 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
typedef std::vector<PairType> otb::SpectralResponse< TPrecision, TValuePrecision >::VectorPairType

Definition at line 72 of file otbSpectralResponse.h.

Constructor & Destructor Documentation

template<class TPrecision , class TValuePrecision >
otb::SpectralResponse< TPrecision, TValuePrecision >::SpectralResponse ( )
protected

Constructor

Definition at line 35 of file otbSpectralResponse.hxx.

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

Constructor from a ASCII file Destructor

Definition at line 170 of file otbSpectralResponse.h.

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

Member Function Documentation

template<class TPrecision , class TValuePrecision >
bool otb::SpectralResponse< TPrecision, TValuePrecision >::Clear ( void  )
virtual

Clear the vector of data pairs

Definition at line 81 of file otbSpectralResponse.hxx.

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

Standard macros

Reimplemented from itk::Object.

template<class TPrecision , class TValuePrecision >
SpectralResponse< TPrecision, TValuePrecision >::FilterFunctionValuesPointerType otb::SpectralResponse< TPrecision, TValuePrecision >::GetFilterFunctionValues ( double  step = 0.0025)

Transform the SR in a Filter Function (6S parameters)

Definition at line 243 of file otbSpectralResponse.hxx.

template<class TPrecision , class TValuePrecision >
SpectralResponse< TPrecision, TValuePrecision >::ImagePointerType otb::SpectralResponse< TPrecision, TValuePrecision >::GetImage ( ImagePointerType  image) const

Drop null value of reflectance in the Vector Transform the SR in a image to compute the TOA reflectance

Definition at line 185 of file otbSpectralResponse.hxx.

References itk::VariableLengthVector< TValue >::SetSize().

template<class TPrecision = double, class TValuePrecision = double>
IntervalType otb::SpectralResponse< TPrecision, TValuePrecision >::GetInterval ( )
inline
template<class TPrecision = double, class TValuePrecision = double>
virtual const char* otb::SpectralResponse< TPrecision, TValuePrecision >::GetNameOfClass ( ) const
virtual

Standard macros

Reimplemented from itk::DataObject.

template<class TPrecision = double, class TValuePrecision = double>
VectorPairType& otb::SpectralResponse< TPrecision, TValuePrecision >::GetResponse ( )
inline

get vector of spectral responses

Definition at line 110 of file otbSpectralResponse.h.

References otb::SpectralResponse< TPrecision, TValuePrecision >::m_Response.

template<class TPrecision = double, class TValuePrecision = double>
virtual TPrecision otb::SpectralResponse< TPrecision, TValuePrecision >::GetSensitivityThreshold ( ) const
virtual
template<class TPrecision = double, class TValuePrecision = double>
virtual bool otb::SpectralResponse< TPrecision, TValuePrecision >::GetUsePosGuess ( ) const
virtual
template<class TPrecision , class TValuePrecision >
void otb::SpectralResponse< TPrecision, TValuePrecision >::Load ( const std::string &  filename,
ValuePrecisionType  coefNormalization = 1.0 
)

Fill from a ASCII file (CD-ROM ASTER Spectral library Version 1.2)

Definition at line 44 of file otbSpectralResponse.hxx.

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

Standard macros

template<class TPrecision , class TValuePrecision >
SpectralResponse< TPrecision, TValuePrecision >::ValuePrecisionType otb::SpectralResponse< TPrecision, TValuePrecision >::operator() ( const PrecisionType lambda)
inline
Parameters
PrecisionType
Returns
The interpolate value of the SR (for now a simple linear interpolation is used).

Definition at line 122 of file otbSpectralResponse.hxx.

template<class TPrecision = double, class TValuePrecision = double>
void otb::SpectralResponse< TPrecision, TValuePrecision >::operator= ( const Self )
privatedelete
template<class TPrecision , class TValuePrecision >
void otb::SpectralResponse< TPrecision, TValuePrecision >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overridevirtual

PrintSelf method

Reimplemented from itk::DataObject.

Definition at line 299 of file otbSpectralResponse.hxx.

template<class TPrecision , class TValuePrecision >
void otb::SpectralResponse< TPrecision, TValuePrecision >::SetFromImage ( ImagePointerType  image)

Transform the image to an SR structure

Definition at line 227 of file otbSpectralResponse.hxx.

template<class TPrecision , class TValuePrecision >
void otb::SpectralResponse< TPrecision, TValuePrecision >::SetPosGuessMin ( const PrecisionType lambda)

set index in m_Response vector to accelerate () operator

Definition at line 96 of file otbSpectralResponse.hxx.

template<class TPrecision = double, class TValuePrecision = double>
void otb::SpectralResponse< TPrecision, TValuePrecision >::SetResponse ( const VectorPairType resp)
inline
template<class TPrecision = double, class TValuePrecision = double>
virtual void otb::SpectralResponse< TPrecision, TValuePrecision >::SetSensitivityThreshold ( TPrecision  _arg)
virtual
template<class TPrecision = double, class TValuePrecision = double>
virtual void otb::SpectralResponse< TPrecision, TValuePrecision >::SetUsePosGuess ( bool  _arg)
virtual
template<class TPrecision , class TValuePrecision >
unsigned int otb::SpectralResponse< TPrecision, TValuePrecision >::Size ( void  ) const
virtual

Return the number of element in the vector (number of pairs)

Definition at line 89 of file otbSpectralResponse.hxx.

Member Data Documentation

template<class TPrecision = double, class TValuePrecision = double>
IntervalType otb::SpectralResponse< TPrecision, TValuePrecision >::m_Interval
protected
template<class TPrecision = double, class TValuePrecision = double>
bool otb::SpectralResponse< TPrecision, TValuePrecision >::m_IntervalComputed
protected
template<class TPrecision = double, class TValuePrecision = double>
unsigned long otb::SpectralResponse< TPrecision, TValuePrecision >::m_PosGuess
protected

Definition at line 184 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
VectorPairType otb::SpectralResponse< TPrecision, TValuePrecision >::m_Response
protected

PrintSelf method Spectral response vector of pairs (first=lambda; second=response)

Definition at line 173 of file otbSpectralResponse.h.

Referenced by otb::SpectralResponse< TPrecision, TValuePrecision >::GetResponse(), and otb::SpectralResponse< TPrecision, TValuePrecision >::SetResponse().

template<class TPrecision = double, class TValuePrecision = double>
TPrecision otb::SpectralResponse< TPrecision, TValuePrecision >::m_SensitivityThreshold
protected

Minimum value to consider that the spectral response is not null

Definition at line 182 of file otbSpectralResponse.h.

template<class TPrecision = double, class TValuePrecision = double>
bool otb::SpectralResponse< TPrecision, TValuePrecision >::m_UsePosGuess
protected

Definition at line 186 of file otbSpectralResponse.h.


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