17 #ifndef __itkRGBGibbsPriorFilter_h
18 #define __itkRGBGibbsPriorFilter_h
20 #include "vnl/vnl_vector.h"
21 #include "vnl/vnl_matrix.h"
46 template <
class TInputImage,
class TClassifiedImage>
109 {
return m_LabelledImage; }
112 void SetClassifier(
typename ClassifierType::Pointer ptrToClassifier );
115 itkSetMacro(NumberOfClasses,
unsigned int);
118 itkGetConstMacro(NumberOfClasses,
unsigned int);
122 itkSetMacro(MaximumNumberOfIterations,
unsigned int);
126 itkGetConstMacro(MaximumNumberOfIterations,
unsigned int);
129 itkSetMacro(ClusterSize,
unsigned int);
132 itkSetMacro( ObjectLabel, LabelType );
135 itkStaticConstMacro(ImageDimension,
unsigned int,
136 TInputImage::ImageDimension);
140 itkSetMacro(BoundaryGradient,
unsigned int);
142 itkSetMacro(ObjectThreshold,
double);
145 itkSetMacro(CliqueWeight_1,
double);
146 itkGetConstMacro(CliqueWeight_1,
double);
147 itkSetMacro(CliqueWeight_2,
double);
148 itkGetConstMacro(CliqueWeight_2,
double);
149 itkSetMacro(CliqueWeight_3,
double);
150 itkGetConstMacro(CliqueWeight_3,
double);
151 itkSetMacro(CliqueWeight_4,
double);
152 itkGetConstMacro(CliqueWeight_4,
double);
153 itkSetMacro(CliqueWeight_5,
double);
154 itkGetConstMacro(CliqueWeight_5,
double);
155 itkSetMacro(CliqueWeight_6,
double);
156 itkGetConstMacro(CliqueWeight_6,
double);
165 void PrintSelf(std::ostream& os,
Indent indent)
const;
169 virtual void MinimizeFunctional();
170 virtual void GenerateData();
171 virtual void ApplyGibbsLabeller();
172 virtual void ApplyGPImageFilter();
177 void operator=(
const Self&);
221 void GibbsTotalEnergy(
int i);
224 double GibbsEnergy(
unsigned int i,
unsigned int k,
unsigned int k1);
226 int Sim(
int a,
int b);
227 unsigned int LabelRegion(
int i,
int l,
int change);
229 void GenerateMediumImage();
237 #ifndef ITK_MANUAL_INSTANTIATION