OTB  7.3.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members

#include <otbVcaImageFilter.h>

+ Inheritance diagram for otb::VCAImageFilter< TVectorImage >:
+ Collaboration diagram for otb::VCAImageFilter< TVectorImage >:

Public Types

typedef itk::AbsImageFilter< ImageType, ImageTypeAbsImageFilterType
 
typedef otb::ConcatenateScalarValueImageFilter< VectorImageType, VectorImageTypeConcatenateScalarValueImageFilterType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef otb::DotProductImageFilter< VectorImageType, ImageTypeDotProductImageFilterType
 
typedef otb::PCAImageFilter< VectorImageType, VectorImageType, otb::Transform::FORWARDForwardPCAImageFilterType
 
typedef otb::Image< InternalPixelTypeImageType
 
typedef VectorImageType::IndexType IndexType
 
typedef VectorImageType::InternalPixelType InternalPixelType
 
typedef otb::PCAImageFilter< VectorImageType, VectorImageType, otb::Transform::INVERSEInversePCAImageFilterType
 
typedef otb::MatrixImageFilter< VectorImageType, VectorImageTypeMatrixImageFilterType
 
typedef VectorImageType::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef InternalPixelType PrecisionType
 
typedef otb::ProjectiveProjectionImageFilter< VectorImageType, VectorImageType, PrecisionTypeProjectiveProjectionImageFilterType
 
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomVariateGeneratorType
 
typedef VectorImageType::RegionType RegionType
 
typedef VCAImageFilter Self
 
typedef VectorImageType::SizeType SizeType
 
typedef otb::StreamingMinMaxImageFilter< ImageTypeStreamingMinMaxImageFilterType
 
typedef otb::StreamingStatisticsImageFilter< ImageTypeStreamingStatisticsImageFilterType
 
typedef otb::StreamingStatisticsVectorImageFilter< VectorImageType, PrecisionTypeStreamingStatisticsVectorImageFilterType
 
typedef itk::ImageToImageFilter< TVectorImage, TVectorImage > Superclass
 
typedef otb::VectorImageToAmplitudeImageFilter< VectorImageType, ImageTypeVectorImageToAmplitudeImageFilterType
 
typedef otb::VectorImageToMatrixImageFilter< VectorImageTypeVectorImageToMatrixImageFilterType
 
typedef TVectorImage VectorImageType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
void EnlargeOutputRequestedRegion (itk::DataObject *) override
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNumberOfEndmembers ()
 
virtual void SetNumberOfEndmembers (unsigned int _arg)
 
void Update () override
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Private Member Functions

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

Private Attributes

unsigned int m_NumberOfEndmembers
 

Detailed Description

template<class TVectorImage>
class otb::VCAImageFilter< TVectorImage >

Estimates the endmembers present in a hyperspectral image.

This filter applies the VCA (Vertex Component Analysis) algorithm to a hyperspectral image and outputs the estimated endmembers. The output image of this filter is a one-line VectorImage containing, at each pixel location, one of the estimated endmember.

This code is a C++ port of the Matlab implementation available in the Matlab Hyperspectral Toolbox. Most notably it supports streaming and is fully multi-threaded, so it can be run seamlessly on full hyperspectral scenes.

References : "Vertex Component Analysis: A Fast Algorithm to Unmix Hyperspectral Data", Jos\'e M. P. Nascimento, and Jos\'e M. Bioucas Dias, IEEE Transactions on Geoscience and Remote Sensing, Vol. 43, No. 4, April 2005

Definition at line 67 of file otbVcaImageFilter.h.

Member Typedef Documentation

◆ AbsImageFilterType

template<class TVectorImage >
typedef itk::AbsImageFilter<ImageType, ImageType> otb::VCAImageFilter< TVectorImage >::AbsImageFilterType

Definition at line 85 of file otbVcaImageFilter.h.

◆ ConcatenateScalarValueImageFilterType

Definition at line 97 of file otbVcaImageFilter.h.

◆ ConstPointer

template<class TVectorImage >
typedef itk::SmartPointer<const Self> otb::VCAImageFilter< TVectorImage >::ConstPointer

Definition at line 73 of file otbVcaImageFilter.h.

◆ DotProductImageFilterType

template<class TVectorImage >
typedef otb::DotProductImageFilter<VectorImageType, ImageType> otb::VCAImageFilter< TVectorImage >::DotProductImageFilterType

Definition at line 87 of file otbVcaImageFilter.h.

◆ ForwardPCAImageFilterType

Definition at line 94 of file otbVcaImageFilter.h.

◆ ImageType

template<class TVectorImage >
typedef otb::Image<InternalPixelType> otb::VCAImageFilter< TVectorImage >::ImageType

Definition at line 83 of file otbVcaImageFilter.h.

◆ IndexType

template<class TVectorImage >
typedef VectorImageType::IndexType otb::VCAImageFilter< TVectorImage >::IndexType

Definition at line 76 of file otbVcaImageFilter.h.

◆ InternalPixelType

template<class TVectorImage >
typedef VectorImageType::InternalPixelType otb::VCAImageFilter< TVectorImage >::InternalPixelType

Definition at line 80 of file otbVcaImageFilter.h.

◆ InversePCAImageFilterType

Definition at line 95 of file otbVcaImageFilter.h.

◆ MatrixImageFilterType

template<class TVectorImage >
typedef otb::MatrixImageFilter<VectorImageType, VectorImageType> otb::VCAImageFilter< TVectorImage >::MatrixImageFilterType

Definition at line 88 of file otbVcaImageFilter.h.

◆ PixelType

template<class TVectorImage >
typedef VectorImageType::PixelType otb::VCAImageFilter< TVectorImage >::PixelType

Definition at line 79 of file otbVcaImageFilter.h.

◆ Pointer

template<class TVectorImage >
typedef itk::SmartPointer<Self> otb::VCAImageFilter< TVectorImage >::Pointer

Definition at line 72 of file otbVcaImageFilter.h.

◆ PrecisionType

template<class TVectorImage >
typedef InternalPixelType otb::VCAImageFilter< TVectorImage >::PrecisionType

Definition at line 81 of file otbVcaImageFilter.h.

◆ ProjectiveProjectionImageFilterType

Definition at line 86 of file otbVcaImageFilter.h.

◆ RandomVariateGeneratorType

template<class TVectorImage >
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator otb::VCAImageFilter< TVectorImage >::RandomVariateGeneratorType

Definition at line 93 of file otbVcaImageFilter.h.

◆ RegionType

template<class TVectorImage >
typedef VectorImageType::RegionType otb::VCAImageFilter< TVectorImage >::RegionType

Definition at line 78 of file otbVcaImageFilter.h.

◆ Self

template<class TVectorImage >
typedef VCAImageFilter otb::VCAImageFilter< TVectorImage >::Self

Definition at line 70 of file otbVcaImageFilter.h.

◆ SizeType

template<class TVectorImage >
typedef VectorImageType::SizeType otb::VCAImageFilter< TVectorImage >::SizeType

Definition at line 77 of file otbVcaImageFilter.h.

◆ StreamingMinMaxImageFilterType

template<class TVectorImage >
typedef otb::StreamingMinMaxImageFilter<ImageType> otb::VCAImageFilter< TVectorImage >::StreamingMinMaxImageFilterType

Definition at line 90 of file otbVcaImageFilter.h.

◆ StreamingStatisticsImageFilterType

Definition at line 92 of file otbVcaImageFilter.h.

◆ StreamingStatisticsVectorImageFilterType

Definition at line 91 of file otbVcaImageFilter.h.

◆ Superclass

template<class TVectorImage >
typedef itk::ImageToImageFilter<TVectorImage, TVectorImage> otb::VCAImageFilter< TVectorImage >::Superclass

Definition at line 71 of file otbVcaImageFilter.h.

◆ VectorImageToAmplitudeImageFilterType

Definition at line 96 of file otbVcaImageFilter.h.

◆ VectorImageToMatrixImageFilterType

Definition at line 89 of file otbVcaImageFilter.h.

◆ VectorImageType

template<class TVectorImage >
typedef TVectorImage otb::VCAImageFilter< TVectorImage >::VectorImageType

Definition at line 75 of file otbVcaImageFilter.h.

Constructor & Destructor Documentation

◆ VCAImageFilter() [1/2]

template<class TImage >
otb::VCAImageFilter< TImage >::VCAImageFilter ( )
protected

Definition at line 32 of file otbVcaImageFilter.hxx.

◆ ~VCAImageFilter()

template<class TImage >
otb::VCAImageFilter< TImage >::~VCAImageFilter ( )
overrideprotected

Definition at line 37 of file otbVcaImageFilter.hxx.

◆ VCAImageFilter() [2/2]

template<class TVectorImage >
otb::VCAImageFilter< TVectorImage >::VCAImageFilter ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TVectorImage >
virtual::itk::LightObject::Pointer otb::VCAImageFilter< TVectorImage >::CreateAnother ( void  ) const

◆ EnlargeOutputRequestedRegion()

template<class TVectorImage >
void otb::VCAImageFilter< TVectorImage >::EnlargeOutputRequestedRegion ( itk::DataObject *  )
inlineoverride

Definition at line 112 of file otbVcaImageFilter.h.

◆ GenerateData()

template<class TImage >
void otb::VCAImageFilter< TImage >::GenerateData ( void  )
overrideprotected

◆ GenerateOutputInformation()

template<class TImage >
void otb::VCAImageFilter< TImage >::GenerateOutputInformation ( void  )
overrideprotected

◆ GetNameOfClass()

template<class TVectorImage >
virtual const char* otb::VCAImageFilter< TVectorImage >::GetNameOfClass ( ) const
virtual

◆ GetNumberOfEndmembers()

template<class TVectorImage >
virtual unsigned int otb::VCAImageFilter< TVectorImage >::GetNumberOfEndmembers ( )
virtual

◆ New()

template<class TVectorImage >
static Pointer otb::VCAImageFilter< TVectorImage >::New ( )
static

◆ operator=()

template<class TVectorImage >
void otb::VCAImageFilter< TVectorImage >::operator= ( const Self )
privatedelete

◆ PrintSelf()

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

Standard "PrintSelf" method

Definition at line 347 of file otbVcaImageFilter.hxx.

◆ SetNumberOfEndmembers()

template<class TVectorImage >
virtual void otb::VCAImageFilter< TVectorImage >::SetNumberOfEndmembers ( unsigned int  _arg)
virtual

◆ Update()

template<class TVectorImage >
void otb::VCAImageFilter< TVectorImage >::Update ( void  )
inlineoverride

Definition at line 107 of file otbVcaImageFilter.h.

Member Data Documentation

◆ m_NumberOfEndmembers

template<class TVectorImage >
unsigned int otb::VCAImageFilter< TVectorImage >::m_NumberOfEndmembers
private

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