Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::LabeledImageVolumeCalculator Class Reference

Calculates the volume and centroid for each label in a labeled image. More...

#include <mitkLabeledImageVolumeCalculator.h>

Inheritance diagram for mitk::LabeledImageVolumeCalculator:
Collaboration diagram for mitk::LabeledImageVolumeCalculator:

Public Types

typedef std::vector< double > VolumeVector
 Vector of per-label volume values. More...
 
typedef std::vector< Point3D > PointVector
 Vector of per-label centroid points. More...
 

Public Member Functions

 mitkClassMacroItkParent (LabeledImageVolumeCalculator, itk::Object)
 
Pointer Clone () const
 
virtual void SetImage (const mitk::Image *_arg)
 Set the input image. More...
 
virtual void Calculate ()
 Perform the volume and centroid calculation. More...
 
double GetVolume (unsigned int label) const
 Get the volume for a specific label. More...
 
const Point3D & GetCentroid (unsigned int label) const
 Get the centroid (center of mass) for a specific label. More...
 
const VolumeVector & GetVolumes () const
 Get the vector of volumes for all labels. More...
 
const PointVector & GetCentroids () const
 Get the vector of centroids for all labels. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 LabeledImageVolumeCalculator ()
 
 ~LabeledImageVolumeCalculator () override
 
template<typename TPixel , unsigned int VImageDimension>
void _InternalCalculateVolumes (itk::Image< TPixel, VImageDimension > *image, LabeledImageVolumeCalculator *volumeCalculator, BaseGeometry *geometry)
 

Protected Attributes

ImageTimeSelector::Pointer m_InputTimeSelector
 
Image::ConstPointer m_Image
 
VolumeVector m_VolumeVector
 
PointVector m_CentroidVector
 
Point3D m_DummyPoint
 

Detailed Description

Calculates the volume and centroid for each label in a labeled image.

Labels are expected to be of an unsigned integer type. The class iterates over all voxels, groups them by label value, and computes each label's volume (voxel count * voxel volume) and centroid (center of mass).

Note
Currently only the first time step of the image is processed.
See also
mitk::Image

Definition at line 38 of file mitkLabeledImageVolumeCalculator.h.

Member Typedef Documentation

◆ PointVector

Vector of per-label centroid points.

Definition at line 44 of file mitkLabeledImageVolumeCalculator.h.

◆ VolumeVector

Vector of per-label volume values.

Definition at line 42 of file mitkLabeledImageVolumeCalculator.h.

Constructor & Destructor Documentation

◆ LabeledImageVolumeCalculator()

mitk::LabeledImageVolumeCalculator::LabeledImageVolumeCalculator ( )
protected

◆ ~LabeledImageVolumeCalculator()

mitk::LabeledImageVolumeCalculator::~LabeledImageVolumeCalculator ( )
overrideprotected

Member Function Documentation

◆ _InternalCalculateVolumes()

template<typename TPixel , unsigned int VImageDimension>
void mitk::LabeledImageVolumeCalculator::_InternalCalculateVolumes ( itk::Image< TPixel, VImageDimension > *  image,
LabeledImageVolumeCalculator *  volumeCalculator,
BaseGeometry *  geometry 
)
protected

◆ Calculate()

virtual void mitk::LabeledImageVolumeCalculator::Calculate ( )
virtual

Perform the volume and centroid calculation.

Precondition
An input image must have been set via SetImage().

◆ Clone()

Pointer mitk::LabeledImageVolumeCalculator::Clone ( ) const

◆ GetCentroid()

const Point3D& mitk::LabeledImageVolumeCalculator::GetCentroid ( unsigned int  label) const

Get the centroid (center of mass) for a specific label.

Parameters
[in]labelThe label index.
Returns
The centroid point in world coordinates, or a zero point if the label does not exist.

◆ GetCentroids()

const PointVector& mitk::LabeledImageVolumeCalculator::GetCentroids ( ) const

Get the vector of centroids for all labels.

Returns
Const reference to the centroid vector.

◆ GetVolume()

double mitk::LabeledImageVolumeCalculator::GetVolume ( unsigned int  label) const

Get the volume for a specific label.

Parameters
[in]labelThe label index.
Returns
The volume in physical units, or 0.0 if the label does not exist.

◆ GetVolumes()

const VolumeVector& mitk::LabeledImageVolumeCalculator::GetVolumes ( ) const

Get the vector of volumes for all labels.

Returns
Const reference to the volume vector.

◆ mitkClassMacroItkParent()

mitk::LabeledImageVolumeCalculator::mitkClassMacroItkParent ( LabeledImageVolumeCalculator  ,
itk::Object   
)

◆ New()

static Pointer mitk::LabeledImageVolumeCalculator::New ( )
static

◆ SetImage()

virtual void mitk::LabeledImageVolumeCalculator::SetImage ( const mitk::Image *  _arg)
virtual

Set the input image.

Parameters
[in]_argThe labeled image to analyze.

Member Data Documentation

◆ m_CentroidVector

PointVector mitk::LabeledImageVolumeCalculator::m_CentroidVector
protected

Definition at line 106 of file mitkLabeledImageVolumeCalculator.h.

◆ m_DummyPoint

Point3D mitk::LabeledImageVolumeCalculator::m_DummyPoint
protected

Definition at line 108 of file mitkLabeledImageVolumeCalculator.h.

◆ m_Image

Image::ConstPointer mitk::LabeledImageVolumeCalculator::m_Image
protected

Definition at line 103 of file mitkLabeledImageVolumeCalculator.h.

◆ m_InputTimeSelector

ImageTimeSelector::Pointer mitk::LabeledImageVolumeCalculator::m_InputTimeSelector
protected

Definition at line 101 of file mitkLabeledImageVolumeCalculator.h.

◆ m_VolumeVector

VolumeVector mitk::LabeledImageVolumeCalculator::m_VolumeVector
protected

Definition at line 105 of file mitkLabeledImageVolumeCalculator.h.


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