18 #ifndef itkRGBGibbsPriorFilter_h
19 #define itkRGBGibbsPriorFilter_h
21 #include "vnl/vnl_vector.h"
22 #include "vnl/vnl_matrix.h"
46 template<
typename TInputImage,
typename TClassifiedImage >
110 {
return m_LabelledImage; }
113 void SetClassifier(
typename ClassifierType::Pointer ptrToClassifier);
118 itkDebugMacro(
"setting NumberOfClasses to " << numberOfClasses );
119 if ( this->m_NumberOfClasses != numberOfClasses )
121 this->m_NumberOfClasses = numberOfClasses;
130 return this->m_NumberOfClasses;
137 itkDebugMacro(
"setting MaximumNumberOfIterations to " << numberOfIterations);
138 if ( this->m_MaximumNumberOfIterations != numberOfIterations )
140 this->m_MaximumNumberOfIterations = numberOfIterations;
150 return this->m_MaximumNumberOfIterations;
154 itkSetMacro(ClusterSize,
unsigned int);
157 itkSetMacro(ObjectLabel, LabelType);
160 itkStaticConstMacro(ImageDimension,
unsigned int,
161 TInputImage::ImageDimension);
165 itkSetMacro(BoundaryGradient,
unsigned int);
167 itkSetMacro(ObjectThreshold,
double);
170 itkSetMacro(CliqueWeight_1,
double);
171 itkGetConstMacro(CliqueWeight_1,
double);
172 itkSetMacro(CliqueWeight_2,
double);
173 itkGetConstMacro(CliqueWeight_2,
double);
174 itkSetMacro(CliqueWeight_3,
double);
175 itkGetConstMacro(CliqueWeight_3,
double);
176 itkSetMacro(CliqueWeight_4,
double);
177 itkGetConstMacro(CliqueWeight_4,
double);
178 itkSetMacro(CliqueWeight_5,
double);
179 itkGetConstMacro(CliqueWeight_5,
double);
180 itkSetMacro(CliqueWeight_6,
double);
181 itkGetConstMacro(CliqueWeight_6,
double);
190 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
194 virtual
void MinimizeFunctional() ITK_OVERRIDE;
196 virtual
void GenerateData() ITK_OVERRIDE;
198 virtual
void ApplyGibbsLabeller();
200 virtual
void ApplyGPImageFilter();
202 #ifdef ITK_USE_CONCEPT_CHECKING
206 itkGetStaticConstMacro(ClassifiedImageType::ImageDimension) > ) );
214 void operator=(
const Self &);
290 void GibbsTotalEnergy(
int i);
293 double GibbsEnergy(
unsigned int i,
unsigned int k,
unsigned int k1);
311 #ifndef ITK_MANUAL_INSTANTIATION
312 #include "itkRGBGibbsPriorFilter.hxx"
Light weight base class for most itk classes.
virtual void SetNumberOfClasses(const unsigned int numberOfClasses) override
SmartPointer< Self > Pointer
TClassifiedImage ClassifiedImageType
Superclass::InputImageRegionConstIterator InputImageRegionConstIterator
signed long IndexValueType
TInputImage::SizeType InputImageSizeType
SmartPointer< const Self > ConstPointer
TClassifiedImage::Pointer LabelledImageType
ClassifierType::Pointer m_ClassifierPtr
TClassifiedImage::IndexType LabelledImageIndexType
Base class for the ImageClassifierBase object.
virtual void SetMaximumNumberOfIterations(const unsigned int numberOfIterations) override
Implementation of a labeller object that uses Markov Random Fields to classify pixels in an image dat...
virtual unsigned int GetNumberOfClasses() const override
TInputImage::PixelType InputImageVecType
LabelledImageType GetLabelledImage()
unsigned int m_ImageHeight
virtual unsigned int GetMaximumNumberOfIterations() const override
TClassifiedImage::Pointer TrainingImageType
TInputImage::IndexType IndexType
Superclass::IndexValueType IndexValueType
TInputImage::Pointer InputImagePointer
Superclass::LabelledImageRegionIterator LabelledImageRegionIterator
Superclass::InputImagePixelType InputImagePixelType
Superclass::LabelledImagePixelType LabelledImagePixelType
The RGBGibbsPriorFilter applies Gibbs Prior model for the segmentation of MRF images.
vnl_matrix< double > MatrixType
TInputImage::ConstPointer InputImageConstPointer
Control indentation during Print() invocation.
ImageClassifierBase< TInputImage, TClassifiedImage > ClassifierType
ImageBaseType::SizeType SizeType
MRFImageFilter< TInputImage, TClassifiedImage > Superclass
Superclass::InputImageRegionIterator InputImageRegionIterator
#define itkConceptMacro(name, concept)
TInputImage::PixelType InputPixelType
TInputImage InputImageType
unsigned int m_ImageDepth
ImageBaseType::IndexType IndexType