OTB  9.0.0
Orfeo Toolbox
Public Member Functions | Static Public Attributes | List of all members
otb::Functor::PVI< TInput, TOutput > Class Template Reference

#include <otbVegetationIndicesFunctor.h>

+ Inheritance diagram for otb::Functor::PVI< TInput, TOutput >:
+ Collaboration diagram for otb::Functor::PVI< TInput, TOutput >:

Public Member Functions

TOutput operator() (const itk::VariableLengthVector< TInput > &input) const override
 
 PVI ()
 
- Public Member Functions inherited from otb::Functor::RadiometricIndex< TInput, TOutput >
 RadiometricIndex (const std::set< BandNameType > &requiredBands)
 
virtual ~RadiometricIndex ()=default
 
std::set< BandNameTypeGetRequiredBands () const
 
void SetBandIndex (BandNameType band, vcl_size_t index)
 
void SetBandsIndices (const std::map< BandNameType, vcl_size_t > &indicesMap)
 
vcl_size_t GetBandIndex (BandNameType band) const
 

Static Public Attributes

static constexpr double A = 0.90893
 
static constexpr double B = 7.46216
 
static constexpr double C = 9.74
 
- Static Public Attributes inherited from otb::Functor::RadiometricIndex< TInput, TOutput >
static constexpr double Epsilon = 0.0000001
 
static constexpr vcl_size_t NumberOfBands = static_cast<vcl_size_t>(BandNameType::MAX)
 

Additional Inherited Members

- Public Types inherited from otb::Functor::RadiometricIndex< TInput, TOutput >
using BandNameType = CommonBandNames
 
using InputType = TInput
 
using OutputType = TOutput
 
using PixelType = itk::VariableLengthVector< InputType >
 
- Protected Member Functions inherited from otb::Functor::RadiometricIndex< TInput, TOutput >
vcl_size_t UncheckedBandIndex (BandNameType band) const
 
double Value (BandNameType band, const itk::VariableLengthVector< TInput > &input) const
 

Detailed Description

template<class TInput, class TOutput>
class otb::Functor::PVI< TInput, TOutput >

This functor computes the Perpendicular Vegetation Index (PVI)

[Richardson et Wiegand, 1977]

Default values for A and B are from C. L. Wiegand, A. J. Richardson, D. E. Escobar, and A. H. Gerbermann, "Vegetation Indices in Crop Assessments", REMOTE SENS. ENVIRON. 35:105-119 (1991)

Definition at line 116 of file otbVegetationIndicesFunctor.h.

Constructor & Destructor Documentation

◆ PVI()

template<class TInput , class TOutput >
otb::Functor::PVI< TInput, TOutput >::PVI ( )
inline

Definition at line 119 of file otbVegetationIndicesFunctor.h.

Member Function Documentation

◆ operator()()

template<class TInput , class TOutput >
TOutput otb::Functor::PVI< TInput, TOutput >::operator() ( const itk::VariableLengthVector< TInput > &  input) const
inlineoverridevirtual

Astract method which will compute the radiometric indice

Parameters
inputA itk::VariableLengthVector<TInput> holding the pixel values for each band
Returns
The indice value as TOutput (starts at 1 for first band)

Implements otb::Functor::RadiometricIndex< TInput, TOutput >.

Definition at line 123 of file otbVegetationIndicesFunctor.h.

References otb::Functor::PVI< TInput, TOutput >::A, otb::Functor::PVI< TInput, TOutput >::B, otb::Functor::PVI< TInput, TOutput >::C, and otb::Functor::RadiometricIndex< TInput, TOutput >::Value().

Member Data Documentation

◆ A

template<class TInput , class TOutput >
constexpr double otb::Functor::PVI< TInput, TOutput >::A = 0.90893
staticconstexpr

A and B parameters

Definition at line 132 of file otbVegetationIndicesFunctor.h.

Referenced by otb::Functor::PVI< TInput, TOutput >::operator()().

◆ B

template<class TInput , class TOutput >
constexpr double otb::Functor::PVI< TInput, TOutput >::B = 7.46216
staticconstexpr

◆ C

template<class TInput , class TOutput >
constexpr double otb::Functor::PVI< TInput, TOutput >::C = 9.74
staticconstexpr

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