OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::VirtualDimensionality< TPrecision > Class Template Reference

#include <otbVirtualDimensionality.h>

+ Inheritance diagram for otb::VirtualDimensionality< TPrecision >:
+ Collaboration diagram for otb::VirtualDimensionality< TPrecision >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef vnl_matrix< PrecisionTypeMatrixType
 
typedef itk::SmartPointer< SelfPointer
 
typedef TPrecision PrecisionType
 
typedef VirtualDimensionality Self
 
typedef itk::LightObject Superclass
 
typedef vnl_vector< PrecisionTypeVectorType
 

Public Member Functions

void Compute ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
double GetFAR ()
 
virtual const char * GetNameOfClass () const
 
unsigned int GetNumberOfEndmembers ()
 
void SetCorrelation (const MatrixType &m)
 
void SetCovariance (const MatrixType &m)
 
void SetFAR (double falseAlarmRate)
 
void SetNumberOfPixels (unsigned int n)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 VirtualDimensionality ()
 
 ~VirtualDimensionality () override
 

Private Member Functions

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

Private Attributes

MatrixType m_Correlation
 
MatrixType m_Covariance
 
double m_FAR
 
unsigned int m_NumberOfEndmembers
 
unsigned int m_NumberOfPixels
 

Detailed Description

template<class TPrecision>
class otb::VirtualDimensionality< TPrecision >

Estimates the number of endmembers in a hyperspectral image with the Virtual Dimensionality (HFC) method.

This filter applies the HFC-VD (Virtual Dimensionality) algorithm to an hyperspectral image and outputs the number of endmembers. It takes as input the covariance and correlation matrices of the input data, the number of observed pixel for those matrices estimations, and outputs the number of endmembers, and the log-likelihood.

References : C.-I. Chang and Q. Du, "Estimation of number of spectrally distinct signal sources in hyperspectral imagery", IEEE Transactions on Geoscience and Remote Sensing, vol. 43, no. 3, mar 2004.

J. Wang and C.-I. Chang, "Applications of independent component analysis in endmember extraction and abundance quantification for hyperspectral imagery", IEEE Transactions on Geoscience and Remote Sensing, vol. 44, no. 9, pp. 2601-1616, sep 2006.

Definition at line 59 of file otbVirtualDimensionality.h.

Member Typedef Documentation

◆ ConstPointer

template<class TPrecision >
typedef itk::SmartPointer<const Self> otb::VirtualDimensionality< TPrecision >::ConstPointer

Definition at line 66 of file otbVirtualDimensionality.h.

◆ MatrixType

template<class TPrecision >
typedef vnl_matrix<PrecisionType> otb::VirtualDimensionality< TPrecision >::MatrixType

Definition at line 78 of file otbVirtualDimensionality.h.

◆ Pointer

template<class TPrecision >
typedef itk::SmartPointer<Self> otb::VirtualDimensionality< TPrecision >::Pointer

Definition at line 65 of file otbVirtualDimensionality.h.

◆ PrecisionType

template<class TPrecision >
typedef TPrecision otb::VirtualDimensionality< TPrecision >::PrecisionType

Types to use for computations.

Definition at line 72 of file otbVirtualDimensionality.h.

◆ Self

template<class TPrecision >
typedef VirtualDimensionality otb::VirtualDimensionality< TPrecision >::Self

Standard Self typedef

Definition at line 63 of file otbVirtualDimensionality.h.

◆ Superclass

template<class TPrecision >
typedef itk::LightObject otb::VirtualDimensionality< TPrecision >::Superclass

Definition at line 64 of file otbVirtualDimensionality.h.

◆ VectorType

template<class TPrecision >
typedef vnl_vector<PrecisionType> otb::VirtualDimensionality< TPrecision >::VectorType

Definition at line 77 of file otbVirtualDimensionality.h.

Constructor & Destructor Documentation

◆ VirtualDimensionality() [1/2]

template<class TPrecision >
otb::VirtualDimensionality< TPrecision >::VirtualDimensionality
protected

Definition at line 34 of file otbVirtualDimensionality.hxx.

◆ ~VirtualDimensionality()

template<class TPrecision >
otb::VirtualDimensionality< TPrecision >::~VirtualDimensionality ( )
inlineoverrideprotected

Definition at line 120 of file otbVirtualDimensionality.h.

◆ VirtualDimensionality() [2/2]

template<class TPrecision >
otb::VirtualDimensionality< TPrecision >::VirtualDimensionality ( const Self )
privatedelete

Member Function Documentation

◆ Compute()

template<class TInputImage >
void otb::VirtualDimensionality< TInputImage >::Compute

Definition at line 39 of file otbVirtualDimensionality.hxx.

◆ CreateAnother()

template<class TPrecision >
virtual::itk::LightObject::Pointer otb::VirtualDimensionality< TPrecision >::CreateAnother ( void  ) const

◆ GetFAR()

template<class TPrecision >
double otb::VirtualDimensionality< TPrecision >::GetFAR ( )
inline

Definition at line 106 of file otbVirtualDimensionality.h.

◆ GetNameOfClass()

template<class TPrecision >
virtual const char* otb::VirtualDimensionality< TPrecision >::GetNameOfClass ( ) const
virtual

Runtime information support.

◆ GetNumberOfEndmembers()

template<class TPrecision >
unsigned int otb::VirtualDimensionality< TPrecision >::GetNumberOfEndmembers ( )
inline

Definition at line 113 of file otbVirtualDimensionality.h.

◆ New()

template<class TPrecision >
static Pointer otb::VirtualDimensionality< TPrecision >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TPrecision >
void otb::VirtualDimensionality< TPrecision >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TImage >
void otb::VirtualDimensionality< TImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Definition at line 70 of file otbVirtualDimensionality.hxx.

◆ SetCorrelation()

template<class TPrecision >
void otb::VirtualDimensionality< TPrecision >::SetCorrelation ( const MatrixType m)
inline

Definition at line 85 of file otbVirtualDimensionality.h.

◆ SetCovariance()

template<class TPrecision >
void otb::VirtualDimensionality< TPrecision >::SetCovariance ( const MatrixType m)
inline

Definition at line 80 of file otbVirtualDimensionality.h.

◆ SetFAR()

template<class TPrecision >
void otb::VirtualDimensionality< TPrecision >::SetFAR ( double  falseAlarmRate)
inline

Definition at line 95 of file otbVirtualDimensionality.h.

◆ SetNumberOfPixels()

template<class TPrecision >
void otb::VirtualDimensionality< TPrecision >::SetNumberOfPixels ( unsigned int  n)
inline

Definition at line 90 of file otbVirtualDimensionality.h.

Member Data Documentation

◆ m_Correlation

template<class TPrecision >
MatrixType otb::VirtualDimensionality< TPrecision >::m_Correlation
private

Definition at line 130 of file otbVirtualDimensionality.h.

◆ m_Covariance

template<class TPrecision >
MatrixType otb::VirtualDimensionality< TPrecision >::m_Covariance
private

Definition at line 129 of file otbVirtualDimensionality.h.

◆ m_FAR

template<class TPrecision >
double otb::VirtualDimensionality< TPrecision >::m_FAR
private

Definition at line 134 of file otbVirtualDimensionality.h.

◆ m_NumberOfEndmembers

template<class TPrecision >
unsigned int otb::VirtualDimensionality< TPrecision >::m_NumberOfEndmembers
private

Definition at line 133 of file otbVirtualDimensionality.h.

◆ m_NumberOfPixels

template<class TPrecision >
unsigned int otb::VirtualDimensionality< TPrecision >::m_NumberOfPixels
private

Definition at line 132 of file otbVirtualDimensionality.h.


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