Page MenuHomePhabricator

[Segmentation] Inspection of module and plugin
Open, NormalPublic

Description

Several flaws of the segmentation functionality / UI regularly pop up. This meta task will gather the known problems and offer a room for discussion on how to continue with the multi label segmentation plugin.

A substantial amount of work, which can be used for the discussion about the future of the (multi label) segmentation, was already done in {T23602} and {T26506}.
The child tasks of this meta task focus more on the open bugs in the already existing implementation. Some mayor refactoring was done in T28118: Refactoring of SegTool2D, which lead to some of the subtasks.

Related Objects

StatusAssignedTask
OpenNone
Openkalali
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedkalali
Resolvedkleina
Resolvedkleina
OpenNone
OpenNone
Resolvedkalali
Openkalali
OpenNone
OpenNone
OpenNone
Openfloca
OpenNone
OpenNone
Resolvedfloca
OpenNone

Event Timeline

kalali triaged this task as Normal priority.Jan 19 2021, 12:29 PM
kalali created this task.

Testing if both Segmentation Utilities and Multilabel Segmentation Utilities have the same functionality:

  • For 3d data, a surface (or surfaces, depending on the case) was created by doing a 3d-interpolation of the masks in different 2d views. Data Used: MITK-Data/brain.nrrd.
  • For 3d+t data, surfaces wese created by doing a 3d-interpolation for the masks in different 2d views for all the 3 time steps (the dynamic segmentation option). Data Used: MITK-Data/3D+t-Heart/001.
  • Boolean Operations:
    • For 3D:
      • The three boolean operations: intersection, difference and union were carried out with these two surfaces.
    • For 3D+t:
      • The three operations intersection, difference and union were performed for all 3 time steps.
    • Result: The results seem to be identical for both Segmentation Utilities and Multilabel Segmentation Utilities for 3D and 3D+t results.
    • The same was done with static segmentation (as the segmentation is constant across time-steps, the operations were done only once). The results work identically for both Segmentation Utilities and Multilabel Segmentation Utilities.
    • Note: One thing to be noted is that for the dynamic segmentation the operations have to be done separately at each time step.
  • Contour To Image:
    • For 3D:
      • Data Used: MITK-Data/ContourModel-Data/RefImage.nrrd and MITK-Data/ContourModel-Data/Contours.cnt_set
      • The result is identical for both Segmentation Utilities and Multilabel Segmentation Utilities.
    • For 3D+t: Haven't tried this out. Not sure what data would be good to test this.
  • Image Masking :
    • For 3D:
      • For Segmentation Utilities the image masking operation with the Zero minimum option enabled.
      • For Multilabel Segmentation Utilities the image masking operation with the Image Masking mode enabled.
    • For 3D+t:
      • Settings for Segmentation Utilities: Background Value: 0
      • Settings for Multilabel Segmentation Utilities: Masking Mode: Image Masking.
      • Make Output Binary, Overwrite Background, Overwrite Foreground give identical results.
    • Result: For both 3D and 3D+t Segmentation Utilities and MultiLabel Segmentation Utilities seem to give the same result in both 3D and 3D+t cases.
    • Note: The other 3 switches in make_output_binary, overwrite_foreground and overwrite_background seem to do nothing.
    • Note: Also if I switch the masking mode to Surface masking option in Multilabel Segmentation Utilities its output seems identical to the Image Masking option.
  • Morphological Operations:
    • All the morphological operations were carried out for both Segmentation Utilities and Multilabel Segmentation Utilities for 3D and 3D+t data.
    • Result: Both seem to give identical results.
  • Suface to Image :
    • Result: Results seem identical for both Segmentation Utilities and Multilabel Segmentation Utilities for 3D and 3D+t data.

Testing if both Segmentation Utilities and Multilabel Segmentation Utilities have the same functionality:
...

If this is still valid: Could you open tasks for the mentioned issues? Does it make sense to use T28264: [Segmentation Utilities] Various issues and add subtasks here for open issues?