22 #ifndef otbVCAImageFilter_h
23 #define otbVCAImageFilter_h
26 #include "itkAbsImageFilter.h"
36 #include "itkMersenneTwisterRandomVariateGenerator.h"
37 #include "vnl/algo/vnl_svd.h"
66 template <
class TVectorImage>
67 class ITK_EXPORT
VCAImageFilter :
public itk::ImageToImageFilter<TVectorImage, TVectorImage>
71 typedef itk::ImageToImageFilter<TVectorImage, TVectorImage>
Superclass;
76 typedef typename VectorImageType::IndexType
IndexType;
77 typedef typename VectorImageType::SizeType
SizeType;
79 typedef typename VectorImageType::PixelType
PixelType;
104 itkGetMacro(NumberOfEndmembers,
unsigned int);
105 itkSetMacro(NumberOfEndmembers,
unsigned int);
109 this->GenerateData();
114 this->GetOutput()->SetRequestedRegion(this->GetOutput()->GetLargestPossibleRegion());
122 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
124 void GenerateOutputInformation()
override;
126 void GenerateData()
override;
Applies a projective projection to each pixel of an image.
A generic functor filter templated by its functor.
Creation of an "otb" image which contains metadata.
Apply a matrix multiplication over the channels of an image.
Performs a Principal Component Analysis.
This class streams the whole input image through the PersistentMinMaxImageFilter.
This class streams the whole input image through the PersistentStatisticsImageFilter.
This class streams the whole input image through the PersistentStatisticsImageFilter.
Estimates the endmembers present in a hyperspectral image.
otb::ProjectiveProjectionImageFilter< VectorImageType, VectorImageType, PrecisionType > ProjectiveProjectionImageFilterType
unsigned int m_NumberOfEndmembers
VectorImageType::IndexType IndexType
otb::StreamingStatisticsImageFilter< ImageType > StreamingStatisticsImageFilterType
void operator=(const Self &)=delete
otb::PCAImageFilter< VectorImageType, VectorImageType, otb::Transform::INVERSE > InversePCAImageFilterType
otb::ConcatenateScalarValueImageFilter< VectorImageType, VectorImageType > ConcatenateScalarValueImageFilterType
otb::DotProductImageFilter< VectorImageType, ImageType > DotProductImageFilterType
otb::MatrixImageFilter< VectorImageType, VectorImageType > MatrixImageFilterType
itk::ImageToImageFilter< TVectorImage, TVectorImage > Superclass
VCAImageFilter(const Self &)=delete
otb::VectorImageToMatrixImageFilter< VectorImageType > VectorImageToMatrixImageFilterType
itk::SmartPointer< Self > Pointer
void EnlargeOutputRequestedRegion(itk::DataObject *) override
otb::PCAImageFilter< VectorImageType, VectorImageType, otb::Transform::FORWARD > ForwardPCAImageFilterType
otb::Image< InternalPixelType > ImageType
otb::VectorImageToAmplitudeImageFilter< VectorImageType, ImageType > VectorImageToAmplitudeImageFilterType
VectorImageType::SizeType SizeType
TVectorImage VectorImageType
otb::StreamingMinMaxImageFilter< ImageType > StreamingMinMaxImageFilterType
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomVariateGeneratorType
VectorImageType::PixelType PixelType
InternalPixelType PrecisionType
VectorImageType::RegionType RegionType
itk::AbsImageFilter< ImageType, ImageType > AbsImageFilterType
otb::StreamingStatisticsVectorImageFilter< VectorImageType, PrecisionType > StreamingStatisticsVectorImageFilterType
itk::SmartPointer< const Self > ConstPointer
VectorImageType::InternalPixelType InternalPixelType
This filter returns the the amplitude of the pixel vector.
This class streams the whole input image through the PersistentStatisticsImageFilter.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.