Page MenuHomePhabricator

Configfile classicreader.xml and mitk::ClassicDICOMSeriesReader produce different results
Closed, ResolvedPublic

Description

Despite the documentation the DICOMReader configured via the configuration "classicreader.xml" (e.g. generated by mitk::DICOMFileReaderSelector / mitk::DICOMReaderConfigurator) is not equal to directly use the mitk::ClassicDICOMSeriesReader.

We have 3D+t image data that will be correctly loaded by mitk::ClassicDICOMSeriesReader but not by the Selector (using the config file).

Due to the fact that the fact that ClassicDICOMSeriesReader does not implement new logic, but just configures itself in the Constructor, it implies that one of the following problems exist.

  1. config file is not correct (settings were forgotten)
  2. Not everything what can be configured in code via the class interface can be configured via xml (and this is missing in the configuration file)
  3. An error in mitk::DICOMReaderConfigurator.

We should find the source of the problem and ensure that the config file also works correctly.

Revisions and Commits

rMITK MITK

Event Timeline

Found the reason. The default values from the XML-Configurator-Class and the classes that should be configured differ. This leads to the fact of differently configured readers if you go via "class configuration" (like mitk::ClassicDICOMSeriesReader) or use the xml (classicreader.xml).

To fix it and to brake as less known behavior as possible, we should proceed as follows:

  1. change the description of the classicread.xml -> it does not resemble ClassicDICOMSeriesReader
  2. Change the default values of classes to the default values the mitk::DICOMReaderConfigurator would use.
  3. Change initialisation of ClassicDICOMSeriesReader to have the "old" settings again (so compensate the changes due to #2)
  4. Add a xml that is really identical with mitk::ClassicDICOMSeriesReader
floca raised the priority of this task from Low to Normal.Oct 21 2016, 3:38 PM
floca added a project: Restricted Project.

Set tag to normal, because it is the last show stopper to get rid of explicitly offer ClassicDICOMSeriesReader as IO option in the workbench. Fixing this we could realy use the auto selection as default.

hentsch moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Nov 8 2016, 11:35 AM
floca removed floca as the assignee of this task.Nov 23 2017, 4:12 PM
floca raised the priority of this task from Normal to High.Feb 26 2018, 5:25 PM
floca added a subscriber: thomass.

Due to the fact that T23339: Change default: Open DICOM data with new dicom reader is already closed and we have our first internal victim (@thomass ) due to the default change. I would propose to raise the priority of this task.

While fixing the task, we decided to let the classes define what is the default and not the configurator (Reason: Now we will get a reader that is equivalent to the class constructor, if we provide an XML with no settings. This seems to be the most natural behavior).

This change leads to potential breakings of old xml configurations, because the following settings have new default values:

  • FixTiltByShearing (false -> true);
  • StrictSorting (true -> false);
  • ExpectDistanceOne (true -> false)

To warn about this fact, all configurations provided by MITK have been raised to version 2. Using old version 1 configurations will create a warning to inform about the potantially changed behavior.