Page MenuHomePhabricator

Ensure correct TimeGeometry of statisticsContainer in calculator
Closed, ResolvedPublic

Description

Is currently done in ImageStatisticsCalculationJob (but that's not the job of the class).
Why m_StatisticContainers? One instance of ImageStatisticsCalculator should only have one container. The container includes the timegeometry (and in case of 4D the respective 3D geometries)

In template < typename TPixel, unsigned int VImageDimension > void ImageStatisticsCalculator::InternalCalculateStatisticsUnmasked(typename itk::Image< TPixel, VImageDimension >* image, TimeGeometry* timeGeometry, TimeStepType timeStep):

if(m_StatisticContainers.empty() || m_StatisticContainers.back()->TimeStepExists(timeStep)) {
...
}

This is an umplausible/inconsequent implementation. It assumes that the container has the complete TimeGeometry (which is not the case, see T25561), but the ImageStatisticsContainer currently only has one timestep.