Page MenuHomePhabricator

Preferences for segmentation '2D display' are not properly utilized
Open, NormalPublic

Description

  1. Verify that 'Draw as transparent overlay' is selected both in the "MultiLabel Segmentation" and "Segmentation" preferences
  2. load this file:

  1. Segmentation is displayed as transparent red (legacy segmentation, correct behavior)
  2. right klick in DataManager -> convert to segmentation
  3. now it's displayed in transparent yellow + yellow outline -> This is not what the preferences indicate! There should be just the transparent yellow overlay without the outline

Ubuntu 18.04

2021-10-01 snapshot

Screenshot from 2021-10-14 12-31-55.png (21×976 px, 11 KB)

Event Timeline

kislinsk triaged this task as Normal priority.Thu, Oct 14, 9:21 PM
kislinsk edited projects, added MITK (v2021.10); removed MITK.
kislinsk added a subscriber: kislinsk.

Workaround: (Re)open the MultiLabel Segmentation view after you converted the segmentation to make it work.

I already implemented something but it is not yet finished.

Insights of the status quo:

There is a difference between binary images (which cannot be created by Segmentation view but loaded) and label set images. The former are either drawn as overlay or as outline. Default is overlay. The latter are always drawn as overlay but the active label can have an optional outline in addition (by default).

What I plan to do:

Binary images: Remove any preferences as it is ultimately a state of the actual image (a property to be specific) and having it as a preference that is used by the Segmentation view will always create inconsistency or mess with already present and possibly adjusted data. Instead, make it available in the context menu of binary images: "Draw as outline", "Draw as overlay".

Label set images: Replace preferences with a toggle button in the Multilabel Segmentation view. Also add context menu entries: "Show outline of active label", "Hide outline of active label". Sync them with the toggle button while the view is opened. When the toggle button is activated, the outline of the selected label will be displayed. If nothing is selected, no outline will be displayed. Therefore, make the property that controls the display of the active label a non-persistent one. Tl;dr: The outline is (and only is) a direct representation of the selected label in the view.