16 #ifndef MITKIMAGESTATISTICSHOLDER_H
17 #define MITKIMAGESTATISTICSHOLDER_H
23 #ifndef __itkHistogram_h
24 #include <itkHistogram.h>
50 virtual const HistogramType *GetScalarHistogram(
int t = 0,
unsigned int = 0);
54 virtual ScalarType GetScalarValueMin(
int t = 0,
unsigned int component = 0);
58 virtual ScalarType GetScalarValueMax(
int t = 0,
unsigned int component = 0);
62 virtual ScalarType GetScalarValue2ndMin(
int t = 0,
unsigned int component = 0);
68 if (t < m_ScalarMin.size())
69 return m_ScalarMin[t];
78 if (t < m_Scalar2ndMin.size())
79 return m_Scalar2ndMin[t];
86 virtual ScalarType GetScalarValue2ndMax(
int t = 0,
unsigned int component = 0);
92 if (t < m_ScalarMax.size())
93 return m_ScalarMax[t];
95 return itk::NumericTraits<ScalarType>::NonpositiveMin();
102 if (t < m_Scalar2ndMax.size())
103 return m_Scalar2ndMax[t];
105 return itk::NumericTraits<ScalarType>::NonpositiveMin();
110 mitk::ScalarType GetCountOfMinValuedVoxels(
int t = 0,
unsigned int component = 0);
114 mitk::ScalarType GetCountOfMaxValuedVoxels(
int t = 0,
unsigned int component = 0);
120 if (t < m_CountOfMaxValuedVoxels.size())
121 return m_CountOfMaxValuedVoxels[t];
130 if (t < m_CountOfMinValuedVoxels.size())
131 return m_CountOfMinValuedVoxels[t];
136 bool IsValidTimeStep(
int t)
const;
138 template <
typename ItkImageType>
139 friend void _ComputeExtremaInItkImage(
const ItkImageType *itkImage,
143 template <
typename ItkImageType>
144 friend void _ComputeExtremaInItkVectorImage(
const ItkImageType *itkImage,
147 unsigned int component);
150 virtual void ResetImageStatistics();
152 virtual void ComputeImageStatistics(
int t = 0,
unsigned int component = 0);
154 virtual void Expand(
unsigned int timeSteps);
174 #endif // MITKIMAGESTATISTICSHOLDER_H
itk::SmartPointer< Self > Pointer
itk::Object::Pointer m_TimeSelectorForExtremaObject
itk::Object::Pointer m_HistogramGeneratorObject
std::vector< unsigned int > m_CountOfMaxValuedVoxels
std::vector< unsigned int > m_CountOfMinValuedVoxels
virtual mitk::ScalarType GetScalarValue2ndMaxNoRecompute(unsigned int t=0)
Get the second largest value for scalar images, but do not recompute it first.
DataCollection - Class to facilitate loading/accessing structured data.
virtual mitk::ScalarType GetScalarValueMinNoRecompute(unsigned int t=0) const
Get the smallest value for scalar images, but do not recompute it first.
virtual mitk::ScalarType GetScalarValue2ndMinNoRecompute(unsigned int t=0) const
Get the second smallest value for scalar images, but do not recompute it first.
virtual unsigned int GetCountOfMinValuedVoxelsNoRecompute(unsigned int t=0) const
Get the count of voxels with the smallest scalar value in the dataset.
virtual mitk::ScalarType GetScalarValueMaxNoRecompute(unsigned int t=0)
Get the largest value for scalar images, but do not recompute it first.
virtual unsigned int GetCountOfMaxValuedVoxelsNoRecompute(unsigned int t=0)
Get the count of voxels with the largest scalar value in the dataset.
itk::TimeStamp m_LastRecomputeTimeStamp
Image class for storing images.
Class holding the statistics informations about a single mitk::Image.
std::vector< ScalarType > m_ScalarMax
itk::Statistics::Histogram< double > HistogramType
std::vector< ScalarType > m_Scalar2ndMin
std::vector< ScalarType > m_Scalar2ndMax
std::vector< ScalarType > m_ScalarMin