Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkVolumeCalculator.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 mitkVolumeCalculator_h
14 #define mitkVolumeCalculator_h
15 
16 #include "itkImage.h"
17 #include "itkObject.h"
18 #include "itkObjectFactory.h"
19 
20 #include "mitkImage.h"
21 #include "mitkImageTimeSelector.h"
22 #include <MitkCoreExports.h>
23 
24 namespace mitk
25 {
33  class MITKCORE_EXPORT VolumeCalculator : public itk::Object
34  {
35  public:
37 
38  itkFactorylessNewMacro(Self);
39 
40  itkCloneMacro(Self);
41 
42  itkSetObjectMacro(Image, Image);
46  itkSetMacro(Threshold, int);
52  itkGetMacro(Volume, float);
56  itkGetMacro(VoxelCount, unsigned long int);
62  std::vector<float> GetVolumes();
63  void ComputeVolume();
64 
65  void ComputeVolumeFromImageStatistics();
66  static float ComputeVolume(Vector3D spacing, unsigned int voxelCount);
67 
68  protected:
70  ~VolumeCalculator() override;
71 
72  template <typename TPixel, unsigned int VImageDimension>
73  void InternalCompute(const itk::Image<TPixel, VImageDimension> *itkImage);
74 
77  float m_Volume;
78  unsigned long int m_VoxelCount;
79  std::vector<float> m_Volumes;
81  };
82 
83 } // namespace mitk
84 
85 #endif
mitk::VolumeCalculator::m_Volume
float m_Volume
Definition: mitkVolumeCalculator.h:77
mitkImage.h
mitkImageTimeSelector.h
mitk::VolumeCalculator::m_Image
Image::ConstPointer m_Image
Definition: mitkVolumeCalculator.h:75
mitk::VolumeCalculator::m_VoxelCount
unsigned long int m_VoxelCount
Definition: mitkVolumeCalculator.h:78
mitk::Image
Image class for storing images.
Definition: mitkImage.h:69
itk::SmartPointer< const Self >
mitkClassMacroItkParent
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:45
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::VolumeCalculator::m_Volumes
std::vector< float > m_Volumes
Definition: mitkVolumeCalculator.h:79
mitk::Vector< ScalarType, 3 >
MitkCoreExports.h
mitk::VolumeCalculator
Calculates the volume of a mitk::Image. The given volume is in milliliters or as a voxel count....
Definition: mitkVolumeCalculator.h:33
mitk::VolumeCalculator::m_TimeSelector
ImageTimeSelector::Pointer m_TimeSelector
Definition: mitkVolumeCalculator.h:80
mitk::VolumeCalculator::m_Threshold
int m_Threshold
Definition: mitkVolumeCalculator.h:76
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15