Medical Imaging Interaction Toolkit  2023.04.99-859410e3
Medical Imaging Interaction Toolkit
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