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 on 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 output CSOList by the second CSOList.

If 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 needs to be updated or expanded by another, the output of the CSOMerge module must be connected to this module’s first input using a CSOManager or CSOListContainer, which does not directly modify the input CSOList. The output CSOList is then expanded by the second list with each update.

If certain output CSO should be updated, i.e., CSOs from the first input, the field Update first list by second list must to be set to true. Additionally, a mapping of CSO IDs (CSO Id Mapping) must be specified. For each source CSO that should update a destination CSO, the corresponding 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

Field Index

addCSOToGroupMode: Enum

Group Merge Mode: Enum

pathPointStyle: Enum

addCSOToGroupWithId: Integer

id: Integer

pathPointWidth: Float

addCSOToGroupWithLabel: String

isProcessing: Bool

Second CSO Ids: String

Auto apply: Bool

Listen to finishing (listenToFinishingCSONotifications): Bool

Second Group Ids: String

changeSettingsForModifiedCSOs: Bool

Listen to finishing (listenToFinishingGroupNotifications): Bool

seedPointAlpha: Float

Clone first CSO list: Bool

Listen to moved: Bool

seedPointColor: Color

CSO Id Mapping: String

Listen to selection changes (listenToSelectionCSOChangedNotifications): Bool

seedPointSize: Float

csoIdList: String

Listen to selection changes (listenToSelectionGroupChangedNotifications): Bool

seedPointStyle: Enum

done: Trigger

listenToFinishingNotifications: Bool

Update: Trigger

emptyGroupBeforeGeneration: Bool

listenToSelectionNotifications: Bool

Update first list by second list: Bool

Enable Undo/Redo: Bool

Mode: Enum

voxelWriteMode: Enum

First CSO Ids: String

pathPointAlpha: Float

voxelWriteValue: Float

First Group Ids: String

pathPointColor: Color

Work directly on (first) input CSOList: Bool

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

When 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 latter 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