The functionality of both classes overlap:
- both are able to compute an Histgram
I propose to leave these functions in ImageStatisticsHolder as it is convenient to compute min/max on an image:
virtual ScalarType GetScalarValueMin(int t = 0, unsigned int component = 0); virtual ScalarType GetScalarValueMax(int t = 0, unsigned int component = 0);
I propose to move special functionalities to ImageStatisticsCalculator:
virtual ScalarType GetScalarValue2ndMin(int t = 0, unsigned int component = 0); virtual ScalarType GetScalarValue2ndMax(int t = 0, unsigned int component = 0); mitk::ScalarType GetCountOfMinValuedVoxels(int t = 0, unsigned int component = 0); mitk::ScalarType GetCountOfMaxValuedVoxels(int t = 0, unsigned int component = 0); virtual const HistogramType *GetScalarHistogram(int t = 0, unsigned int = 0);
I propose to integrate the NoRecompute functions in the other functions and add a flag that no recomputation should be done:
virtual ScalarType GetScalarValue2ndMin(int t = 0, unsigned int component = 0, bool doRecompute=true); ...