Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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 VOLUME_CALCULATOR_H_HEADER_INCLUDED
14 #define VOLUME_CALCULATOR_H_HEADER_INCLUDED
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 /* VOLUME_CALCULATOR_H_HEADER_INCLUDED */
#define MITKCORE_EXPORT
ImageTimeSelector::Pointer m_TimeSelector
Image::ConstPointer m_Image
DataCollection - Class to facilitate loading/accessing structured data.
std::vector< float > m_Volumes
void InternalCompute(itk::Image< TPixel, VImageDimension > *itkImage, const mitk::HistogramGenerator *mitkHistoGenerator, mitk::HistogramGenerator::HistogramType::ConstPointer &histogram)
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
Image class for storing images.
Definition: mitkImage.h:72
unsigned long int m_VoxelCount
Calculates the volume of a mitk::Image. The given volume is in milliliters or as a voxel count...