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 itkSetMacro(ClusterSize,
unsigned int);
137 itkGetConstMacro(ClusterSize,
unsigned int);
152 itkSetMacro(BoundaryGradient,
unsigned int);
153 itkGetConstMacro(BoundaryGradient,
unsigned int);
155 itkSetMacro(ObjectThreshold,
double);
156 itkGetConstMacro(ObjectThreshold,
double);
160 itkSetMacro(CliqueWeight_1,
double);
161 itkGetConstMacro(CliqueWeight_1,
double);
162 itkSetMacro(CliqueWeight_2,
double);
163 itkGetConstMacro(CliqueWeight_2,
double);
164 itkSetMacro(CliqueWeight_3,
double);
165 itkGetConstMacro(CliqueWeight_3,
double);
166 itkSetMacro(CliqueWeight_4,
double);
167 itkGetConstMacro(CliqueWeight_4,
double);
168 itkSetMacro(CliqueWeight_5,
double);
169 itkGetConstMacro(CliqueWeight_5,
double);
170 itkSetMacro(CliqueWeight_6,
double);
171 itkGetConstMacro(CliqueWeight_6,
double);
267 std::unique_ptr<unsigned short[]>
m_Region{
nullptr };
326#ifndef ITK_MANUAL_INSTANTIATION
327# 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
ImageClassifierBase< TInputImage, TClassifiedImage > ClassifierType
~RGBGibbsPriorFilter() override=default
TrainingImageType m_TrainingImage
MRFImageFilter< TInputImage, TClassifiedImage > Superclass
typename TInputImage::IndexType IndexType
vnl_matrix< double > MatrixType
unsigned int m_ImageHeight
SmartPointer< const Self > ConstPointer
typename TClassifiedImage::IndexType LabelledImageIndexType
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 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
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)
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....