diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/org_mitk_gui_qt_multilabelsegmentation.dox b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentation.dox
similarity index 95%
rename from Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/org_mitk_gui_qt_multilabelsegmentation.dox
rename to Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentation.dox
index 6b11a85216..ed9a27078c 100644
--- a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/org_mitk_gui_qt_multilabelsegmentation.dox
+++ b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentation.dox
@@ -1,101 +1,107 @@
/**
\page org_mitk_views_multilabelsegmentation The Multilabel Segmentation
\imageMacro{"multilabelsegmentation.svg", "Icon of the MultiLabelSegmentation Plugin", 12}
The difference between a binary and a multi-label segmentation is that a multi-label segmentation can not only contain more than one label but also more than one layer. This allows you to create different labels for different regions of interest encapsulated in one single image. The difference between labels and layers is that labels on one layer cannot overlap but labels on different layers can.
+
+The Multilabel Segmentation plugin consists of two views which can be used for:
+
+ - manual and (semi-)automatic segmentation of anatomical and pathological structures in medical images via the Multilabel Segmentation View
+
- multilabel segmentation postprocessing via \subpage org_mitk_views_multilabelsegmentationutilities
+
Hereinafter, a description is given on how multi-label segmentations can be created and modified. Please refer to \ref org_mitk_views_segmentation for a description of the general segmentation tools.
\tableofcontents
\section org_mitk_views_multilabelsegmentationUserManualCreateOpenSaveImportAdd Data Selection
In the 'MultiLabel Segmentation' view you can first select an image. Thereafter, you can either create a new segmentation session by pressing the symbol right to the selection widget or select an existing one.
\imageMacro{"org_mitk_views_multilabelsegmentationIMGtoolbar.png", "Data selection",12}
\section org_mitk_views_multilabelsegmentationUserManualLayerTable Segmentation Layers
Once you started a segmentation session you can add or delete different layers. You can use the layers independently and switch layers by the left and right arrows.
\imageMacro{"org_mitk_views_multilabelsegmentationIMGlayerManager.png", "Layer selection",12}
\subsection org_mitk_views_multilabelsegmentationUserManualLayerCreation Creating a New Layer
A layer is a set of labels that occupy a non-overlapping anatomical space. The best way to describe them is by a real use case. Imagine you are working on a radiotherapy planning application. In the first layer of your segmentation
session, you would like to trace the contours of the liver and neighboring organs. You can accommodate all these segmentations in separate labels because they all occupy different anatomical regions and do not overlap. Now say you would like to segment the arteries and veins inside the liver. If you don't trace them in a different layer, you will overwrite the previous ones. You may also need a third layer for segmenting the different irrigation territories in the liver and a fourth layer to contain the lesion you would like to treat.
\section org_mitk_views_multilabelsegmentationUserManualLabelTable Segmentation Labels
For each layer, you can add one or more labels. Pressing the double arrow on the right, all created labels are shown in the 'Lable Table'. The following label properties are available:
- Name:
the name of the label. Can be a predefined one or any other.
- Locked:
whether the label is locked or editable. A locked label cannot be overwritten by another.
- Color:
the color of the label.
- Visible:
whether the label is currently visible or hidden.
\imageMacro{"org_mitk_views_multilabelsegmentationIMGlabeltable.png", "The 'Label Table' shows all labels in the current segmentation session", 12}
\subsection org_mitk_views_multilabelsegmentationUserManualLabelCreation Creating a New Label
Click the 'New Label' button to add a new label. A dialog will show up to enter the name and color. Preset organ names and
corresponding colors are offered while you type in, but you can set any name. The new name - if not known - will be automatically remembered and made available the next time you create a new label. In the current implementation of the plugin, the maximum number of labels is restricted to 255. If you need more, you will have to create a new segmentation session.
\subsection org_mitk_views_multilabelsegmentationUserManualLabelSearch Searching a Label
It may happen that many labels (e.g. > 200) are present in a segmentation session and therefore manual searching can be time-consuming.
The 'Label Search' edit box allows for quickly finding the label you want. Just start writing its name and you will get assistance for completing its name. If the label you were searching is found, press 'enter' and it will become the active one.
\subsection org_mitk_views_multilabelsegmentationUserManualLabelEditing Label Editing
Here the actual segmentation takes place. First of all, you have to select the active label by clicking on the corresponding row in the 'Label Table'. Note that only one label can be active at the time. Then you can select segmentation tool in the toolbox.
\imageMacro{"org_mitk_views_multilabelsegmentationIMGSegmentationToolbox.png", "Segmentation toolbox", 12}
\note Not all segmentation tools can be found here. This is because some of the semi-automatic tools can not be applied in case of multiple labels.
\subsection org_mitk_views_multilabelsegmentationUserManualOperationsOnLabels Operations on Labels
Depending on your selection in the 'Label Table', several actions are offered:
\subsubsection org_mitk_views_multilabelsegmentationUserManualOperationsOnSingleSelection Single Label Selection
If you right click on any label in the table, a pop-up menu offers the following actions to be performed on the selected label:
- Rename...
: change the name and/or color of the selected label.
- Remove...
: delete the selected label.
- Erase...
: only clear the contents of the selected label.
- Merge...
: merge two labels by selecting a second label.
- Random color
: assign a random color to the label.
- View only
: make all labels except the current selected label invisible.
- View/Hide all
: make all labels visible / invisible
- Lock/Unlock all
: lock or unlock all labels.
- Create surface
: generate a surface out of the selected label.
- Create mask
: generate a mask out of the selected label. A mask is a binary image with "1" inside and "0" outside.
- Create cropped mask
: generate a binary mask out of the selected label. Crop changes the extent of the resulting image to the extent of the label.
\imageMacro{"org_mitk_views_multilabelsegmentationIMGLabelTableSingleSelectionContextMenu.png", "Context menu for single label selection", 12}
\subsubsection org_mitk_views_multilabelsegmentationUserManualOperationsOnMultipleSelection Multiple Label Selection
You can select more than one label by shift-click on other labels. If more than one label is selected, different options will appear in the menu:
\imageMacro{"org_mitk_views_multilabelsegmentationIMGLabelTableMultipleSelectionContextMenu.png", "Context menu for multiple label selection", 12}
- Merge selection on current label
: transfer the contents of the selected labels in the 'Label Table' into the current one.
- Remove selected labels
: delete the selected labels.
- Erase selected labels
: only clear the contents of the selected labels.
*/
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities.dox b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities.dox
new file mode 100644
index 0000000000..86c557c429
--- /dev/null
+++ b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities.dox
@@ -0,0 +1,82 @@
+/**
+\page org_mitk_views_multilabelsegmentationutilities The Multilabel Segmentation Utilities
+
+\imageMacro{multilabelsegmentation_utilities.svg,"Icon of the Multilabel Segmentation Utilities Plugin",5.00}
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_Overview.png, "The Multilabel Segmentation Utilities View",16.00}
+
+\tableofcontents
+
+\section org_mitk_views_multilabelSegmentationUtilitiesOverview Overview
+
+The Multilabel Segmentation Utilities Plugin allows to postprocess existing segmentations. Currently five different operations exist:
+
+
+ - \ref org_mitk_views_multilabelSegmentationUtilitiesBooleanOperations
+
- \ref org_mitk_views_multilabelSegmentationUtilitiesMorphologicalOperations
+
- \ref org_mitk_views_multilabelSegmentationUtilitiesSurfaceToImage
+
- \ref org_mitk_views_multilabelSegmentationUtilitiesImageMasking
+
- \ref org_mitk_views_multilabelSegmentationUtilitiesConvertToMultiLabel
+
+
+\section org_mitk_views_multilabelSegmentationUtilitiesDataSelection Data Selection
+
+All postprocessing operations provide one or more selection widgets, which allow to select the data for the operation.
+
+\section org_mitk_views_multilabelSegmentationUtilitiesBooleanOperations Boolean operations
+
+Boolean operations allows to perform the following fundamental operations on two segmentations:
+
+
+ - Difference: Subtracts the second segmentation from the first segmentation.
+
- Intersection: Extracts the overlapping areas of the two selected segmentations.
+
- Union: Combines the two existing segmentations.
+
+
+The selected segmentations must have the same geometry (size, spacing, ...) in order for the operations to work correctly.
+The result will be stored in a new data node as a child node of the first selected segmentation.
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_BooleanOperations.png,"Boolean operations",6.00}
+
+\section org_mitk_views_multilabelSegmentationUtilitiesMorphologicalOperations Morphological operations
+
+Morphological operations are applied to a single segmentation image. Based on a given structuring element the underlying segmentation will be modfied.
+The plugin provides a ball and a cross as structuring elements. The follow operations are available:
+
+
+ - Dilation: Each labeled pixel within the segmentation will be dilated based on the selected structuring element.
+
- Erosion: Each labeled pixel within the segmentation will be eroded based on the selected structuring element.
+
- Closing: An erosion followed by a dilation, used for filling small holes.
+
- Opening: A dilation followed by an erosion, used for smoothing edges or eliminating small objects.
+
- Fill Holes: Fills bigger holes within a segmentation.
+
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_MorphologicalOperations.png,"Morphological operations",6.00}
+
+\section org_mitk_views_multilabelSegmentationUtilitiesSurfaceToImage Surface to image
+
+Surface to image allows to create a segmentation out of a given surface.
+The operation requires a surface and a reference image.
+The created segmentation image will have the same geometrical properties like the reference image (dimension, size and Geometry3D).
+Depending on the selected mode ("make output binary" or "overwrite background")
+the result will be a simple image or a binary image.
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_SurfaceToImage.png,"Surface to image",6.00}
+
+\section org_mitk_views_multilabelSegmentationUtilitiesImageMasking Image masking
+
+Image masking allows to mask an image with either an existing segmentation or a surface.
+The operation requires an image and a binary image mask or a surface.
+The result will be an image containing only the pixels that are covered by the respective mask.
+Depending on the selected mode ("make output binary" or "overwrite foreground" / "overwrite background")
+the result will be a simple image or a binary image.
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_ImageMasking.png,"Image masking",6.00}
+
+\section org_mitk_views_multilabelSegmentationUtilitiesConvertToMultiLabel Convert to Multilabel
+
+Convert to multilabel allows to interpret the pixel values of a given image as label IDs and convert the image content into the respective Multilabel image.
+The new segmentation will contain one layer with as many labels as the original image contains different pixel values.
+
+\imageMacro{QmitkMultiLabelSegmentationUtilities_ConvertToMultilabel.png,"Convert to Multilabel",6.00}
+**/
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_BooleanOperations.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_BooleanOperations.png
new file mode 100644
index 0000000000..d6ab9a24d2
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_BooleanOperations.png differ
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ConvertToMultilabel.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ConvertToMultilabel.png
new file mode 100644
index 0000000000..cb7ab21d58
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ConvertToMultilabel.png differ
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ImageMasking.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ImageMasking.png
new file mode 100644
index 0000000000..dc948cc0ab
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_ImageMasking.png differ
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_MorphologicalOperations.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_MorphologicalOperations.png
new file mode 100644
index 0000000000..d11d3cf94c
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_MorphologicalOperations.png differ
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_Overview.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_Overview.png
new file mode 100644
index 0000000000..0a1a1a3990
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_Overview.png differ
diff --git a/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_SurfaceToImage.png b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_SurfaceToImage.png
new file mode 100644
index 0000000000..0c06b7191d
Binary files /dev/null and b/Plugins/org.mitk.gui.qt.multilabelsegmentation/documentation/UserManual/QmitkMultiLabelSegmentationUtilities_SurfaceToImage.png differ