Orfeo Toolbox  3.16
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput > Class Template Reference

base class for R, B And NIR based Index Implement operators for UnaryFunctorImageFilter templated with a VectorImage and BinaryFunctorImageFilter templated with single images. Subclasses should NOT overload operators, they must re-implement the Evaluate() method. More...

#include <otbVegetationIndicesFunctor.h>

+ Inheritance diagram for otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >:

List of all members.

Public Types

typedef
itk::VariableLengthVector
< TInput1 > 
InputVectorType

Public Member Functions

 RAndBAndNIRIndexBase ()
 Constructor.
virtual ~RAndBAndNIRIndexBase ()
 Desctructor.
unsigned int GetBlueIndex () const
 Get Blue Index.
unsigned int GetIndex (BandName::BandName band) const
virtual std::string GetName () const =0
unsigned int GetNIRIndex () const
 Get NIR Index.
unsigned int GetRedIndex () const
 Get Red Index.
bool operator!= (const RAndBAndNIRIndexBase &) const
TOutput operator() (const InputVectorType &inputVector)
TOutput operator() (const TInput1 &r, const TInput2 &b, const TInput2 &nir)
bool operator== (const RAndBAndNIRIndexBase &other) const
void SetBlueIndex (unsigned int channel)
 Set Blue Index.
void SetIndex (BandName::BandName band, unsigned int channel)
void SetNIRIndex (unsigned int channel)
 Set NIR Index.
void SetRedIndex (unsigned int channel)
 Set Red Index.

Protected Member Functions

virtual TOutput Evaluate (const TInput1 &r, const TInput2 &b, const TInput3 &nir) const =0

Protected Attributes

double m_EpsilonToBeConsideredAsZero

Private Attributes

unsigned int m_BlueIndex
unsigned int m_NIRIndex
unsigned int m_RedIndex

Detailed Description

template<class TInput1, class TInput2, class TInput3, class TOutput>
class otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >

base class for R, B And NIR based Index Implement operators for UnaryFunctorImageFilter templated with a VectorImage and BinaryFunctorImageFilter templated with single images. Subclasses should NOT overload operators, they must re-implement the Evaluate() method.

Definition at line 149 of file otbVegetationIndicesFunctor.h.


Member Typedef Documentation

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
typedef itk::VariableLengthVector<TInput1> otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::InputVectorType

Vector pixel type used to support both vector images and multiple input images

Definition at line 154 of file otbVegetationIndicesFunctor.h.


Constructor & Destructor Documentation

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::RAndBAndNIRIndexBase ( )
inline

Constructor.

Definition at line 181 of file otbVegetationIndicesFunctor.h.

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
virtual otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::~RAndBAndNIRIndexBase ( )
inlinevirtual

Desctructor.

Definition at line 183 of file otbVegetationIndicesFunctor.h.


Member Function Documentation

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
virtual TOutput otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::Evaluate ( const TInput1 &  r,
const TInput2 &  b,
const TInput3 &  nir 
) const
protectedpure virtual
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::GetBlueIndex ( ) const
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::GetIndex ( BandName::BandName  band) const
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
virtual std::string otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::GetName ( ) const
pure virtual
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::GetNIRIndex ( ) const
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::GetRedIndex ( ) const
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
bool otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::operator!= ( const RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput > &  ) const
inline

Definition at line 157 of file otbVegetationIndicesFunctor.h.

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
TOutput otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::operator() ( const InputVectorType inputVector)
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
TOutput otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::operator() ( const TInput1 &  r,
const TInput2 &  b,
const TInput2 &  nir 
)
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
bool otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::operator== ( const RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput > &  other) const
inline

Definition at line 163 of file otbVegetationIndicesFunctor.h.

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
void otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::SetBlueIndex ( unsigned int  channel)
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
void otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::SetIndex ( BandName::BandName  band,
unsigned int  channel 
)
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
void otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::SetNIRIndex ( unsigned int  channel)
inline
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
void otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::SetRedIndex ( unsigned int  channel)
inline

Member Data Documentation

template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::m_BlueIndex
private
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
double otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::m_EpsilonToBeConsideredAsZero
protected
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::m_NIRIndex
private
template<class TInput1 , class TInput2 , class TInput3 , class TOutput >
unsigned int otb::Functor::RAndBAndNIRIndexBase< TInput1, TInput2, TInput3, TOutput >::m_RedIndex
private

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

Generated at Sun Feb 3 2013 04:26:31 for Orfeo Toolbox with doxygen 1.8.1.1