Page MenuHomePhabricator

Scene file can not store a LabelSetImage - no serializer found
Closed, ResolvedPublic

Description

Using the "Save Project" function of the workbench (button or menu entry), the 'mitk::SceneIO'-class is used to store data node and base data information in XML-format.
However, when trying to save a scene with a MultiLabel segmentation, the error:

No serializer found for LabelSetImage. Skipping object.

appears.

Loading the scene file will not restore the previously created LabelSetImage. Since a LabelSetImage is also created for single segmentations, this is highly critical.

Event Timeline

kalali lowered the priority of this task from High to Low.Mar 10 2017, 6:00 PM

It is working with the release version from mitk.org so I need to investigate more on the problem.

kalali raised the priority of this task from Low to High.Mar 10 2017, 7:11 PM

It seems to be induced by 5e31910e322057911477aad6cd58ec8a612ef63c.
However, there seems to be an option to activate a certain behavior, since testing with a different MITK that was build later than the commit, works though.

Looking at the commit I would assume that your MitkMultiLabelIO autoload module is not build as you do no meet the extended requirements (namely DCMQI). @metzger and @nolden can probably give a hint on whether we should:

  1. Make DCMQI a hard dependency of MITK
  2. Remove the DCMQI dependency of the io module and use #ifdefs to only build the DCMQI depending reader/writer when DCMQI is activated

Ok thank you. DCMQI was not activated but it was also previously not build.

I think 2. is the only way since we do not want a hard dependency to DCMQI.

Agreed, wouldn't like that as a hard dependency either.

For the segmentation the dcmqi is not necessary anymore. Only for the new DICOMQI Module the dcmqi is a mandatory dependency.