ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension > Class Template Reference

#include <itkSpatialObjectToImageStatisticsCalculator.h>

Detailed Description

template<typename TInputImage, typename TInputSpatialObject, unsigned int TSampleDimension = 1>
class itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >

This calculator computes the mean and the covariance matrices of a certain region of an image specified by a spatial object.

Examples
Examples/SpatialObjects/SpatialObjectToImageStatisticsCalculator.cxx.

Definition at line 37 of file itkSpatialObjectToImageStatisticsCalculator.h.

+ Inheritance diagram for itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >:
+ Collaboration diagram for itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >:

Public Types

using AccumulateType = typename NumericTraits< PixelType >::AccumulateType
 
using ConstPointer = SmartPointer< const Self >
 
using ImageConstPointer = typename TInputImage::ConstPointer
 
using ImagePointer = typename TInputImage::Pointer
 
using ImageType = TInputImage
 
using IndexType = typename TInputImage::IndexType
 
using MatrixType = Matrix< double, TSampleDimension, TSampleDimension >
 
using PixelType = typename TInputImage::PixelType
 
using Pointer = SmartPointer< Self >
 
using PointType = typename TInputImage::PointType
 
using RegionType = typename TInputImage::RegionType
 
using SampleType = itk::Statistics::ListSample< VectorType >
 
using Self = SpatialObjectToImageStatisticsCalculator
 
using SizeType = typename RegionType::SizeType
 
using SpatialObjectConstPointer = typename SpatialObjectType::ConstPointer
 
using SpatialObjectPointer = typename SpatialObjectType::Pointer
 
using SpatialObjectType = TInputSpatialObject
 
using Superclass = Object
 
using VectorType = Vector< double, TSampleDimension >
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const MatrixTypeGetCovarianceMatrix () const
 
const VectorTypeGetMean () const
 
const char * GetNameOfClass () const override
 
virtual SizeValueType GetNumberOfPixels () const
 
AccumulateType GetSum () const
 
virtual void SetImage (const ImageType *_arg)
 
virtual void SetSpatialObject (SpatialObjectType *_arg)
 
void Update ()
 
virtual void SetSampleDirection (unsigned int _arg)
 
virtual unsigned int GetSampleDirection () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) 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
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () 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 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 void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

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 ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = ImageType::ImageDimension
 
static constexpr unsigned int ObjectDimension = TInputSpatialObject::ObjectDimension
 
static constexpr unsigned int SampleDimension = TSampleDimension
 

Protected Member Functions

bool ComputeStatistics ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 SpatialObjectToImageStatisticsCalculator ()
 
 ~SpatialObjectToImageStatisticsCalculator () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
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 PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Attributes

MatrixType m_CovarianceMatrix {}
 
ImageConstPointer m_Image {}
 
ModifiedTimeType m_InternalImageTime {}
 
ModifiedTimeType m_InternalSpatialObjectTime {}
 
VectorType m_Mean {}
 
TimeStamp m_ModifiedTime {}
 
SizeValueType m_NumberOfPixels {}
 
SampleType::Pointer m_Sample {}
 
unsigned int m_SampleDirection {}
 
SpatialObjectPointer m_SpatialObject {}
 
AccumulateType m_Sum {}
 

Additional Inherited Members

- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ AccumulateType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::AccumulateType = typename NumericTraits<PixelType>::AccumulateType

◆ ConstPointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ConstPointer = SmartPointer<const Self>

◆ ImageConstPointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ImageConstPointer = typename TInputImage::ConstPointer

◆ ImagePointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ImagePointer = typename TInputImage::Pointer

◆ ImageType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ImageType = TInputImage

Type definitions for the input image.

Definition at line 55 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ IndexType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::IndexType = typename TInputImage::IndexType

◆ MatrixType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::MatrixType = Matrix<double, TSampleDimension, TSampleDimension>

◆ PixelType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::PixelType = typename TInputImage::PixelType

◆ Pointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::Pointer = SmartPointer<Self>

◆ PointType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::PointType = typename TInputImage::PointType

◆ RegionType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::RegionType = typename TInputImage::RegionType

◆ SampleType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SampleType = itk::Statistics::ListSample<VectorType>

Type definitions for the samples

Definition at line 82 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ Self

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::Self = SpatialObjectToImageStatisticsCalculator

Standard class type aliases.

Definition at line 43 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ SizeType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SizeType = typename RegionType::SizeType

◆ SpatialObjectConstPointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SpatialObjectConstPointer = typename SpatialObjectType::ConstPointer

◆ SpatialObjectPointer

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SpatialObjectPointer = typename SpatialObjectType::Pointer

◆ SpatialObjectType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SpatialObjectType = TInputSpatialObject

Type definitions for the input spatial object.

Definition at line 73 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ Superclass

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::Superclass = Object

◆ VectorType

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
using itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::VectorType = Vector<double, TSampleDimension>

Vector and Matrix Type

Definition at line 78 of file itkSpatialObjectToImageStatisticsCalculator.h.

Constructor & Destructor Documentation

◆ SpatialObjectToImageStatisticsCalculator()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SpatialObjectToImageStatisticsCalculator ( )
protected

◆ ~SpatialObjectToImageStatisticsCalculator()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::~SpatialObjectToImageStatisticsCalculator ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeStatistics()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
bool itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ComputeStatistics ( )
protected

Compute statistics from the sample vector.

◆ GetCovarianceMatrix()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
const MatrixType& itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetCovarianceMatrix ( ) const
inline

Get the covariance matrix

Definition at line 104 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ GetMean()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
const VectorType& itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetMean ( ) const
inline

Get the mean

Definition at line 97 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ GetNameOfClass()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
const char* itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ GetNumberOfPixels()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
virtual SizeValueType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetNumberOfPixels ( ) const
virtual

Get the number of pixels inside the object

◆ GetSampleDirection()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
virtual unsigned int itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetSampleDirection ( ) const
virtual

Set/Get the direction of the sample

◆ GetSum()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
AccumulateType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::GetSum ( ) const
inline

Get the sum of pixels

Definition at line 111 of file itkSpatialObjectToImageStatisticsCalculator.h.

◆ New()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
static Pointer itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
void itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
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::Object.

◆ SetImage()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
virtual void itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SetImage ( const ImageType _arg)
virtual

Set the input image.

◆ SetSampleDirection()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
virtual void itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SetSampleDirection ( unsigned int  _arg)
virtual

Set/Get the direction of the sample

◆ SetSpatialObject()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
virtual void itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SetSpatialObject ( SpatialObjectType _arg)
virtual

Set the input spatial object.

◆ Update()

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
void itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::Update ( )

Compute of the input image.

Member Data Documentation

◆ ImageDimension

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
constexpr unsigned int itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ImageDimension = ImageType::ImageDimension
staticconstexpr

◆ m_CovarianceMatrix

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
MatrixType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_CovarianceMatrix {}
private

◆ m_Image

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
ImageConstPointer itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_Image {}
private

◆ m_InternalImageTime

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
ModifiedTimeType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_InternalImageTime {}
private

◆ m_InternalSpatialObjectTime

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
ModifiedTimeType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_InternalSpatialObjectTime {}
private

◆ m_Mean

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
VectorType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_Mean {}
private

◆ m_ModifiedTime

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
TimeStamp itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_ModifiedTime {}
private

◆ m_NumberOfPixels

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
SizeValueType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_NumberOfPixels {}
private

◆ m_Sample

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
SampleType::Pointer itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_Sample {}
private

◆ m_SampleDirection

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
unsigned int itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_SampleDirection {}
private

◆ m_SpatialObject

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
SpatialObjectPointer itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_SpatialObject {}
private

◆ m_Sum

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
AccumulateType itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::m_Sum {}
private

◆ ObjectDimension

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
constexpr unsigned int itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::ObjectDimension = TInputSpatialObject::ObjectDimension
staticconstexpr

◆ SampleDimension

template<typename TInputImage , typename TInputSpatialObject , unsigned int TSampleDimension = 1>
constexpr unsigned int itk::SpatialObjectToImageStatisticsCalculator< TInputImage, TInputSpatialObject, TSampleDimension >::SampleDimension = TSampleDimension
staticconstexpr

The documentation for this class was generated from the following file: