ANIMA
4.0
|
Class performing a robust expectation-maximation (REM) algorithm. Allow finding the 3-classes NABT model estimation. More...
#include <animaGaussianREMEstimator.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::VariableSizeMatrix< NumericType >::InternalMatrixType | DoubleVariableSizeMatrixVnlType |
typedef itk::Statistics::GaussianMembershipFunction< MeasurementVectorType > | GaussianFunctionType |
typedef std::map< Intensities, std::vector< Ocurrences > > | GenericContainer |
typedef std::map< Intensities, Ocurrences > | Histogram |
typedef std::vector< MeasureType > | Intensities |
typedef itk::VariableLengthVector< double > | MeasurementVectorType |
typedef unsigned short | MeasureType |
typedef double | NumericType |
typedef double | Ocurrences |
typedef itk::SmartPointer< Self > | Pointer |
typedef std::map< double, std::vector< unsigned short > > | ResidualMap |
typedef GaussianREMEstimator | Self |
typedef itk::ProcessObject | Superclass |
Public Types inherited from anima::GaussianEMEstimator< TInputImage, TMaskImage > | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::Statistics::GaussianMembershipFunction< MeasurementVectorType > | GaussianFunctionType |
typedef std::map< Intensities, std::vector< Ocurrences > > | GenericContainer |
typedef std::map< Intensities, Ocurrences > | Histogram |
typedef itk::ImageRegionConstIterator< InputImageType > | InputConstIteratorType |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef TInputImage | InputImageType |
typedef std::vector< MeasureType > | Intensities |
typedef itk::ImageRegionConstIterator< MaskImageType > | MaskConstIteratorType |
typedef TMaskImage | MaskImageType |
typedef itk::ImageRegionIterator< MaskImageType > | MaskIteratorType |
typedef itk::VariableLengthVector< NumericType > | MeasurementVectorType |
typedef unsigned short | MeasureType |
typedef double | NumericType |
typedef double | Ocurrences |
typedef itk::SmartPointer< Self > | Pointer |
typedef GaussianEMEstimator | Self |
typedef itk::ProcessObject | Superclass |
Public Member Functions | |
virtual bool | concentration () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
Histogram | GetConcentrationJointHistogram () |
Get the "concentrated" joint histogram This joint histogram is the original without the samples considered outliersm. More... | |
virtual int | GetMaxIterationsConc () |
virtual const char * | GetNameOfClass () const |
virtual double | GetRejectionRatio () |
virtual bool | GetStremMode () |
int | PrintSolution (std::vector< double > alphas, std::vector< GaussianFunctionType::Pointer > model) |
virtual void | SetMaxIterationsConc (int _arg) |
virtual void | SetRejectionRatio (double _arg) |
virtual void | SetStremMode (bool _arg) |
virtual void | Update () ITK_OVERRIDE |
Public Member Functions inherited from anima::GaussianEMEstimator< TInputImage, TMaskImage > | |
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 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) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from anima::GaussianEMEstimator< TInputImage, TMaskImage > | |
static Pointer | New () |
Protected Member Functions | |
GaussianREMEstimator (const Self &) | |
GaussianREMEstimator () | |
void | operator= (const Self &) |
virtual | ~GaussianREMEstimator () |
Protected Member Functions inherited from anima::GaussianEMEstimator< TInputImage, TMaskImage > | |
GaussianEMEstimator (const Self &) | |
GaussianEMEstimator () | |
void | operator= (const Self &) |
virtual | ~GaussianEMEstimator () |
Protected Attributes | |
int | m_MaxIterationsConc |
max number of iterations between to concentration steps More... | |
Histogram | m_OriginalJointHistogram |
input joint histogram, it will never be modified More... | |
double | m_RejectionRatio |
ratio of rejection This is the ratio of samples that will be trimmed to calculate the estimation Value between 0.0 and 1.0 (normally < 0.5) More... | |
bool | m_StremMode |
doing as STREM => first a complete EM before concentration. It may be useful if initializations are not good More... | |
Protected Attributes inherited from anima::GaussianEMEstimator< TInputImage, TMaskImage > | |
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< InputImageConstPointer > | m_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 |
Class performing a robust expectation-maximation (REM) algorithm. Allow finding the 3-classes NABT model estimation.
The algotrithm consists in maximizing the trimmed likelihood instead of the likelihood in order to make it more robust to outliers. The trimming parameter m_RejectionRatio determines how many voxels are rejected from the estimation. In other words, the likelihood is only computed with the voxels that are the most likely to belong to the model. For m_RejectionRatio = 0, the REM algorithm is equivalent to the original EM.
Definition at line 19 of file animaGaussianREMEstimator.h.
typedef itk::SmartPointer<const Self> anima::GaussianREMEstimator< TInputImage, TMaskImage >::ConstPointer |
Definition at line 27 of file animaGaussianREMEstimator.h.
typedef itk::VariableSizeMatrix< NumericType >::InternalMatrixType anima::GaussianREMEstimator< TInputImage, TMaskImage >::DoubleVariableSizeMatrixVnlType |
Definition at line 36 of file animaGaussianREMEstimator.h.
typedef itk::Statistics::GaussianMembershipFunction< MeasurementVectorType > anima::GaussianREMEstimator< TInputImage, TMaskImage >::GaussianFunctionType |
Definition at line 46 of file animaGaussianREMEstimator.h.
typedef std::map< Intensities, std::vector<Ocurrences> > anima::GaussianREMEstimator< TInputImage, TMaskImage >::GenericContainer |
Definition at line 41 of file animaGaussianREMEstimator.h.
typedef std::map<Intensities,Ocurrences> anima::GaussianREMEstimator< TInputImage, TMaskImage >::Histogram |
Definition at line 42 of file animaGaussianREMEstimator.h.
typedef std::vector<MeasureType> anima::GaussianREMEstimator< TInputImage, TMaskImage >::Intensities |
Definition at line 40 of file animaGaussianREMEstimator.h.
typedef itk::VariableLengthVector<double> anima::GaussianREMEstimator< TInputImage, TMaskImage >::MeasurementVectorType |
Definition at line 45 of file animaGaussianREMEstimator.h.
typedef unsigned short anima::GaussianREMEstimator< TInputImage, TMaskImage >::MeasureType |
Definition at line 39 of file animaGaussianREMEstimator.h.
typedef double anima::GaussianREMEstimator< TInputImage, TMaskImage >::NumericType |
Definition at line 33 of file animaGaussianREMEstimator.h.
typedef double anima::GaussianREMEstimator< TInputImage, TMaskImage >::Ocurrences |
Definition at line 38 of file animaGaussianREMEstimator.h.
typedef itk::SmartPointer<Self> anima::GaussianREMEstimator< TInputImage, TMaskImage >::Pointer |
Definition at line 26 of file animaGaussianREMEstimator.h.
typedef std::map<double,std::vector<unsigned short> > anima::GaussianREMEstimator< TInputImage, TMaskImage >::ResidualMap |
Definition at line 43 of file animaGaussianREMEstimator.h.
typedef GaussianREMEstimator anima::GaussianREMEstimator< TInputImage, TMaskImage >::Self |
Standard class typedefs.
Definition at line 24 of file animaGaussianREMEstimator.h.
typedef itk::ProcessObject anima::GaussianREMEstimator< TInputImage, TMaskImage >::Superclass |
Definition at line 25 of file animaGaussianREMEstimator.h.
|
protected |
|
inlineprotected |
Definition at line 75 of file animaGaussianREMEstimator.h.
References anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_MaxIterations, anima::GaussianREMEstimator< TInputImage, TMaskImage >::m_MaxIterationsConc, anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_ModelMinDistance, and anima::GaussianREMEstimator< TInputImage, TMaskImage >::m_StremMode.
Referenced by anima::GaussianREMEstimator< TInputImage, TMaskImage >::GetConcentrationJointHistogram().
|
inlineprotectedvirtual |
Definition at line 84 of file animaGaussianREMEstimator.h.
|
virtual |
Definition at line 7 of file animaGaussianREMEstimator.hxx.
References anima::GaussianREMEstimator< TInputImage, TMaskImage >::PrintSolution(), and anima::xi().
virtual::itk::LightObject::Pointer anima::GaussianREMEstimator< TInputImage, TMaskImage >::CreateAnother | ( | void | ) | const |
|
inline |
Get the "concentrated" joint histogram This joint histogram is the original without the samples considered outliersm.
Definition at line 58 of file animaGaussianREMEstimator.h.
References anima::GaussianREMEstimator< TInputImage, TMaskImage >::GaussianREMEstimator(), anima::GaussianEMEstimator< TInputImage, TMaskImage >::m_JointHistogram, and anima::GaussianREMEstimator< TInputImage, TMaskImage >::operator=().
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from anima::GaussianEMEstimator< TInputImage, TMaskImage >.
|
virtual |
|
virtual |
|
static |
Method for creation through the object factory.
|
protected |
int anima::GaussianREMEstimator< TInputImage, TMaskImage >::PrintSolution | ( | std::vector< double > | alphas, |
std::vector< GaussianFunctionType::Pointer > | model | ||
) |
Definition at line 124 of file animaGaussianREMEstimator.hxx.
Referenced by anima::GaussianREMEstimator< TInputImage, TMaskImage >::concentration().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from anima::GaussianEMEstimator< TInputImage, TMaskImage >.
Definition at line 150 of file animaGaussianREMEstimator.hxx.
|
protected |
max number of iterations between to concentration steps
Definition at line 94 of file animaGaussianREMEstimator.h.
Referenced by anima::GaussianREMEstimator< TInputImage, TMaskImage >::GaussianREMEstimator().
|
protected |
input joint histogram, it will never be modified
Definition at line 103 of file animaGaussianREMEstimator.h.
|
protected |
ratio of rejection This is the ratio of samples that will be trimmed to calculate the estimation Value between 0.0 and 1.0 (normally < 0.5)
Definition at line 90 of file animaGaussianREMEstimator.h.
|
protected |
doing as STREM => first a complete EM before concentration. It may be useful if initializations are not good
Definition at line 98 of file animaGaussianREMEstimator.h.
Referenced by anima::GaussianREMEstimator< TInputImage, TMaskImage >::GaussianREMEstimator().