ITK
6.0.0
Insight 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 calculated 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 | |
const char * | GetNameOfClass () const override |
virtual void | SetTrainingImage (TrainingImageType *_arg) |
virtual TrainingImageType * | GetModifiableTrainingImage () |
Public Member Functions inherited from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction > | |
unsigned int | AddMembershipFunction (MembershipFunctionPointer function) |
void | DeleteAllMembershipFunctions () |
const MembershipFunctionPointerVector | GetMembershipFunctions () const |
const char * | GetNameOfClass () const override |
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 () |
Public Member Functions inherited from itk::LightProcessObject | |
virtual void | AbortGenerateDataOn () |
virtual const bool & | GetAbortGenerateData () const |
const char * | GetNameOfClass () const override |
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 *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
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 |
const char * | GetNameOfClass () const override |
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) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
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 | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
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 val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
void | GenerateData () override |
ImageGaussianModelEstimator ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageGaussianModelEstimator () override=default | |
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 | |
virtual void | GenerateData () |
LightProcessObject () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~LightProcessObject () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~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 | PrintSelf (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 | |
std::unique_ptr< 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 86 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstIterator = ImageRegionConstIterator<TInputImage> |
Definition at line 114 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageConstPointer = typename TInputImage::ConstPointer |
Definition at line 97 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 113 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 106 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImagePointer = typename TInputImage::Pointer |
Definition at line 96 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 140 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::InputImageType = TInputImage |
Type definition for the input image.
Definition at line 95 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 138 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionPointer = typename TMembershipFunction::Pointer |
Definition at line 120 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::MembershipFunctionType = TMembershipFunction |
Type definitions for the membership function .
Definition at line 119 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Pointer = SmartPointer<Self> |
Definition at line 85 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Self = ImageGaussianModelEstimator |
Standard class type aliases.
Definition at line 83 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::Superclass = ImageModelEstimatorBase<TInputImage, TMembershipFunction> |
Definition at line 84 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstIterator = ImageRegionConstIterator<TTrainingImage> |
Definition at line 116 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageConstPointer = typename TTrainingImage::ConstPointer |
Definition at line 102 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageIterator = ImageRegionIterator<TTrainingImage> |
Definition at line 115 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 110 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImagePointer = typename TTrainingImage::Pointer |
Definition at line 101 of file itkImageGaussianModelEstimator.h.
using itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >::TrainingImageType = TTrainingImage |
Type definitions for the training image.
Definition at line 100 of file itkImageGaussianModelEstimator.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
private |
|
overrideprivatevirtual |
Generate the model based on the training input data. Achieves the goal of training the classifier. Takes the set of training images and internally computes the means and variance of the various classes defined in the training set.
Implements itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.
|
overrideprotectedvirtual |
Starts the image modeling process
Reimplemented from itk::LightProcessObject.
|
virtual |
Get/Set the training image.
|
overridevirtual |
Reimplemented from itk::LightProcessObject.
|
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 158 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 157 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 156 of file itkImageGaussianModelEstimator.h.
|
private |
Definition at line 160 of file itkImageGaussianModelEstimator.h.
|
staticconstexprprivate |
Dimension of each individual pixel vector.
Definition at line 143 of file itkImageGaussianModelEstimator.h.