18#ifndef itkRGBGibbsPriorFilter_h
19#define itkRGBGibbsPriorFilter_h
21#include "vnl/vnl_vector.h"
22#include "vnl/vnl_matrix.h"
55template <
typename TInputImage,
typename TClassifiedImage>
136 itkDebugMacro(
"setting NumberOfClasses to " << numberOfClasses);
157 itkDebugMacro(
"setting MaximumNumberOfIterations to " << numberOfIterations);
175 itkSetMacro(ClusterSize,
unsigned int);
176 itkGetConstMacro(ClusterSize,
unsigned int);
190 itkSetMacro(BoundaryGradient,
unsigned int);
191 itkGetConstMacro(BoundaryGradient,
unsigned int);
193 itkSetMacro(ObjectThreshold,
double);
194 itkGetConstMacro(ObjectThreshold,
double);
197 itkSetMacro(CliqueWeight_1,
double);
198 itkGetConstMacro(CliqueWeight_1,
double);
199 itkSetMacro(CliqueWeight_2,
double);
200 itkGetConstMacro(CliqueWeight_2,
double);
201 itkSetMacro(CliqueWeight_3,
double);
202 itkGetConstMacro(CliqueWeight_3,
double);
203 itkSetMacro(CliqueWeight_4,
double);
204 itkGetConstMacro(CliqueWeight_4,
double);
205 itkSetMacro(CliqueWeight_5,
double);
206 itkGetConstMacro(CliqueWeight_5,
double);
207 itkSetMacro(CliqueWeight_6,
double);
208 itkGetConstMacro(CliqueWeight_6,
double);
310 std::unique_ptr<unsigned short[]>
m_Region{
nullptr };
369#ifndef ITK_MANUAL_INSTANTIATION
370# include "itkRGBGibbsPriorFilter.hxx"
Base class for the ImageClassifierBase object.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
ImageRegionIterator< TClassifiedImage > LabelledImageRegionIterator
ImageRegionConstIterator< TInputImage > InputImageRegionConstIterator
typename LabelledImageIndexType::IndexValueType IndexValueType
ImageRegionIterator< TInputImage > InputImageRegionIterator
typename TClassifiedImage::PixelType LabelledImagePixelType
typename TInputImage::PixelType InputImagePixelType
virtual void Modified() const
ImageClassifierBase< TInputImage, TClassifiedImage > ClassifierType
~RGBGibbsPriorFilter() override=default
TrainingImageType m_TrainingImage
MRFImageFilter< TInputImage, TClassifiedImage > Superclass
void SetMaximumNumberOfIterations(const unsigned int numberOfIterations) override
typename TInputImage::IndexType IndexType
vnl_matrix< double > MatrixType
unsigned int m_ImageHeight
SmartPointer< const Self > ConstPointer
typename TClassifiedImage::IndexType LabelledImageIndexType
unsigned int m_NumberOfClasses
void GibbsTotalEnergy(int i)
void GenerateData() override
void SetClassifier(typename ClassifierType::Pointer ptrToClassifier)
TInputImage InputImageType
InputPixelType m_LowPoint
SmartPointer< Self > Pointer
typename TInputImage::PixelType InputPixelType
unsigned int m_ImageWidth
unsigned int GetMaximumNumberOfIterations() const override
void SetNumberOfClasses(const unsigned int numberOfClasses) override
unsigned int LabelRegion(int i, int l, int change)
double GibbsEnergy(unsigned int i, unsigned int k, unsigned int k1)
typename TClassifiedImage::Pointer LabelledImageType
void GreyScalarBoundary(LabelledImageIndexType Index3D)
ClassifierType::Pointer m_ClassifierPtr
InputImagePointer m_MediumImage
unsigned int m_BoundaryGradient
unsigned int m_ClusterSize
unsigned int GetNumberOfClasses() const override
static constexpr unsigned int ImageDimension
LabelledImageType GetLabelledImage()
typename TInputImage::Pointer InputImagePointer
typename TClassifiedImage::Pointer TrainingImageType
void MinimizeFunctional() override
InputImageConstPointer m_InputImage
typename TInputImage::SizeType InputImageSizeType
TClassifiedImage ClassifiedImageType
typename TInputImage::PixelType InputImageVecType
void GenerateMediumImage()
typename TInputImage::ConstPointer InputImageConstPointer
double m_GibbsPriorWeight
std::unique_ptr< unsigned short[]> m_RegionCount
virtual void ApplyGPImageFilter()
unsigned int m_ImageDepth
void SetLabelledImage(LabelledImageType image)
unsigned int m_MaximumNumberOfIterations
virtual void ApplyGibbsLabeller()
std::unique_ptr< LabelType[]> m_LabelStatus
void PrintSelf(std::ostream &os, Indent indent) const override
LabelledImageType m_LabelledImage
std::unique_ptr< unsigned short[]> m_Region
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....