ITK
5.0.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 |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexceptoverride |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
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 () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageGaussianModelEstimator () override | |
Protected Member Functions inherited from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction > | |
void | GenerateData () override |
ImageModelEstimatorBase () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageModelEstimatorBase () override=default | |
Protected Member Functions inherited from itk::LightProcessObject | |
LightProcessObject () | |
~LightProcessObject () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
~Object () override | |
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 | |
using | InputImageSizeType = typename TInputImage::SizeType |
using | MatrixType = vnl_matrix< double > |
Private Member Functions | |
void | EstimateGaussianModelParameters () |
void | EstimateModels () override |
Private Attributes | |
MatrixType * | m_Covariance {nullptr} |
MatrixType | m_Means |
MatrixType | m_NumberOfSamples |
TrainingImagePointer | m_TrainingImage |
Static Private Attributes | |
static constexpr unsigned int | VectorDimension = InputImagePixelType::Dimension |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::ConstPointer = SmartPointer< const Self > |
Definition at line 87 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstIterator = ImageRegionConstIterator< TInputImage > |
Definition at line 115 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstPointer = typename TInputImage::ConstPointer |
Definition at line 98 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageIterator = ImageRegionIterator< TInputImage > |
Type definitions for the iterators for the input and training images.
Definition at line 114 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImagePixelType = typename TInputImage::PixelType |
Type definition for the vector associated with input image pixel type.
Definition at line 107 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImagePointer = typename TInputImage::Pointer |
Definition at line 97 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 139 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageType = TInputImage |
Type definition for the input image.
Definition at line 96 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 137 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionPointer = typename TMembershipFunction::Pointer |
Definition at line 121 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionType = TMembershipFunction |
Type definitions for the membership function .
Definition at line 120 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Pointer = SmartPointer< Self > |
Definition at line 86 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Self = ImageGaussianModelEstimator |
Standard class type aliases.
Definition at line 84 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Superclass = ImageModelEstimatorBase< TInputImage, TMembershipFunction > |
Definition at line 85 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstIterator = ImageRegionConstIterator< TTrainingImage > |
Definition at line 117 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstPointer = typename TTrainingImage::ConstPointer |
Definition at line 103 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageIterator = ImageRegionIterator< TTrainingImage > |
Definition at line 116 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImagePixelType = typename TTrainingImage::PixelType |
Type definitions for the vector holding training image pixel type.
Definition at line 111 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImagePointer = typename TTrainingImage::Pointer |
Definition at line 102 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageType = TTrainingImage |
Type definitions for the training image.
Definition at line 101 of file itkImageGaussianModelEstimator.h.
|
protected |
|
overrideprotected |
|
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::LightProcessObject.
|
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.
|
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::LightProcessObject.
|
virtual |
Get/Set the training image.
|
private |
Definition at line 146 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 145 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 144 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 148 of file itkImageGaussianModelEstimator.h.
|
staticprivate |
Dimension of each individual pixel vector.
Definition at line 142 of file itkImageGaussianModelEstimator.h.