ANIMA  4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
anima::GaussianEMEstimator< TInputImage, TMaskImage > Class Template Reference

Gaussian Model estimator Class performing expectation-maximation algorithm. More...

#include <animaGaussianEMEstimator.h>

+ Inheritance diagram for anima::GaussianEMEstimator< TInputImage, TMaskImage >:
+ Collaboration diagram for anima::GaussianEMEstimator< TInputImage, TMaskImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::Statistics::GaussianMembershipFunction< MeasurementVectorTypeGaussianFunctionType
 
typedef std::map< Intensities, std::vector< Ocurrences > > GenericContainer
 
typedef std::map< Intensities, OcurrencesHistogram
 
typedef itk::ImageRegionConstIterator< InputImageTypeInputConstIteratorType
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef TInputImage InputImageType
 
typedef std::vector< MeasureTypeIntensities
 
typedef itk::ImageRegionConstIterator< MaskImageTypeMaskConstIteratorType
 
typedef TMaskImage MaskImageType
 
typedef itk::ImageRegionIterator< MaskImageTypeMaskIteratorType
 
typedef itk::VariableLengthVector< NumericTypeMeasurementVectorType
 
typedef unsigned short MeasureType
 
typedef double NumericType
 
typedef double Ocurrences
 
typedef itk::SmartPointer< SelfPointer
 
typedef GaussianEMEstimator Self
 
typedef itk::ProcessObject Superclass
 

Public Member Functions

double computeDistance (std::vector< GaussianFunctionType::Pointer > &newModel)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
void createJointHistogram ()
 
virtual double expectation ()
 
std::vector< double > GetAlphas ()
 
GenericContainer GetAPosterioriProbability ()
 
std::vector< GaussianFunctionType::Pointer > GetGaussianModel ()
 
TInputImage::ConstPointer GetInputImage1 ()
 
TInputImage::ConstPointer GetInputImage2 ()
 
TInputImage::ConstPointer GetInputImage3 ()
 
TInputImage::ConstPointer GetInputImage4 ()
 
TInputImage::ConstPointer GetInputImage5 ()
 
Histogram GetJointHistogram ()
 return joint histogram More...
 
virtual double GetLikelihood ()
 
TMaskImage::ConstPointer GetMask ()
 
virtual unsigned int GetMaxIterations ()
 
virtual double GetModelMinDistance ()
 
virtual const char * GetNameOfClass () const
 
virtual bool GetVerbose ()
 
double likelihood (GaussianFunctionType::CovarianceMatrixType *invCovariance=NULL, double *detCovariance=NULL)
 
virtual bool maximization (std::vector< GaussianFunctionType::Pointer > &newModel, std::vector< double > &newAlphas)
 
void SetInitialAlphas (std::vector< double > &theValue)
 
void SetInitialGaussianModel (std::vector< GaussianFunctionType::Pointer > &theValue)
 Set model to be estimated. More...
 
void SetInputImage1 (const TInputImage *image)
 
void SetInputImage2 (const TInputImage *image)
 
void SetInputImage3 (const TInputImage *image)
 
void SetInputImage4 (const TInputImage *image)
 
void SetInputImage5 (const TInputImage *image)
 
virtual void SetLikelihood (double _arg)
 
void SetMask (const TMaskImage *mask)
 
virtual void SetMaxIterations (unsigned int _arg)
 
virtual void SetModelMinDistance (double _arg)
 
virtual void SetVerbose (bool _arg)
 
virtual void Update () ITK_OVERRIDE
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 GaussianEMEstimator (const Self &)
 
 GaussianEMEstimator ()
 
void operator= (const Self &)
 
virtual ~GaussianEMEstimator ()
 

Protected Attributes

std::vector< double > m_Alphas
 model to be estimated (and solution if already run) More...
 
GenericContainer m_APosterioriProbability
 
std::vector< GaussianFunctionType::Pointer > m_GaussianModel
 
std::vector< InputImageConstPointerm_ImagesVector
 
unsigned int m_IndexImage1
 
unsigned int m_IndexImage2
 
unsigned int m_IndexImage3
 
unsigned int m_IndexImage4
 
unsigned int m_IndexImage5
 
unsigned int m_IndexImage6
 
Histogram m_JointHistogram
 joint histogram The points stored here will be used for estimate de model More...
 
Histogram m_JointHistogramInitial
 
double m_Likelihood
 
unsigned int m_MaxIterations
 
double m_ModelMinDistance
 
unsigned int m_NbInputs
 
unsigned int m_nbMaxImages
 
bool m_Verbose
 

Detailed Description

template<typename TInputImage, typename TMaskImage>
class anima::GaussianEMEstimator< TInputImage, TMaskImage >

Gaussian Model estimator Class performing expectation-maximation algorithm.

Definition at line 13 of file animaGaussianEMEstimator.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage , typename TMaskImage >
typedef itk::SmartPointer<const Self> anima::GaussianEMEstimator< TInputImage, TMaskImage >::ConstPointer

Definition at line 21 of file animaGaussianEMEstimator.h.

◆ GaussianFunctionType

template<typename TInputImage , typename TMaskImage >
typedef itk::Statistics::GaussianMembershipFunction< MeasurementVectorType > anima::GaussianEMEstimator< TInputImage, TMaskImage >::GaussianFunctionType

Definition at line 47 of file animaGaussianEMEstimator.h.

◆ GenericContainer

template<typename TInputImage , typename TMaskImage >
typedef std::map< Intensities, std::vector<Ocurrences> > anima::GaussianEMEstimator< TInputImage, TMaskImage >::GenericContainer

Definition at line 42 of file animaGaussianEMEstimator.h.

◆ Histogram

template<typename TInputImage , typename TMaskImage >
typedef std::map<Intensities,Ocurrences> anima::GaussianEMEstimator< TInputImage, TMaskImage >::Histogram

Definition at line 43 of file animaGaussianEMEstimator.h.

◆ InputConstIteratorType

template<typename TInputImage , typename TMaskImage >
typedef itk::ImageRegionConstIterator< InputImageType > anima::GaussianEMEstimator< TInputImage, TMaskImage >::InputConstIteratorType

Definition at line 32 of file animaGaussianEMEstimator.h.

◆ InputImageConstPointer

template<typename TInputImage , typename TMaskImage >
typedef InputImageType::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::InputImageConstPointer

Definition at line 31 of file animaGaussianEMEstimator.h.

◆ InputImageType

template<typename TInputImage , typename TMaskImage >
typedef TInputImage anima::GaussianEMEstimator< TInputImage, TMaskImage >::InputImageType

Type of the input image.

Definition at line 27 of file animaGaussianEMEstimator.h.

◆ Intensities

template<typename TInputImage , typename TMaskImage >
typedef std::vector<MeasureType> anima::GaussianEMEstimator< TInputImage, TMaskImage >::Intensities

Definition at line 41 of file animaGaussianEMEstimator.h.

◆ MaskConstIteratorType

template<typename TInputImage , typename TMaskImage >
typedef itk::ImageRegionConstIterator< MaskImageType > anima::GaussianEMEstimator< TInputImage, TMaskImage >::MaskConstIteratorType

Definition at line 37 of file animaGaussianEMEstimator.h.

◆ MaskImageType

template<typename TInputImage , typename TMaskImage >
typedef TMaskImage anima::GaussianEMEstimator< TInputImage, TMaskImage >::MaskImageType

Type of the mask image.

Definition at line 35 of file animaGaussianEMEstimator.h.

◆ MaskIteratorType

template<typename TInputImage , typename TMaskImage >
typedef itk::ImageRegionIterator< MaskImageType > anima::GaussianEMEstimator< TInputImage, TMaskImage >::MaskIteratorType

Definition at line 36 of file animaGaussianEMEstimator.h.

◆ MeasurementVectorType

template<typename TInputImage , typename TMaskImage >
typedef itk::VariableLengthVector<NumericType> anima::GaussianEMEstimator< TInputImage, TMaskImage >::MeasurementVectorType

Definition at line 46 of file animaGaussianEMEstimator.h.

◆ MeasureType

template<typename TInputImage , typename TMaskImage >
typedef unsigned short anima::GaussianEMEstimator< TInputImage, TMaskImage >::MeasureType

Definition at line 40 of file animaGaussianEMEstimator.h.

◆ NumericType

template<typename TInputImage , typename TMaskImage >
typedef double anima::GaussianEMEstimator< TInputImage, TMaskImage >::NumericType

Definition at line 45 of file animaGaussianEMEstimator.h.

◆ Ocurrences

template<typename TInputImage , typename TMaskImage >
typedef double anima::GaussianEMEstimator< TInputImage, TMaskImage >::Ocurrences

Definition at line 39 of file animaGaussianEMEstimator.h.

◆ Pointer

template<typename TInputImage , typename TMaskImage >
typedef itk::SmartPointer<Self> anima::GaussianEMEstimator< TInputImage, TMaskImage >::Pointer

Definition at line 20 of file animaGaussianEMEstimator.h.

◆ Self

template<typename TInputImage , typename TMaskImage >
typedef GaussianEMEstimator anima::GaussianEMEstimator< TInputImage, TMaskImage >::Self

Standard class typedefs.

Definition at line 18 of file animaGaussianEMEstimator.h.

◆ Superclass

template<typename TInputImage , typename TMaskImage >
typedef itk::ProcessObject anima::GaussianEMEstimator< TInputImage, TMaskImage >::Superclass

Definition at line 19 of file animaGaussianEMEstimator.h.

Constructor & Destructor Documentation

◆ GaussianEMEstimator() [1/2]

template<typename TInputImage , typename TMaskImage >
anima::GaussianEMEstimator< TInputImage, TMaskImage >::GaussianEMEstimator ( const Self )
protected

◆ GaussianEMEstimator() [2/2]

template<typename TInputImage , typename TMaskImage >
anima::GaussianEMEstimator< TInputImage, TMaskImage >::GaussianEMEstimator ( )
inlineprotected

◆ ~GaussianEMEstimator()

template<typename TInputImage , typename TMaskImage >
virtual anima::GaussianEMEstimator< TInputImage, TMaskImage >::~GaussianEMEstimator ( )
inlineprotectedvirtual

Definition at line 123 of file animaGaussianEMEstimator.h.

Member Function Documentation

◆ computeDistance()

template<typename TInputImage , typename TMaskImage >
double anima::GaussianEMEstimator< TInputImage, TMaskImage >::computeDistance ( std::vector< GaussianFunctionType::Pointer > &  newModel)

◆ CreateAnother()

template<typename TInputImage , typename TMaskImage >
virtual::itk::LightObject::Pointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::CreateAnother ( void  ) const

◆ createJointHistogram()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::createJointHistogram ( )

◆ expectation()

template<typename TInputImage , typename TMaskImage >
double anima::GaussianEMEstimator< TInputImage, TMaskImage >::expectation ( )
virtual

◆ GetAlphas()

template<typename TInputImage , typename TMaskImage >
std::vector<double> anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetAlphas ( )
inline

◆ GetAPosterioriProbability()

template<typename TInputImage , typename TMaskImage >
GenericContainer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetAPosterioriProbability ( )
inline

◆ GetGaussianModel()

template<typename TInputImage , typename TMaskImage >
std::vector<GaussianFunctionType::Pointer> anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetGaussianModel ( )
inline

◆ GetInputImage1()

template<typename TInputImage , typename TMaskImage >
TInputImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetInputImage1 ( )

◆ GetInputImage2()

template<typename TInputImage , typename TMaskImage >
TInputImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetInputImage2 ( )

◆ GetInputImage3()

template<typename TInputImage , typename TMaskImage >
TInputImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetInputImage3 ( )

◆ GetInputImage4()

template<typename TInputImage , typename TMaskImage >
TInputImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetInputImage4 ( )

◆ GetInputImage5()

template<typename TInputImage , typename TMaskImage >
TInputImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetInputImage5 ( )

◆ GetJointHistogram()

template<typename TInputImage , typename TMaskImage >
Histogram anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetJointHistogram ( )
inline

◆ GetLikelihood()

template<typename TInputImage , typename TMaskImage >
virtual double anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetLikelihood ( )
virtual

◆ GetMask()

template<typename TInputImage , typename TMaskImage >
TMaskImage::ConstPointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetMask ( )

◆ GetMaxIterations()

template<typename TInputImage , typename TMaskImage >
virtual unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetMaxIterations ( )
virtual

◆ GetModelMinDistance()

template<typename TInputImage , typename TMaskImage >
virtual double anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetModelMinDistance ( )
virtual

◆ GetNameOfClass()

template<typename TInputImage , typename TMaskImage >
virtual const char* anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented in anima::GaussianREMEstimator< TInputImage, TMaskImage >.

◆ GetVerbose()

template<typename TInputImage , typename TMaskImage >
virtual bool anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetVerbose ( )
virtual

◆ likelihood()

template<typename TInputImage , typename TMaskImage >
double anima::GaussianEMEstimator< TInputImage, TMaskImage >::likelihood ( GaussianFunctionType::CovarianceMatrixType *  invCovariance = NULL,
double *  detCovariance = NULL 
)

◆ maximization()

template<typename TInputImage , typename TMaskImage >
bool anima::GaussianEMEstimator< TInputImage, TMaskImage >::maximization ( std::vector< GaussianFunctionType::Pointer > &  newModel,
std::vector< double > &  newAlphas 
)
virtual

◆ New()

template<typename TInputImage , typename TMaskImage >
static Pointer anima::GaussianEMEstimator< TInputImage, TMaskImage >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::operator= ( const Self )
protected

◆ SetInitialAlphas()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInitialAlphas ( std::vector< double > &  theValue)
inline

◆ SetInitialGaussianModel()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInitialGaussianModel ( std::vector< GaussianFunctionType::Pointer > &  theValue)
inline

Set model to be estimated.

Definition at line 51 of file animaGaussianEMEstimator.h.

References anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_GaussianModel.

◆ SetInputImage1()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInputImage1 ( const TInputImage *  image)

◆ SetInputImage2()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInputImage2 ( const TInputImage *  image)

◆ SetInputImage3()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInputImage3 ( const TInputImage *  image)

◆ SetInputImage4()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInputImage4 ( const TInputImage *  image)

◆ SetInputImage5()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetInputImage5 ( const TInputImage *  image)

◆ SetLikelihood()

template<typename TInputImage , typename TMaskImage >
virtual void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetLikelihood ( double  _arg)
virtual

◆ SetMask()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetMask ( const TMaskImage *  mask)

mask in which the segmentation will be performed

Definition at line 7 of file animaGaussianEMEstimator.hxx.

Referenced by anima::GaussianEMEstimator< TInputImage, TMaskImage >::GetAPosterioriProbability().

◆ SetMaxIterations()

template<typename TInputImage , typename TMaskImage >
virtual void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetMaxIterations ( unsigned int  _arg)
virtual

◆ SetModelMinDistance()

template<typename TInputImage , typename TMaskImage >
virtual void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetModelMinDistance ( double  _arg)
virtual

◆ SetVerbose()

template<typename TInputImage , typename TMaskImage >
virtual void anima::GaussianEMEstimator< TInputImage, TMaskImage >::SetVerbose ( bool  _arg)
virtual

◆ Update()

template<typename TInputImage , typename TMaskImage >
void anima::GaussianEMEstimator< TInputImage, TMaskImage >::Update ( )
virtual

Member Data Documentation

◆ m_Alphas

template<typename TInputImage , typename TMaskImage >
std::vector<double> anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_Alphas
protected

◆ m_APosterioriProbability

template<typename TInputImage , typename TMaskImage >
GenericContainer anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_APosterioriProbability
protected

◆ m_GaussianModel

template<typename TInputImage , typename TMaskImage >
std::vector<GaussianFunctionType::Pointer> anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_GaussianModel
protected

◆ m_ImagesVector

template<typename TInputImage , typename TMaskImage >
std::vector<InputImageConstPointer > anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_ImagesVector
protected

Definition at line 142 of file animaGaussianEMEstimator.h.

◆ m_IndexImage1

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage1
protected

◆ m_IndexImage2

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage2
protected

◆ m_IndexImage3

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage3
protected

◆ m_IndexImage4

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage4
protected

◆ m_IndexImage5

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage5
protected

◆ m_IndexImage6

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_IndexImage6
protected

◆ m_JointHistogram

template<typename TInputImage , typename TMaskImage >
Histogram anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_JointHistogram
protected

joint histogram The points stored here will be used for estimate de model

Definition at line 139 of file animaGaussianEMEstimator.h.

Referenced by anima::GaussianREMEstimator< TInputImage, TMaskImage >::GetConcentrationJointHistogram().

◆ m_JointHistogramInitial

template<typename TInputImage , typename TMaskImage >
Histogram anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_JointHistogramInitial
protected

◆ m_Likelihood

template<typename TInputImage , typename TMaskImage >
double anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_Likelihood
protected

Definition at line 148 of file animaGaussianEMEstimator.h.

◆ m_MaxIterations

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_MaxIterations
protected

◆ m_ModelMinDistance

template<typename TInputImage , typename TMaskImage >
double anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_ModelMinDistance
protected

◆ m_NbInputs

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_NbInputs
protected

◆ m_nbMaxImages

template<typename TInputImage , typename TMaskImage >
unsigned int anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_nbMaxImages
protected

◆ m_Verbose

template<typename TInputImage , typename TMaskImage >
bool anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_Verbose
protected

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