5 #include <itkGaussianMembershipFunction.h> 14 template <
typename TInputImage,
typename TMaskImage>
46 void Update() ITK_OVERRIDE;
69 bool GetSolutionMap(std::map<
double,std::vector<GaussianFunctionType::Pointer> > &solution, std::map<
double, std::vector<double> > &solutionAlpha,
int step=-1);
71 void SetStrategy( std::vector< unsigned int >& ems, std::vector<unsigned int> &iters );
73 itkSetMacro(EM_Mode,
bool);
74 itkGetMacro(EM_Mode,
bool);
101 bool sameModel( std::vector<GaussianFunctionType::Pointer> &mod1,std::vector<GaussianFunctionType::Pointer> &mod2);
bool sameModel(std::vector< GaussianFunctionType::Pointer > &mod1, std::vector< GaussianFunctionType::Pointer > &mod2)
compare two models
virtual ~ClassificationStrategy()
GaussianREMEstimatorType::Pointer GaussianREMEstimatorPointerType
std::vector< unsigned int > GetNumberOfIterations() const
std::vector< std::map< double, std::vector< GaussianFunctionType::Pointer > > > m_ListGaussianModels
vector with all the solutions found in each step For EM's the double value stores the -likelihood...
void SetInitializer(RandomInitializer::Pointer theValue)
set the m_RandomInitializer method
std::vector< unsigned int > GetNumberOfEstimators() const
Class performing a robust expectation-maximation (REM) algorithm. Allow finding the 3-classes NABT mo...
itk::Statistics::GaussianMembershipFunction< MeasurementVectorType > GaussianFunctionType
std::vector< std::map< double, std::vector< double > > > m_ListAlphas
void operator=(const Self &)
bool m_EM_Mode
modification of processing if an em is being used
itk::SmartPointer< const Self > ConstPointer
void SetNumberOfIterations(std::vector< unsigned int > NumberOfIterations)
void SetStrategy(std::vector< unsigned int > &ems, std::vector< unsigned int > &iters)
TInputImage InputImageType
void SetEstimator(GaussianREMEstimatorPointerType theValue)
set the estimation algorithm to use The algorithm must be already configured with the joint histogram...
ClassificationStrategy Self
bool GetSolutionMap(std::map< double, std::vector< GaussianFunctionType::Pointer > > &solution, std::map< double, std::vector< double > > &solutionAlpha, int step=-1)
return the solutions map for each step
void SetNumberOfEstimators(std::vector< unsigned int > NumberOfEstimators)
Class initializing ramdomly a gaussian model.
itk::SmartPointer< Self > Pointer
itk::VariableLengthVector< double > MeasurementVectorType
itk::SmartPointer< Self > Pointer
RandomInitializer::Pointer m_RandomInitializer
Initialization object.
std::vector< unsigned int > m_NumberOfEstimators
vector with the number of random estimations for each step
GaussianREMEstimator< InputImageType, MaskImageType > GaussianREMEstimatorType
itk::ProcessObject Superclass
GaussianREMEstimatorPointerType m_Estimator
estimation algorithm object
std::vector< unsigned int > m_NumberOfIterations
vector with the iterations for each step
RandomInitializer * getInitializer()
return m_RandomInitializer object
itk::SmartPointer< Self > Pointer
void Update() ITK_OVERRIDE
executes the strategy