12 #ifndef mitkImageStatisticsHolder_h
13 #define mitkImageStatisticsHolder_h
19 #ifndef __itkHistogram_h
20 #include <itkHistogram.h>
67 if (t < m_ScalarMin.size())
68 return m_ScalarMin[t];
70 return itk::NumericTraits<ScalarType>::max();
78 if (t < m_Scalar2ndMin.size())
79 return m_Scalar2ndMin[t];
81 return itk::NumericTraits<ScalarType>::max();
94 if (t < m_ScalarMax.size())
95 return m_ScalarMax[t];
97 return itk::NumericTraits<ScalarType>::NonpositiveMin();
104 if (t < m_Scalar2ndMax.size())
105 return m_Scalar2ndMax[t];
107 return itk::NumericTraits<ScalarType>::NonpositiveMin();
122 if (t < m_CountOfMaxValuedVoxels.size())
123 return m_CountOfMaxValuedVoxels[t];
132 if (t < m_CountOfMinValuedVoxels.size())
133 return m_CountOfMinValuedVoxels[t];
140 template <
typename ItkImageType>
145 template <
typename ItkImageType>
149 unsigned int component);
156 virtual void Expand(
unsigned int timeSteps);
Class holding the statistics information about a single mitk::Image.
std::vector< ScalarType > m_ScalarMax
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 GetScalarValue2ndMaxNoRecompute(unsigned int t=0)
Get the second largest value for scalar images, but do not recompute it first.
std::vector< ScalarType > m_Scalar2ndMax
virtual mitk::ScalarType GetScalarValue2ndMinNoRecompute(unsigned int t=0) const
Get the second smallest value for scalar images, but do not recompute it first.
virtual mitk::ScalarType GetScalarValueMinNoRecompute(unsigned int t=0) const
Get the smallest value for scalar images, but do not recompute it first.
std::vector< ScalarType > m_Scalar2ndMin
virtual void ComputeImageStatistics(int t=0, unsigned int component=0)
itk::TimeStamp m_LastRecomputeTimeStamp
virtual ScalarType GetScalarValueMin(int t=0, unsigned int component=0)
Get the minimum for scalar images. Recomputation performed only when necessary.
itk::Statistics::Histogram< double > HistogramType
virtual ScalarType GetScalarValueMax(int t=0, unsigned int component=0)
Get the maximum for scalar images. Recomputation performed only when necessary.
ImageTimeSelector::Pointer GetTimeSelector()
itk::Object::Pointer m_TimeSelectorForExtremaObject
std::vector< ScalarType > m_ScalarMin
std::vector< unsigned int > m_CountOfMaxValuedVoxels
virtual unsigned int GetCountOfMaxValuedVoxelsNoRecompute(unsigned int t=0)
Get the count of voxels with the largest scalar value in the dataset.
itk::Object::Pointer m_HistogramGeneratorObject
friend void _ComputeExtremaInItkImage(const ItkImageType *itkImage, mitk::ImageStatisticsHolder *statisticsHolder, int t)
ImageStatisticsHolder(mitk::Image *image)
mitk::ScalarType GetCountOfMinValuedVoxels(int t=0, unsigned int component=0)
Get the count of voxels with the smallest scalar value in the dataset.
mitk::ScalarType GetCountOfMaxValuedVoxels(int t=0, unsigned int component=0)
Get the count of voxels with the largest scalar value in the dataset.
virtual void Expand(unsigned int timeSteps)
virtual mitk::ScalarType GetScalarValueMaxNoRecompute(unsigned int t=0)
Get the largest value for scalar images, but do not recompute it first.
friend void _ComputeExtremaInItkVectorImage(const ItkImageType *itkImage, mitk::ImageStatisticsHolder *statisticsHolder, int t, unsigned int component)
bool IsValidTimeStep(int t) const
virtual ~ImageStatisticsHolder()
std::vector< unsigned int > m_CountOfMinValuedVoxels
virtual ScalarType GetScalarValue2ndMax(int t=0, unsigned int component=0)
Get the second largest value for scalar images.
virtual const HistogramType * GetScalarHistogram(int t=0, unsigned int=0)
virtual void ResetImageStatistics()
virtual ScalarType GetScalarValue2ndMin(int t=0, unsigned int component=0)
Get the second smallest value for scalar images. Recomputation performed only when necessary.
Image class for storing images.
Find image slices visible on a given plane.