Page MenuHomePhabricator | MITK

Refactor plugins to use the new node selection widgets
Open, NormalPublic

Description

With the first versions of the new selection widgets available we could refactor plugins to use them

Here is a list of plugins, that rely on image node selection:

plugin nameselection mechanismnote
SegmentationQmitkDataStorageComboBox2 Combo boxes: 1 with an image-predicate, 1 with a segmentation-predicate
Segmentation UtilitiesQmitkDataStorageComboBoxseveral mixed combo boxes (with image-predicates / with segmentation-predicates)
Clipping PlaneQmitkDataStorageComboBox1 combo box with a "clipping plane"-property predicate
ClassificationSegmentationQmitkDataStorageComboBox
MultiLabelQmitkDataStorageComboBox2 Combo boxes: 1 with an image-predicate, 1 with a segmentation-predicate
MultiLabel UtilitiesQmitkDataStorageComboBox
BasicImageProcessingQmitkDataStorageComboBox
MatchPoint ...QmitkDataStorageComboBox
MatchPoint ...QmitkDataStorageComboBox
MatchPoint ...QmitkDataStorageComboBox
BasicImageProcessingDataManager selection
MeasurementDataManager selection
StatisticsDataManager selection
Dicom InspectorDataManager selection
PropertiesDataManager selectionused function OnSelectionChanged from AbstractView
PointSet InteractionDataManager selectionused function GetDataManagerSelection
Render Window ManagerDataManager selectionused function 'GetDataManagerSelection'
Semantic Relationsown selection widget / dialogsimilar to the new selection concept

TODOs

  • Clarify which plugins should be refactored
  • Spawn sub tasks for the plugins that should be refactored
  • Refactor ;)

Event Timeline

floca triaged this task as Normal priority.May 15 2018, 12:30 PM
floca created this task.
floca added a project: Request for Discussion.

I tagged it with request for discussion to clarify which plugins should be refactored.

kalali added a subscriber: kleina.EditedMay 16 2018, 1:24 PM

For the BlackSwan Project we will at least need the functionality of the

  • Segmentation
  • Segmentation Utilities?
  • MatchPoint: many plugins
    • which are needed? do we provide another, simplified registration plugin that uses match point functionality?
  • Semantic Relations
  • Render Window Manager
  • Properties?
  • new, own PointSet-Tool (with region growing) - from @kleina ?
  • Statistics? Or do we provide our own, new statistics plugin view?
floca added a comment.May 16 2018, 4:41 PM

For the BlackSwan Project we will at least need the functionality of the

  • Statistics? Or do we provide our own, new statistics plugin view?

If we can avoid it, I would not use the (refactored) statistics view. With the rework Clemens and André are currently orchestrating, wie should have a solid Basis to do so.

  • MatchPoint

I would refactor all plugins anyways ;)

kalali updated the task description. (Show Details)Jun 11 2018, 1:57 PM
kalali added a comment.EditedJun 12 2018, 10:54 AM

Some plugins have their UI-classes in a xxUI-modules. From there it is not possible to access the QmitkNodeSelectionDialog since it's located inside the org.mitk.gui.qt.common-plugin. Is there any reason not to move the dialog to the QtWidgets-module?

Edit: The QmitkNodeSelectionDialog depends on the QmitkNodeSelectionPreferenceHelper which itself depends on berry plugins, so it cannot easily moved to the QtWidgets-module.
Do you have any suggestions?

floca added a subscriber: kislinsk.Jun 13 2018, 1:00 PM

Which xxUI-modules are you refering to?

The reason why QmitkNodeSelectionDialog is in a plugin is that this class makes use of blue berry preferences. To my knowledge blueberry is only available in plugins and not in modules (@kislinsk Please, correct me if I am wrong). Thats also the reason why the selection widgets are in a plugin, because the depend on the dialog.

E.g. SemanticRelationsUI, RenderWindowManagerUI etc., to separate a module's UI logic from other logic.
Yes, I identified the problem, too.

Currently I have a widget inside the SemanticRelationsUI-module, that has buttons to select nodes. These buttons can not open a QmitkNodeSelectionDialog since they cannot access it. Now I need to use a different technique to move the dialog-open-functionality to a corresponding plugin.

kalali updated the task description. (Show Details)Jun 18 2018, 9:34 AM