CSOMerge

MLModule
genre CSOModule
status stable
author Alexander Koehn
package MeVisLab/Standard
dll MLCSOModules
definition MLCSOModules.def
see also CSOManager
keywords CSO, contour

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 One 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

inputCSOList0

name: inputCSOList0, type: MLBase

One of the CSOLists that should be merged.

inputCSOList1

name: inputCSOList1, type: MLBase

The second CSOLists that should be merged.

Output Fields

outputCSOList

name: outputCSOList, type: MLBase

A merged copy of the input CSOLists.

Parameter Fields

Visible Fields

Mode

name: updateMode, type: Enum, default: Off

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 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.

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.

Merge Groups With The Same Label

name: mergeGroupsWithSameLabel, type: Bool, default: TRUE

If checked, only groups with the same label are merged.

Update First List by Second One

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, default: FALSE

done

name: done, type: Trigger