Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkLabeledImageVolumeCalculator.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkLabeledImageVolumeCalculator_h
14 #define mitkLabeledImageVolumeCalculator_h
15 
17 #include <itkObject.h>
18 
19 #include "mitkImage.h"
20 #include "mitkImageTimeSelector.h"
21 
22 #include <itkImage.h>
23 
24 namespace mitk
25 {
35  {
36  public:
37  typedef std::vector<double> VolumeVector;
38  typedef std::vector<Point3D> PointVector;
39 
41  itkFactorylessNewMacro(Self);
42  itkCloneMacro(Self);
43  itkSetConstObjectMacro(Image, mitk::Image);
44 
45  virtual void Calculate();
46 
47  double GetVolume(unsigned int label) const;
48 
49  const Point3D &GetCentroid(unsigned int label) const;
50 
51  const VolumeVector &GetVolumes() const;
52 
53  const PointVector &GetCentroids() const;
54 
55  protected:
57 
58  ~LabeledImageVolumeCalculator() override;
59 
60  template <typename TPixel, unsigned int VImageDimension>
61  void _InternalCalculateVolumes(itk::Image<TPixel, VImageDimension> *image,
62  LabeledImageVolumeCalculator *volumeCalculator,
63  BaseGeometry *geometry);
64 
66 
68 
71 
73  };
74 }
75 
76 #endif
mitkImage.h
mitk::LabeledImageVolumeCalculator::m_CentroidVector
PointVector m_CentroidVector
Definition: mitkLabeledImageVolumeCalculator.h:70
MitkDataTypesExtExports.h
mitkImageTimeSelector.h
MITKDATATYPESEXT_EXPORT
#define MITKDATATYPESEXT_EXPORT
Definition: MitkDataTypesExtExports.h:15
mitk::Image
Image class for storing images.
Definition: mitkImage.h:69
itk::SmartPointer< Self >
mitk::LabeledImageVolumeCalculator::m_VolumeVector
VolumeVector m_VolumeVector
Definition: mitkLabeledImageVolumeCalculator.h:69
mitkClassMacroItkParent
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:45
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::LabeledImageVolumeCalculator::m_Image
Image::ConstPointer m_Image
Definition: mitkLabeledImageVolumeCalculator.h:67
mitk::LabeledImageVolumeCalculator::m_InputTimeSelector
ImageTimeSelector::Pointer m_InputTimeSelector
Definition: mitkLabeledImageVolumeCalculator.h:65
mitk::BaseGeometry
BaseGeometry Describes the geometry of a data object.
Definition: mitkBaseGeometry.h:94
mitk::Point< ScalarType, 3 >
mitk::LabeledImageVolumeCalculator::PointVector
std::vector< Point3D > PointVector
Definition: mitkLabeledImageVolumeCalculator.h:38
mitk::LabeledImageVolumeCalculator::VolumeVector
std::vector< double > VolumeVector
Definition: mitkLabeledImageVolumeCalculator.h:37
mitk::LabeledImageVolumeCalculator::m_DummyPoint
Point3D m_DummyPoint
Definition: mitkLabeledImageVolumeCalculator.h:72
mitk::LabeledImageVolumeCalculator
Class for calculating the volume (or area) for each label in a labeled image.
Definition: mitkLabeledImageVolumeCalculator.h:34