OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | List of all members
otb::MDMDNMFImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <otbMDMDNMFImageFilter.h>

+ Inheritance diagram for otb::MDMDNMFImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for otb::MDMDNMFImageFilter< TInputImage, TOutputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef InputImageType::ConstPointer InputConstPointerType
 
typedef TInputImage InputImageType
 
typedef InputImageType::IndexType InputIndexType
 
typedef InputImageType::PixelType InputPixelType
 
typedef InputImageType::Pointer InputPointerType
 
typedef InputImageType::SizeType InputSizeType
 
typedef vnl_matrix< PrecisionTypeMatrixType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::IndexType OutputIndexType
 
typedef OutputImageType::OffsetType OutputOffsetType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef OutputImageType::Pointer OutputPointerType
 
typedef OutputImageType::SizeType OutputSizeType
 
typedef itk::SmartPointer< SelfPointer
 
typedef double PrecisionType
 
typedef MDMDNMFImageFilter Self
 
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
 
typedef otb::VectorImageToMatrixImageFilter< InputImageTypeVectorImageToMatrixImageFilterType
 
typedef vnl_vector< double > VectorType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
MatrixType GetEndmembersMatrix () const
 
virtual const char * GetNameOfClass () const
 
void SetEndmembersMatrix (const MatrixType &m)
 

Static Public Member Functions

static Pointer New ()
 
MatrixType m_Endmembers
 
unsigned int m_MaxIter
 
double m_CritStopValue
 
double m_Delt
 
double m_LambdD
 
double m_LambdS
 
virtual void SetMaxIter (unsigned int _arg)
 
virtual unsigned int GetMaxIter ()
 
virtual void SetCritStopValue (double _arg)
 
virtual double GetCritStopValue ()
 
virtual void SetDelt (double _arg)
 
virtual double GetDelt ()
 
virtual void SetLambdD (double _arg)
 
virtual double GetLambdD ()
 
virtual void SetLambdS (double _arg)
 
virtual double GetLambdS ()
 
 MDMDNMFImageFilter ()
 
 ~MDMDNMFImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void GenerateData () override
 
 MDMDNMFImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 
static void AddOneRowOfOnes (const MatrixType &m, MatrixType &M)
 
static double Criterion (const MatrixType &X, const MatrixType &A, const MatrixType &S, const double &delt, const double &lambdS, const double &lambdD)
 
static void EvalGradS (const MatrixType &X, const MatrixType &A, const MatrixType &S, const double &delt, const double &lambdS, MatrixType &gradS)
 
static void EvalGradA (const MatrixType &X, const MatrixType &A, const MatrixType &S, const double &delt, const double &lambdD, MatrixType &gradA)
 
static double Call (const MatrixType &variMat, const MatrixType &fixedMat, const MatrixType &X, const double &delt, const double &lambdS, const double &lambdD, const bool isDirectEvalDirection)
 
static void ProjGradOneStep (const MatrixType &X, const MatrixType &fixedMat, const MatrixType &gradVariMat, const double &sig, const double &betinit, const double &delt, const double &lambdS, const double &lambdD, MatrixType &variMat, double &alph, const bool isDirectEvalDirection)
 
static void SetNegativeCoefficientsToZero (MatrixType &M)
 
static MatrixType TermByTermMatrixProduct (const MatrixType &M1, const MatrixType &M2)
 
static double SumMatrixElements (const MatrixType &M)
 
static bool ArmijoTest (const double &sig, const MatrixType variMat, const MatrixType &newVariMat, const double &evalf, const double &newEvalf, const MatrixType &gradVariMat, const double &alph)
 

Detailed Description

template<class TInputImage, class TOutputImage>
class otb::MDMDNMFImageFilter< TInputImage, TOutputImage >

Definition at line 128 of file otbMDMDNMFImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<const Self> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 135 of file otbMDMDNMFImageFilter.h.

◆ InputConstPointerType

template<class TInputImage , class TOutputImage >
typedef InputImageType::ConstPointer otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputConstPointerType

Definition at line 146 of file otbMDMDNMFImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage >
typedef TInputImage otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputImageType

typedef related to input and output images

Definition at line 141 of file otbMDMDNMFImageFilter.h.

◆ InputIndexType

template<class TInputImage , class TOutputImage >
typedef InputImageType::IndexType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputIndexType

Definition at line 147 of file otbMDMDNMFImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 149 of file otbMDMDNMFImageFilter.h.

◆ InputPointerType

template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputPointerType

Definition at line 145 of file otbMDMDNMFImageFilter.h.

◆ InputSizeType

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::InputSizeType

Definition at line 148 of file otbMDMDNMFImageFilter.h.

◆ MatrixType

template<class TInputImage , class TOutputImage >
typedef vnl_matrix<PrecisionType> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::MatrixType

Definition at line 161 of file otbMDMDNMFImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Definition at line 156 of file otbMDMDNMFImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage >
typedef TOutputImage otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputImageType

Definition at line 151 of file otbMDMDNMFImageFilter.h.

◆ OutputIndexType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::IndexType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputIndexType

Definition at line 153 of file otbMDMDNMFImageFilter.h.

◆ OutputOffsetType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::OffsetType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputOffsetType

Definition at line 154 of file otbMDMDNMFImageFilter.h.

◆ OutputPixelType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 157 of file otbMDMDNMFImageFilter.h.

◆ OutputPointerType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputPointerType

Definition at line 152 of file otbMDMDNMFImageFilter.h.

◆ OutputSizeType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::SizeType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::OutputSizeType

Definition at line 155 of file otbMDMDNMFImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<Self> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 134 of file otbMDMDNMFImageFilter.h.

◆ PrecisionType

template<class TInputImage , class TOutputImage >
typedef double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::PrecisionType

Definition at line 160 of file otbMDMDNMFImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage >
typedef MDMDNMFImageFilter otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 132 of file otbMDMDNMFImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage >
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 133 of file otbMDMDNMFImageFilter.h.

◆ VectorImageToMatrixImageFilterType

template<class TInputImage , class TOutputImage >
typedef otb::VectorImageToMatrixImageFilter<InputImageType> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::VectorImageToMatrixImageFilterType

Definition at line 162 of file otbMDMDNMFImageFilter.h.

◆ VectorType

template<class TInputImage , class TOutputImage >
typedef vnl_vector<double> otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::VectorType

Definition at line 165 of file otbMDMDNMFImageFilter.h.

Constructor & Destructor Documentation

◆ MDMDNMFImageFilter() [1/2]

template<class TInputImage , class TOutputImage >
otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::MDMDNMFImageFilter
protected

Setters / Getters

Definition at line 29 of file otbMDMDNMFImageFilter.hxx.

◆ ~MDMDNMFImageFilter()

template<class TInputImage , class TOutputImage >
otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::~MDMDNMFImageFilter ( )
inlineoverrideprotected

Setters / Getters

Definition at line 195 of file otbMDMDNMFImageFilter.h.

◆ MDMDNMFImageFilter() [2/2]

template<class TInputImage , class TOutputImage >
otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::MDMDNMFImageFilter ( const Self )
privatedelete

Setters / Getters

Member Function Documentation

◆ AddOneRowOfOnes()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::AddOneRowOfOnes ( const MatrixType m,
MatrixType M 
)
staticprivate

Setters / Getters

Definition at line 66 of file otbMDMDNMFImageFilter.hxx.

◆ ArmijoTest()

template<class TInputImage , class TOutputImage >
bool otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::ArmijoTest ( const double &  sig,
const MatrixType  variMat,
const MatrixType newVariMat,
const double &  evalf,
const double &  newEvalf,
const MatrixType gradVariMat,
const double &  alph 
)
staticprivate

Setters / Getters

Definition at line 302 of file otbMDMDNMFImageFilter.hxx.

◆ Call()

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::Call ( const MatrixType variMat,
const MatrixType fixedMat,
const MatrixType X,
const double &  delt,
const double &  lambdS,
const double &  lambdD,
const bool  isDirectEvalDirection 
)
staticprivate

Setters / Getters

Definition at line 245 of file otbMDMDNMFImageFilter.hxx.

◆ CreateAnother()

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const

◆ Criterion()

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::Criterion ( const MatrixType X,
const MatrixType A,
const MatrixType S,
const double &  delt,
const double &  lambdS,
const double &  lambdD 
)
staticprivate

Setters / Getters

Definition at line 79 of file otbMDMDNMFImageFilter.hxx.

◆ EvalGradA()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::EvalGradA ( const MatrixType X,
const MatrixType A,
const MatrixType S,
const double &  delt,
const double &  lambdD,
MatrixType gradA 
)
staticprivate

Setters / Getters

Definition at line 164 of file otbMDMDNMFImageFilter.hxx.

◆ EvalGradS()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::EvalGradS ( const MatrixType X,
const MatrixType A,
const MatrixType S,
const double &  delt,
const double &  lambdS,
MatrixType gradS 
)
staticprivate

Setters / Getters

Definition at line 149 of file otbMDMDNMFImageFilter.hxx.

◆ GenerateData()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GenerateData
overrideprotected

Main computation method

Definition at line 326 of file otbMDMDNMFImageFilter.hxx.

References otbGenericMsgDebugMacro.

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion
overrideprotected

Setters / Getters

Definition at line 510 of file otbMDMDNMFImageFilter.hxx.

◆ GenerateOutputInformation()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation
overrideprotected

GenerateOutputInformation Propagate vector length info and modify if needed

Definition at line 50 of file otbMDMDNMFImageFilter.hxx.

◆ GetCritStopValue()

template<class TInputImage , class TOutputImage >
virtual double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetCritStopValue ( )
virtual

Setters / Getters

◆ GetDelt()

template<class TInputImage , class TOutputImage >
virtual double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetDelt ( )
virtual

Setters / Getters

◆ GetEndmembersMatrix()

template<class TInputImage , class TOutputImage >
MatrixType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetEndmembersMatrix ( ) const
inline

Definition at line 167 of file otbMDMDNMFImageFilter.h.

◆ GetLambdD()

template<class TInputImage , class TOutputImage >
virtual double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetLambdD ( )
virtual

Setters / Getters

◆ GetLambdS()

template<class TInputImage , class TOutputImage >
virtual double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetLambdS ( )
virtual

Setters / Getters

◆ GetMaxIter()

template<class TInputImage , class TOutputImage >
virtual unsigned int otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetMaxIter ( )
virtual

Setters / Getters

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage >
virtual const char* otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Creation through object factory macro

◆ New()

template<class TInputImage , class TOutputImage >
static Pointer otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::New ( )
static

Type macro

◆ operator=()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
privatedelete

Setters / Getters

◆ PrintSelf()

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

Setters / Getters

Definition at line 42 of file otbMDMDNMFImageFilter.hxx.

◆ ProjGradOneStep()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::ProjGradOneStep ( const MatrixType X,
const MatrixType fixedMat,
const MatrixType gradVariMat,
const double &  sig,
const double &  betinit,
const double &  delt,
const double &  lambdS,
const double &  lambdD,
MatrixType variMat,
double &  alph,
const bool  isDirectEvalDirection 
)
staticprivate

Setters / Getters

Definition at line 197 of file otbMDMDNMFImageFilter.hxx.

◆ SetCritStopValue()

template<class TInputImage , class TOutputImage >
virtual void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetCritStopValue ( double  _arg)
virtual

Setters / Getters

◆ SetDelt()

template<class TInputImage , class TOutputImage >
virtual void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetDelt ( double  _arg)
virtual

Setters / Getters

◆ SetEndmembersMatrix()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetEndmembersMatrix ( const MatrixType m)
inline

Definition at line 171 of file otbMDMDNMFImageFilter.h.

◆ SetLambdD()

template<class TInputImage , class TOutputImage >
virtual void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetLambdD ( double  _arg)
virtual

Setters / Getters

◆ SetLambdS()

template<class TInputImage , class TOutputImage >
virtual void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetLambdS ( double  _arg)
virtual

Setters / Getters

◆ SetMaxIter()

template<class TInputImage , class TOutputImage >
virtual void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetMaxIter ( unsigned int  _arg)
virtual

Setters / Getters

◆ SetNegativeCoefficientsToZero()

template<class TInputImage , class TOutputImage >
void otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SetNegativeCoefficientsToZero ( MatrixType M)
staticprivate

Setters / Getters

Definition at line 262 of file otbMDMDNMFImageFilter.hxx.

◆ SumMatrixElements()

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::SumMatrixElements ( const MatrixType M)
staticprivate

Setters / Getters

Definition at line 291 of file otbMDMDNMFImageFilter.hxx.

◆ TermByTermMatrixProduct()

template<class TInputImage , class TOutputImage >
MDMDNMFImageFilter< TInputImage, TOutputImage >::MatrixType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::TermByTermMatrixProduct ( const MatrixType M1,
const MatrixType M2 
)
staticprivate

Setters / Getters

Definition at line 275 of file otbMDMDNMFImageFilter.hxx.

Member Data Documentation

◆ m_CritStopValue

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_CritStopValue
private

Setters / Getters

Definition at line 242 of file otbMDMDNMFImageFilter.h.

◆ m_Delt

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_Delt
private

Setters / Getters

Definition at line 245 of file otbMDMDNMFImageFilter.h.

◆ m_Endmembers

template<class TInputImage , class TOutputImage >
MatrixType otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_Endmembers
private

Setters / Getters

Definition at line 240 of file otbMDMDNMFImageFilter.h.

◆ m_LambdD

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_LambdD
private

Setters / Getters

Definition at line 246 of file otbMDMDNMFImageFilter.h.

◆ m_LambdS

template<class TInputImage , class TOutputImage >
double otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_LambdS
private

Setters / Getters

Definition at line 247 of file otbMDMDNMFImageFilter.h.

◆ m_MaxIter

template<class TInputImage , class TOutputImage >
unsigned int otb::MDMDNMFImageFilter< TInputImage, TOutputImage >::m_MaxIter
private

Setters / Getters

Definition at line 241 of file otbMDMDNMFImageFilter.h.


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