ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkImageGaussianModelEstimator.h>
Base class for ImageGaussianModelEstimator object.
itkImageGaussianModelEstimator generates the Gaussian model for given tissue types (or class types) in an input training data set for segmentation. The training data set is typically provided as a set of labelled/classified data set by the user. A Gaussian model is generated for each label present in the training data set.
The user should ensure that both the input and training images are of the same size. The input data consists of the raw data and the training data has class labels associated with each pixel.
A zero label is used to identify the background. A model is not calcualted for the background (its mean and covariance will be zero). Positive labels are classes for which models will be estimated. Negative labels indicate unlabeled data where no models will be estimated.
This object supports data handling of multiband images. The object accepts the input image in vector format only, where each pixel is a vector and each element of the vector corresponds to an entry from 1 particular band of a multiband dataset. A single band image is treated as a vector image with a single element for every vector. The classified image is treated as a single band scalar image.
This function is templated over the type of input and output images. In addition, a third parameter for the MembershipFunction needs to be specified. In this case a Membership function that stores Gaussian models needs to be specified.
The function EstimateModels() calculates the various models, creates the membership function objects and populates them.
Definition at line 77 of file itkImageGaussianModelEstimator.h.
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
virtual const char * | GetNameOfClass () const |
virtual void | SetTrainingImage (TrainingImageType *_arg) |
virtual TrainingImageType * | GetModifiableTrainingImage () |
virtual const TrainingImageType * | GetTrainingImage () const |
Public Member Functions inherited from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction > | |
unsigned int | AddMembershipFunction (MembershipFunctionPointer function) |
void | DeleteAllMembershipFunctions () |
const MembershipFunctionPointerVector | GetMembershipFunctions () const |
unsigned int | GetNumberOfMembershipFunctions () |
virtual const unsigned int & | GetNumberOfModels () const |
void | SetMembershipFunctions (MembershipFunctionPointerVector membershipFunctions) |
virtual void | SetNumberOfModels (unsigned int _arg) |
void | Update () |
virtual void | SetInputImage (InputImageType *_arg) |
virtual InputImageType * | GetModifiableInputImage () |
virtual const InputImageType * | GetInputImage () const |
Public Member Functions inherited from itk::LightProcessObject | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual const bool & | GetAbortGenerateData () const |
virtual void | SetAbortGenerateData (bool _arg) |
virtual void | UpdateOutputData () |
void | UpdateProgress (float amount) |
virtual void | SetProgress (float _arg) |
virtual const float & | GetProgress () const |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
virtual void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) override |
virtual void | UnRegister () const noexceptoverride |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightProcessObject | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
void | GenerateData () override |
ImageGaussianModelEstimator () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageGaussianModelEstimator () | |
Protected Member Functions inherited from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction > | |
ImageModelEstimatorBase () | |
~ImageModelEstimatorBase () | |
Protected Member Functions inherited from itk::LightProcessObject | |
LightProcessObject () | |
~LightProcessObject () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Types | |
typedef TInputImage::SizeType | InputImageSizeType |
typedef vnl_matrix< double > | MatrixType |
Private Member Functions | |
void | EstimateGaussianModelParameters () |
virtual void | EstimateModels () override |
ImageGaussianModelEstimator (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
MatrixType * | m_Covariance |
MatrixType | m_Means |
MatrixType | m_NumberOfSamples |
TrainingImagePointer | m_TrainingImage |
Static Private Attributes | |
static const unsigned int | VectorDimension = InputImagePixelType::Dimension |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::ConstPointer |
Definition at line 85 of file itkImageGaussianModelEstimator.h.
typedef ImageRegionConstIterator< TInputImage > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstIterator |
Definition at line 113 of file itkImageGaussianModelEstimator.h.
typedef TInputImage::ConstPointer itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstPointer |
Definition at line 96 of file itkImageGaussianModelEstimator.h.
typedef ImageRegionIterator< TInputImage > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageIterator |
Type definitions for the iterators for the input and training images.
Definition at line 112 of file itkImageGaussianModelEstimator.h.
typedef TInputImage::PixelType itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImagePixelType |
Type definition for the vector associated with input image pixel type.
Definition at line 105 of file itkImageGaussianModelEstimator.h.
typedef TInputImage::Pointer itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImagePointer |
Definition at line 95 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 140 of file itkImageGaussianModelEstimator.h.
typedef TInputImage itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageType |
Type definition for the input image.
Definition at line 91 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 138 of file itkImageGaussianModelEstimator.h.
typedef TMembershipFunction::Pointer itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionPointer |
Definition at line 119 of file itkImageGaussianModelEstimator.h.
typedef TMembershipFunction itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionType |
Type definitions for the membership function .
Definition at line 118 of file itkImageGaussianModelEstimator.h.
typedef SmartPointer< Self > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Pointer |
Definition at line 84 of file itkImageGaussianModelEstimator.h.
typedef ImageGaussianModelEstimator itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Self |
Standard class typedefs.
Definition at line 82 of file itkImageGaussianModelEstimator.h.
typedef ImageModelEstimatorBase< TInputImage, TMembershipFunction > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Superclass |
Definition at line 83 of file itkImageGaussianModelEstimator.h.
typedef ImageRegionConstIterator< TTrainingImage > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstIterator |
Definition at line 115 of file itkImageGaussianModelEstimator.h.
typedef TTrainingImage::ConstPointer itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstPointer |
Definition at line 101 of file itkImageGaussianModelEstimator.h.
typedef ImageRegionIterator< TTrainingImage > itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageIterator |
Definition at line 114 of file itkImageGaussianModelEstimator.h.
typedef TTrainingImage::PixelType itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImagePixelType |
Type definitions for the vector holding training image pixel type.
Definition at line 109 of file itkImageGaussianModelEstimator.h.
typedef TTrainingImage::Pointer itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImagePointer |
Definition at line 100 of file itkImageGaussianModelEstimator.h.
typedef TTrainingImage itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageType |
Type definitions for the training image.
Definition at line 99 of file itkImageGaussianModelEstimator.h.
|
protected |
|
protected |
|
private |
|
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::LightProcessObject.
|
private |
|
overrideprivatevirtual |
A function that generates the model based on the training input data. Achieves the goal of training the classifier.
Implements itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.
|
overrideprotectedvirtual |
Starts the image modelling process
Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.
|
virtual |
Get/Set the training image.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.
|
virtual |
Get/Set the training image.
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.
|
virtual |
Get/Set the training image.
|
private |
Definition at line 148 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 147 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 146 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 150 of file itkImageGaussianModelEstimator.h.
|
staticprivate |
Dimension of each individual pixel vector.
Definition at line 144 of file itkImageGaussianModelEstimator.h.