CSOMerge

MLModule
genre CSOModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLCSOModules
definition MLCSOModules.def
see also CSOManager
keywords contour, append, add

Purpose

The module CSOMerge merges two input CSOLists by some criteria and generates a copy as an output list.

Usage

Adjust the merge criteria to your needs and either perform the merging manually or let the merging be performed at certain notifications.

Details

The module can be used in two ways:

  1. Simply merge two lists and generate a new one,
  2. Expand or update the ouput CSOList by the second CSOList.

When two lists are merged the ids of the CSOs and groups must be changed obviously. To keep track of the correspondence, the module provides a couple of fields which contain a comma separated list of id mappings. These mappings exist for CSOs and CSOGroups for the first and the second input CSOLists. Each entry specifies two ids, separated by a colon, whereas the first id is the source id, i.e. the id from the input list.

Merging two lists

To merge two lists just connect them and press update if the Mode is not set to Auto Update. If auto update is enabled one can specify the notifications on which an update is triggered.

Expanding/Updating one list by another

If one list should be updated or expanded by another, the output of the CSOMerge module has to be connected to this module’s first input using a CSOManager which does not directly work on the input CSOList. Then the output CSOList gets expanded by the second one on each update.

If certain output CSO should be updated, i.e. CSOs from the first input, the field Update first list by second list needs to be set to true. Additionally, a mapping of CSO ids (CSO Id Mapping) has to be specified. For each source CSO that should update a destination CSO, the respective ids have to be entered, separated by a colon. Multiple id pairs are separated by commas.

Windows

Default Panel

../../../Modules/ML/MLCSOModules/mhelp/Images/Screenshots/CSOMerge._default.png

Input Fields

inCSOList

name: inCSOList, type: CSOList(MLBase), deprecated name: inputCSOList0

One of the CSOLists that should be merged.

For accessing this object via scripting see the Scripting Reference: MLCSOListWrapper.

inputCSOList1

name: inputCSOList1, type: CSOList(MLBase)

The second CSOLists that should be merged.

For accessing this object via scripting see the Scripting Reference: MLCSOListWrapper.

Output Fields

outCSOList

name: outCSOList, type: CSOList(MLBase), deprecated name: outputCSOList

A merged copy of the input CSOLists.

For accessing this object via scripting see the Scripting Reference: MLCSOListWrapper.

Parameter Fields

Visible Fields

Mode

name: updateMode, type: Enum, default: AutoClear

Defines the update mode of this module. This is how it reacts to changes of the input CSOLists and to notification of those CSOLists.

Values:

Title Name Description
Off Off Do not react on changes or notifications.
Auto Update AutoUpdate Merge anew if any input CSOList (field) changes.
Auto Clear AutoClear  

Auto apply

name: autoApply, type: Bool, default: FALSE

If checked, the module computes anew if any field on the module’s GUI is changed.

Update

name: apply, type: Trigger

If pressed, the module computes anew.

Work directly on (first) input CSOList

name: workDirectlyOnInputList, type: Bool, default: FALSE

If checked, the module merges the second input CSOList into the first input CSOList which is the original input CSOList, not a copy.

Enable Undo/Redo

name: useUndoRedo, type: Bool, default: TRUE, deprecated name: enableUndoRedo

If checked, the performed merge operations can be undone/redone using the CSO undo/redo mechanism.

Clone first CSO list

name: cloneFirstCSOList, type: Bool, default: FALSE

If checked, the first CSO list gets cloned before being merged with the second one. This is helpful if you need to preserve the CSO ids of the first list.

First CSO Ids

name: mapFirstCSOIdsToThisCSOIds, type: String, persistent: no

Shows the mapping information about the CSOs of the first input list. I.e. which output CSO corresponds to which input CSO.

First Group Ids

name: mapFirstGroupIdsToThisGroupIds, type: String, persistent: no

Shows the mapping information about the CSOGroups of the first input list.

Second CSO Ids

name: mapSecondCSOIdsToThisCSOIds, type: String, persistent: no

Shows the mapping information about the CSOs of the second input list. I.e. which output CSO corresponds to which input CSO.

Second Group Ids

name: mapSecondGroupIdsToThisGroupIds, type: String, persistent: no

Shows the mapping information about the CSOGroups of the second input list.

Group Merge Mode

name: mergeMode, type: Enum, default: BY_LABEL, deprecated name: mergeGroupsWithSameLabel

Defines the mode for group merging.

Values:

Title Name Deprecated Name Description
None None FALSE No groups are merged.
BY_ID BY_ID   Groups with the same ID are merged.
BY_LABEL BY_LABEL TRUE Groups with the same label are merged.

Update first list by second list

name: updateCSOsBySecondList, type: Bool, default: FALSE

If checked, the mapping specified in CSO Id Mapping is used to update CSOs from the first input list by CSOs from the second input list.

CSO Id Mapping

name: updateCSOsBySecondListMap, type: String

Sets a comma separated list of id mappings. One specifies the id of a CSO from the second list and then, separated by a colon, the id of a CSO from the first list. The later one will be replaced by the former.

Listen to finishing (listenToFinishingCSONotifications)

name: listenToFinishingCSONotifications, type: Bool, default: TRUE

If checked, the modules updates when input CSOs send the finish notification.

Listen to finishing (listenToFinishingGroupNotifications)

name: listenToFinishingGroupNotifications, type: Bool, default: TRUE

If checked, the module updates when input CSOGroups send the finish notification.

Listen to selection changes (listenToSelectionCSOChangedNotifications)

name: listenToSelectionCSOChangedNotifications, type: Bool, default: TRUE

If checked, the module updates when input CSOs send the selection changed notification.

Listen to selection changes (listenToSelectionGroupChangedNotifications)

name: listenToSelectionGroupChangedNotifications, type: Bool, default: TRUE

If checked, the module updates when input CSOGroups send the selection changed notification.

Listen to moved

name: listenToMovedCSONotifications, type: Bool, default: FALSE

If checked, the module updates when input CSOs send the moved notification.

Hidden Fields

isProcessing

name: isProcessing, type: Bool, persistent: no

done

name: done, type: Trigger, persistent: no

emptyGroupBeforeGeneration

name: emptyGroupBeforeGeneration, type: Bool, default: FALSE

addCSOToGroupMode

name: addCSOToGroupMode, type: Enum, default: AddToGroupByLabel

Values:

Title Name
None AddToGroupNone
By Label AddToGroupByLabel
By Id AddToGroupById

addCSOToGroupWithLabel

name: addCSOToGroupWithLabel, type: String

addCSOToGroupWithId

name: addCSOToGroupWithId, type: Integer, default: -1

id

name: id, type: Integer, default: 0

pathPointStyle

name: pathPointStyle, type: Enum, default: LineStyleSolid

Values:

Title Name
None LineStyleNone
Solid LineStyleSolid
Dashed LineStyleDashed
Dotted LineStyleDotted
Short Dashed LineStyleShortDashed

pathPointWidth

name: pathPointWidth, type: Float, default: 1

pathPointColor

name: pathPointColor, type: Color, default: 1 1 0

pathPointAlpha

name: pathPointAlpha, type: Float, default: 1

seedPointStyle

name: seedPointStyle, type: Enum, default: MarkerModeRect

Values:

Title Name
None MarkerModeNone
Rect MarkerModeRect
Circle MarkerModeCircle
Fixed Circle MarkerModeFixedCircle
Triangle MarkerModeTriangle
Filled Rect MarkerModeFilledRect
Filled Circle MarkerModeFilledCircle
Filled Triangle MarkerModeFilledTriangle
Dashed Rectangle MarkerModeDashedRectangle

seedPointSize

name: seedPointSize, type: Float, default: 2

seedPointColor

name: seedPointColor, type: Color, default: 0 1 0

seedPointAlpha

name: seedPointAlpha, type: Float, default: 1

voxelWriteMode

name: voxelWriteMode, type: Enum, default: VoxelWriteModeModule

Values:

Title Name
Id VoxelWriteModeId
Const VoxelWriteModeConst
Const Plus Id VoxelWriteModeConstPlusId
Module VoxelWriteModeModule

voxelWriteValue

name: voxelWriteValue, type: Float, default: 1024

csoIdList

name: csoIdList, type: String

changeSettingsForModifiedCSOs

name: changeSettingsForModifiedCSOs, type: Bool, default: FALSE

listenToFinishingNotifications

name: listenToFinishingNotifications, type: Bool, default: TRUE

listenToSelectionNotifications

name: listenToSelectionNotifications, type: Bool, default: TRUE