ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkRGBGibbsPriorFilter.h>
Public Types | |
typedef TClassifiedImage | ClassifiedImageType |
typedef ImageClassifierBase < TInputImage, TClassifiedImage > | ClassifierType |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef Superclass::IndexValueType | IndexValueType |
typedef TInputImage::ConstPointer | InputImageConstPointer |
typedef Superclass::InputImagePixelType | InputImagePixelType |
typedef TInputImage::Pointer | InputImagePointer |
typedef Superclass::InputImageRegionConstIterator | InputImageRegionConstIterator |
typedef Superclass::InputImageRegionIterator | InputImageRegionIterator |
typedef TInputImage | InputImageType |
typedef TInputImage::PixelType | InputImageVecType |
typedef TInputImage::PixelType | InputPixelType |
typedef TClassifiedImage::IndexType | LabelledImageIndexType |
typedef Superclass::LabelledImagePixelType | LabelledImagePixelType |
typedef Superclass::LabelledImageRegionIterator | LabelledImageRegionIterator |
typedef TClassifiedImage::Pointer | LabelledImageType |
typedef unsigned int | LabelType |
typedef SmartPointer< Self > | Pointer |
typedef RGBGibbsPriorFilter | Self |
typedef MRFImageFilter < TInputImage, TClassifiedImage > | Superclass |
typedef TClassifiedImage::Pointer | TrainingImageType |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
LabelledImageType | GetLabelledImage () |
virtual unsigned int | GetMaximumNumberOfIterations () const |
virtual const char * | GetNameOfClass () const |
virtual unsigned int | GetNumberOfClasses () const |
virtual void | SetBoundaryGradient (unsigned int _arg) |
void | SetClassifier (typename ClassifierType::Pointer ptrToClassifier) |
virtual void | SetClusterSize (unsigned int _arg) |
void | SetLabelledImage (LabelledImageType LabelledImage) |
virtual void | SetMaximumNumberOfIterations (unsigned int _arg) |
virtual void | SetNumberOfClasses (unsigned int _arg) |
virtual void | SetObjectLabel (LabelType _arg) |
virtual void | SetObjectThreshold (double _arg) |
virtual void | SetStartPoint (IndexType _arg) |
void | SetTrainingImage (TrainingImageType image) |
virtual void | SetCliqueWeight_1 (double _arg) |
virtual double | GetCliqueWeight_1 () const |
virtual void | SetCliqueWeight_2 (double _arg) |
virtual double | GetCliqueWeight_2 () const |
virtual void | SetCliqueWeight_3 (double _arg) |
virtual double | GetCliqueWeight_3 () const |
virtual void | SetCliqueWeight_4 (double _arg) |
virtual double | GetCliqueWeight_4 () const |
virtual void | SetCliqueWeight_5 (double _arg) |
virtual double | GetCliqueWeight_5 () const |
virtual void | SetCliqueWeight_6 (double _arg) |
virtual double | GetCliqueWeight_6 () const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Protected Member Functions | |
virtual void | ApplyGibbsLabeller () |
virtual void | ApplyGPImageFilter () |
virtual void | GenerateData () |
virtual void | MinimizeFunctional () |
typedef (Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), itkGetStaticConstMacro(ClassifiedImageType::ImageDimension) >) SameDimension | |
typedef (Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), 3 >) DimensionShouldBe3 | |
Private Types | |
typedef TInputImage::SizeType | InputImageSizeType |
Private Member Functions | |
double | GibbsEnergy (unsigned int i, unsigned int k, unsigned int k1) |
void | GibbsTotalEnergy (int i) |
void | operator= (const Self &) |
RGBGibbsPriorFilter (const Self &) | |
Private Attributes | |
ClassifierType::Pointer | m_ClassifierPtr |
unsigned int | m_ImageDepth |
unsigned int | m_ImageHeight |
double | m_ObjectThreshold |
typedef vnl_matrix< double > | MatrixType |
RGBGibbsPriorFilter () | |
~RGBGibbsPriorFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
The RGBGibbsPriorFilter applies Gibbs Prior model for the segmentation of MRF images.
The core of the method is based on the minimization of a Gibbsian energy function. This energy function f can be divided into three part: f = f_1 + f_2 + f_3; f_1 is related to the object homogeneity, f_2 is related to the boundary smoothness, f_3 is related to the constraint of the observation (or the noise model). The two force components f_1 and f_3 are minimized by the GradientEnergy method while f_2 is minized by the GibbsTotalEnergy method.
This filter only works with 3D images.
Definition at line 47 of file itkRGBGibbsPriorFilter.h.
typedef TClassifiedImage itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ClassifiedImageType |
Type definitions for the training image.
Definition at line 80 of file itkRGBGibbsPriorFilter.h.
typedef ImageClassifierBase< TInputImage, TClassifiedImage > itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ClassifierType |
Type definitions for classifier to be used for the MRF lavbelling.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 96 of file itkRGBGibbsPriorFilter.h.
typedef SmartPointer< const Self > itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ConstPointer |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 55 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::IndexType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::IndexType |
Definition at line 100 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::IndexValueType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::IndexValueType |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 69 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::ConstPointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageConstPointer |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 74 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::InputImagePixelType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImagePixelType |
Types from superclass.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 61 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImagePointer |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 73 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::InputImageRegionConstIterator itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageRegionConstIterator |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 65 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::InputImageRegionIterator itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageRegionIterator |
Type definition for the input image region iterator
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 66 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::SizeType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageSizeType [private] |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 194 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageType |
A smart pointer to the input image type.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 72 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::PixelType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputImageVecType |
The type of input pixel.
Definition at line 99 of file itkRGBGibbsPriorFilter.h.
typedef TInputImage::PixelType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::InputPixelType |
Type definition for the input image pixel type.
Definition at line 77 of file itkRGBGibbsPriorFilter.h.
typedef TClassifiedImage::IndexType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::LabelledImageIndexType |
Type definition for the classified image index type.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 88 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::LabelledImagePixelType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::LabelledImagePixelType |
Type definitions for the classified image pixel type. It has to be the same type as the training image.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 68 of file itkRGBGibbsPriorFilter.h.
typedef Superclass::LabelledImageRegionIterator itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::LabelledImageRegionIterator |
Type definition for the input image region iterator
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 67 of file itkRGBGibbsPriorFilter.h.
typedef TClassifiedImage::Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::LabelledImageType |
Type definitions for the labelled image. It is derived from the training image.
Definition at line 85 of file itkRGBGibbsPriorFilter.h.
typedef unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::LabelType |
Type used as identifier for the Labels
Definition at line 93 of file itkRGBGibbsPriorFilter.h.
typedef vnl_matrix< double > itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::MatrixType |
Specify the type of matrix to use.
Definition at line 157 of file itkRGBGibbsPriorFilter.h.
typedef SmartPointer< Self > itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::Pointer |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 54 of file itkRGBGibbsPriorFilter.h.
typedef RGBGibbsPriorFilter itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::Self |
Standard "Self" typedef.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 52 of file itkRGBGibbsPriorFilter.h.
typedef MRFImageFilter< TInputImage, TClassifiedImage > itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::Superclass |
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 53 of file itkRGBGibbsPriorFilter.h.
typedef TClassifiedImage::Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::TrainingImageType |
Definition at line 81 of file itkRGBGibbsPriorFilter.h.
itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::RGBGibbsPriorFilter | ( | ) | [protected] |
Specify the type of matrix to use.
itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::~RGBGibbsPriorFilter | ( | ) | [protected] |
Specify the type of matrix to use.
itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::RGBGibbsPriorFilter | ( | const Self & | ) | [private] |
End concept checking
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ApplyGibbsLabeller | ( | ) | [protected, virtual] |
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ApplyGPImageFilter | ( | ) | [protected, virtual] |
virtual::itk::LightObject::Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GenerateData | ( | void | ) | [protected, virtual] |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_1 | ( | ) | const [virtual] |
set and get the value for Clique weights
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_2 | ( | ) | const [virtual] |
set and get the value for Clique weights
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_3 | ( | ) | const [virtual] |
set and get the value for Clique weights
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_4 | ( | ) | const [virtual] |
set and get the value for Clique weights
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_5 | ( | ) | const [virtual] |
set and get the value for Clique weights
virtual double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetCliqueWeight_6 | ( | ) | const [virtual] |
set and get the value for Clique weights
LabelledImageType itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetLabelledImage | ( | void | ) | [inline] |
Get the labelled image.
Definition at line 109 of file itkRGBGibbsPriorFilter.h.
virtual unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetMaximumNumberOfIterations | ( | ) | const [virtual] |
Get the number of iterations of the Iterated Conditional Mode (ICM) algorithm.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual const char* itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GetNumberOfClasses | ( | ) | const [virtual] |
Get the Number of classes.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GibbsEnergy | ( | unsigned int | i, |
unsigned int | k, | ||
unsigned int | k1 | ||
) | [private] |
calculate the energy in each cluster.
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::GibbsTotalEnergy | ( | int | i | ) | [private] |
region size smaller than the threshold will be erased. the label for object region. the channel number in the image. the point give lowest value of H-1 in neighbor. for region erase. for region erase. weights for different clique configuration. weight for cliques that v/h smooth boundayr weight for clique that has an intermadiate smooth boundary weight for clique that has a diagonal smooth boundary weight for clique consists only object pixels weight for clique consists only background pixels weight for clique other than these calculate H_2.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::MinimizeFunctional | ( | ) | [protected, virtual] |
allocate memory space for the filter.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
static Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::operator= | ( | const Self & | ) | [private] |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Specify the type of matrix to use.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetBoundaryGradient | ( | unsigned int | _arg | ) | [virtual] |
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetClassifier | ( | typename ClassifierType::Pointer | ptrToClassifier | ) |
Set the pointer to the classifer being used.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_1 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_2 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_3 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_4 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_5 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetCliqueWeight_6 | ( | double | _arg | ) | [virtual] |
set and get the value for Clique weights
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetClusterSize | ( | unsigned int | _arg | ) | [virtual] |
Set the threshold for the object size.
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetLabelledImage | ( | LabelledImageType | LabelledImage | ) |
Set the labelled image.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetMaximumNumberOfIterations | ( | unsigned int | _arg | ) | [virtual] |
Set/Get the number of iteration of the Iterated Conditional Mode (ICM) algorithm. A default value is set at 50 iterations.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetNumberOfClasses | ( | unsigned int | _arg | ) | [virtual] |
Set the Number of classes.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetObjectLabel | ( | LabelType | _arg | ) | [virtual] |
Set the label for the object region.
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetObjectThreshold | ( | double | _arg | ) | [virtual] |
virtual void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetStartPoint | ( | IndexType | _arg | ) | [virtual] |
void itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::SetTrainingImage | ( | TrainingImageType | image | ) |
Set the image required for training type classifiers.
itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::typedef | ( | Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), itkGetStaticConstMacro(ClassifiedImageType::ImageDimension) > | ) | [protected] |
Begin concept checking This class requires SameDimension in the form of ( Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), itkGetStaticConstMacro(ClassifiedImageType::ImageDimension) > )
itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::typedef | ( | Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), 3 > | ) | [protected] |
This class requires DimensionShouldBe3 in the form of ( Concept::SameDimension< itkGetStaticConstMacro(InputImageType::ImageDimension), 3 > )
const unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::ImageDimension = TInputImage::ImageDimension [static] |
Extract the input image dimension.
Definition at line 137 of file itkRGBGibbsPriorFilter.h.
ClassifierType::Pointer itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::m_ClassifierPtr [private] |
the input image to train the filter. output the number of class need to be classified. number of the iteration.
Reimplemented from itk::MRFImageFilter< TInputImage, TClassifiedImage >.
Definition at line 210 of file itkRGBGibbsPriorFilter.h.
unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::m_ImageDepth [private] |
Definition at line 234 of file itkRGBGibbsPriorFilter.h.
unsigned int itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::m_ImageHeight [private] |
the threshold for the existence of a boundary. weight for H_1 weight for H_2 define the start region of the object. number of SA iterations. array for the state of each pixel. the medium image to store intermedium result for SA algo. the seed of object image size.
Definition at line 233 of file itkRGBGibbsPriorFilter.h.
double itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >::m_ObjectThreshold [private] |
method to return 1 when a equal to b. help to erase the small region. erase the small region. create the intermedium image. calculate H_1.
Definition at line 286 of file itkRGBGibbsPriorFilter.h.