Medical Imaging Interaction Toolkit  2023.12.99-7a59bd54
Medical Imaging Interaction Toolkit
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