18 #ifndef itkMRFImageFilter_h
19 #define itkMRFImageFilter_h
21 #include "vnl/vnl_vector.h"
22 #include "vnl/vnl_matrix.h"
124 template<
typename TInputImage,
typename TClassifiedImage >
159 TInputImage::ImageDimension);
192 TClassifiedImage::ImageDimension);
216 typedef typename InputImageFaceListType::iterator
232 typedef typename LabelledImageFaceListType::iterator
239 itkSetMacro(NumberOfClasses,
unsigned int);
240 itkGetConstMacro(NumberOfClasses,
unsigned int);
257 itkSetMacro(SmoothingFactor,
double);
258 itkGetConstMacro(SmoothingFactor,
double);
306 itkGetConstReferenceMacro(NumberOfIterations,
unsigned int);
308 #ifdef ITK_USE_CONCEPT_CHECKING
365 void operator=(const Self &);
419 #ifndef ITK_MANUAL_INSTANTIATION
420 #include "itkMRFImageFilter.hxx"
unsigned int m_NumberOfClasses
static const unsigned int ClassifiedImageDimension
Superclass::RegionType RegionType
Image< int, itkGetStaticConstMacro(InputImageDimension) > LabelStatusImageType
TInputImage::RegionType InputImageRegionType
Light weight base class for most itk classes.
LabelledImageIndexType::IndexValueType IndexValueType
void PrintSelf(std::ostream &os, Indent indent) const override
LabelledImageFacesCalculator::FaceListType LabelledImageFaceListType
InputImageFaceListType::iterator InputImageFaceListIterator
NeighborhoodIterator< LabelStatusImageType > LabelStatusImageNeighborhoodIterator
TClassifiedImage::PixelType LabelledImagePixelType
LabelStatusImageType::RegionType LabelStatusRegionType
TClassifiedImage::IndexType LabelledImageIndexType
virtual void GenerateOutputInformation() override
std::vector< double > m_MahalanobisDistance
int m_TotalNumberOfPixelsInInputImage
LabelStatusImageType::IndexType LabelStatusIndexType
signed long IndexValueType
SmartPointer< const Self > ConstPointer
InputImageFacesCalculator::FaceListType InputImageFaceListType
TInputImage::PixelType InputImagePixelType
ImageRegionIterator< TInputImage > InputImageRegionIterator
double * m_ClassProbability
LabelStatusImageNeighborhoodIterator::RadiusType LabelStatusImageNeighborhoodRadiusType
void SetClassifier(typename ClassifierType::Pointer ptrToClassifier)
InputImageNeighborhoodIterator::RadiusType InputImageNeighborhoodRadiusType
NeighborhoodIterator< TClassifiedImage > LabelledImageNeighborhoodIterator
virtual void EnlargeOutputRequestedRegion(DataObject *) override
std::vector< double > m_MRFNeighborhoodWeight
TClassifiedImage::OffsetType LabelledImageOffsetType
virtual void GenerateData() override
Superclass::RadiusType RadiusType
LabelStatusImagePointer m_LabelStatusImage
LabelledImageNeighborhoodIterator::RadiusType LabelledImageNeighborhoodRadiusType
Base class for the ImageClassifierBase object.
unsigned long SizeValueType
TClassifiedImage::Pointer TrainingImagePointer
TClassifiedImage::RegionType LabelledImageRegionType
std::vector< double > m_DummyVector
LabelStatusImageFaceListType::iterator LabelStatusImageFaceListIterator
Implementation of a labeller object that uses Markov Random Fields to classify pixels in an image dat...
ImageToImageFilter< TInputImage, TClassifiedImage > Superclass
unsigned int m_NumberOfIterations
virtual void SetMRFNeighborhoodWeight(std::vector< double > BetaMatrix)
unsigned int m_MaximumNumberOfIterations
ClassifierType::Pointer m_ClassifierPtr
ImageRegionIterator< TClassifiedImage > LabelledImageRegionIterator
Splits an image into a main region and several "face" regions which are used to handle computations o...
virtual void ApplyMRFImageFilter()
typedef(Concept::Convertible< unsigned int, LabelledImagePixelType >) UnsignedIntConvertibleToClassifiedCheck
TClassifiedImage::PixelType TrainingImagePixelType
OutputImageType::Pointer OutputImagePointer
int m_TotalNumberOfValidPixelsInOutputImage
ImageRegionConstIterator< TInputImage > InputImageRegionConstIterator
virtual void SetDefaultMRFNeighborhoodWeight()
ConstNeighborhoodIterator< TInputImage > InputImageNeighborhoodIterator
TClassifiedImage::Pointer LabelledImagePointer
A multi-dimensional iterator templated over image type that walks a region of pixels.
Superclass::IndexType IndexType
virtual void DoNeighborhoodOperation(const InputImageNeighborhoodIterator &imageIter, LabelledImageNeighborhoodIterator &labelledIter, LabelStatusImageNeighborhoodIterator &labelStatusIter)
unsigned int m_KernelSize
TInputImage::SizeType NeighborhoodRadiusType
LabelStatusImageNeighborhoodRadiusType m_LabelStatusImageNeighborhoodRadius
Superclass::OutputImagePointer OutputImagePointer
LabelledImageFaceListType::iterator LabelledImageFaceListIterator
SmartPointer< Self > Pointer
InputImageNeighborhoodRadiusType m_InputImageNeighborhoodRadius
TInputImage::SizeType SizeType
virtual std::vector< double > GetMRFNeighborhoodWeight()
NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TInputImage > InputImageFacesCalculator
Superclass::RadiusType RadiusType
const NeighborhoodRadiusType GetNeighborhoodRadius() const
virtual void GenerateInputRequestedRegion() override
TInputImage::Pointer InputImagePointer
LabelledImageNeighborhoodRadiusType m_LabelledImageNeighborhoodRadius
std::list< RegionType > FaceListType
ImageClassifierBase< TInputImage, TClassifiedImage > ClassifierType
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
TInputImage::ConstPointer InputImageConstPointer
static const unsigned int InputImageDimension
std::vector< double > m_NeighborInfluence
LabelStatusImageFacesCalculator::FaceListType LabelStatusImageFaceListType
virtual void MinimizeFunctional()
StopConditionType m_StopCondition
TInputImage InputImageType
Base class for most ITK classes.
ImageRegionIterator< LabelStatusImageType > LabelStatusImageIterator
#define itkConceptMacro(name, concept)
void SetNeighborhoodRadius(const NeighborhoodRadiusType &)
NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TClassifiedImage > LabelledImageFacesCalculator
Base class for all data objects in ITK.
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
Templated n-dimensional image class.
A multi-dimensional iterator templated over image type that walks a region of pixels.
LabelStatusImageType::Pointer LabelStatusImagePointer
TInputImage::SizeType InputImageSizeType