1 #ifndef __otbSEMClassifier_h
2 #define __otbSEMClassifier_h
42 template<
class TInputImage,
class TOutputImage>
45 typename itk::Statistics::ListSample<typename TInputImage::PixelType> >
98 void SetSample(
const TInputImage * sample);
101 const TInputImage* GetSample()
const;
117 void SetClassLabels(TOutputImage * imgLabels);
121 void SetNumberOfClasses(
int theSize);
122 unsigned int GetNumberOfClasses();
128 itkSetMacro(MaximumIteration,
int);
129 itkGetMacro(MaximumIteration,
int);
133 void SetNeighborhood(
int neighborhood);
134 int GetNeighborhood();
137 int GetCurrentIteration();
146 typedef enum { CONVERGED = 0, NOT_CONVERGED = 1 } TerminationCodeType;
151 itkSetMacro(TerminationThreshold,
double);
152 itkGetMacro(TerminationThreshold,
double);
155 itkGetMacro(TerminationCode, TerminationCodeType);
158 OutputType * GetOutput();
161 TOutputImage * GetOutputImage();
166 void PrintSelf(std::ostream& os,
itk::Indent indent)
const;
170 void InitParameters();
172 void PerformStochasticProcess();
174 void PerformExpectationProcess();
178 void PerformMaximizationProcess();
180 void GetMaximumAposterioriLabels();
211 #ifndef OTB_MANUAL_INSTANTIATION