OTB
9.0.0
Orfeo Toolbox
|
#include <otbInnerProductPCAImageFilter.h>
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
Performs a PCA with streaming capabilities.
InnerProductPCAImageFilter performs a principal component analysis (as itk::ImagePCAShapeModelEstimator) (PCA) on a vector image in streaming capabilities. All channels of the input vector image are used for training images and also the number of desired largest principal components needed. The number of channels of the output image are the user specified number of desired largest principal components.
The algorithm uses the VNL library to perform the eigen analysis. To speed the computation of the instead of performing the eigen analysis of the covariance vector A*A' where A is a matrix with p x t, p = number of pixels or voxels in each images and t = number of training images, we calculate the eigen vectors of the inner product matrix A'*A. The resulting eigen vectors (E) are then multiplied with the the matrix A to get the principal compoenets. The covariance matrix has a dimension of p x p. Since number of pixels in any image being typically very high the eigen decomposition becomes computationally expensive. The inner product on the other hand has the dimension of t x t, where t is typically much smaller that p. Hence the eigen decomposition (most compute intensive part) is an orders of magnitude faster.
The Update() function enables the calculation of the various models, creates the membership function objects and populates them.
Definition at line 66 of file otbInnerProductPCAImageFilter.h.
typedef CastFilterType::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::CastFilterPointer |
Definition at line 96 of file otbInnerProductPCAImageFilter.h.
typedef ImageToVectorImageCastFilter<InternalImageType, OutputImageType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::CastFilterType |
Definition at line 95 of file otbInnerProductPCAImageFilter.h.
typedef ConcatenateFilterType::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::ConcatenateFilterPointer |
Definition at line 98 of file otbInnerProductPCAImageFilter.h.
typedef ConcatenateVectorImageFilter<OutputImageType, OutputImageType, OutputImageType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::ConcatenateFilterType |
Definition at line 97 of file otbInnerProductPCAImageFilter.h.
typedef itk::SmartPointer<const Self> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 73 of file otbInnerProductPCAImageFilter.h.
typedef EstimatePCAFilterType::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::EstimatePCAFilterPointer |
Definition at line 86 of file otbInnerProductPCAImageFilter.h.
typedef EstimateInnerProductPCAImageFilter<InputImageType, OutputImageType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::EstimatePCAFilterType |
Definition at line 85 of file otbInnerProductPCAImageFilter.h.
typedef TInputImage otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::InputImageType |
Template parameters typedefs
Definition at line 79 of file otbInnerProductPCAImageFilter.h.
typedef Image<typename InputImageType::InternalPixelType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::InternalImageType |
Template parameters typedefs for mean component generation
Definition at line 91 of file otbInnerProductPCAImageFilter.h.
typedef MeanFilterType::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::MeanFilterPointer |
Definition at line 94 of file otbInnerProductPCAImageFilter.h.
typedef itk::UnaryFunctorImageFilter<InputImageType, InternalImageType, MeanFunctorType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::MeanFilterType |
Definition at line 93 of file otbInnerProductPCAImageFilter.h.
typedef Functor::MeanFunctor<typename InputImageType::PixelType, typename InternalImageType::PixelType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::MeanFunctorType |
Definition at line 92 of file otbInnerProductPCAImageFilter.h.
typedef NormalizePCAFilterType::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::NormalizePCAFilterPointer |
Definition at line 88 of file otbInnerProductPCAImageFilter.h.
typedef NormalizeInnerProductPCAImageFilter<OutputImageType, OutputImageType> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::NormalizePCAFilterType |
Definition at line 87 of file otbInnerProductPCAImageFilter.h.
typedef TOutputImage otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 83 of file otbInnerProductPCAImageFilter.h.
typedef itk::SmartPointer<Self> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 72 of file otbInnerProductPCAImageFilter.h.
typedef InnerProductPCAImageFilter otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::Self |
Standard typedefs
Definition at line 70 of file otbInnerProductPCAImageFilter.h.
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 71 of file otbInnerProductPCAImageFilter.h.
|
protected |
Constructor
Definition at line 32 of file otbInnerProductPCAImageFilter.hxx.
|
inlineoverrideprotected |
Destructor
Definition at line 132 of file otbInnerProductPCAImageFilter.h.
|
privatedelete |
The number of largest principal components
|
virtual |
The number of largest principal components
|
virtual |
The number of largest principal components
virtual::itk::LightObject::Pointer otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
GenerateData
Main computation method
Definition at line 68 of file otbInnerProductPCAImageFilter.hxx.
|
virtual |
The number of largest principal components
|
virtual |
The number of largest principal components
|
overrideprotected |
NormalizeInnerProductPCAImageFilter can produce an image which is a different resolution than its input image. As such, NormalizeInnerProductPCAImageFilter needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.
GenerateOutputInformation
Definition at line 50 of file otbInnerProductPCAImageFilter.hxx.
|
virtual |
The number of largest principal components
|
virtual |
The number of largest principal components
|
virtual |
Creation through object factory macro
|
virtual |
The number of largest principal components
|
static |
Type macro
|
privatedelete |
The number of largest principal components
otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::otbGetObjectMemberMacro | ( | NormalizePCAFilter | , |
UseUnbiasedEstimator | , | ||
bool | |||
) |
The number of largest principal components
otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >::otbSetObjectMemberMacro | ( | NormalizePCAFilter | , |
UseUnbiasedEstimator | , | ||
bool | |||
) |
Get the NormalizeInnerProductPCAImage filter
|
overrideprotected |
|
virtual |
Enable/Disable center data
|
virtual |
Enable/Disable the generation of the mean component output
|
virtual |
Set/Get the number of required largest principal components. The filter produces the required number of principal components plus one outputs. Output index 0 represents the mean image and the remaining outputs the requested principal components.
|
private |
The number of largest principal components
Definition at line 170 of file otbInnerProductPCAImageFilter.h.
|
private |
Enable/Disable center data
Definition at line 163 of file otbInnerProductPCAImageFilter.h.
|
private |
The number of largest principal components
Definition at line 171 of file otbInnerProductPCAImageFilter.h.
|
private |
Radius of the structuring element
Definition at line 157 of file otbInnerProductPCAImageFilter.h.
|
private |
Flag to specify the generation or not of the mean component output
Definition at line 166 of file otbInnerProductPCAImageFilter.h.
|
private |
Internals filters use to generate mean component output
Definition at line 169 of file otbInnerProductPCAImageFilter.h.
|
private |
Opening filter
Definition at line 160 of file otbInnerProductPCAImageFilter.h.
|
private |
The number of largest principal components
Definition at line 154 of file otbInnerProductPCAImageFilter.h.