CSOManualCorrectionProcessor

MLModule

genre

CSOProcessor

author

Frank Heckel

package

FMEwork/ReleaseMeVis

dll

SoCSOMiscModules

definition

SoCSOMiscModules.def

see also

SoView2DCSOEditor, CSOModifyProcessor, CSOFreehandProcessor

keywords

CSO, contour, segmentation, editing, correction

Purpose

The CSOManualCorrectionProcessor allows an intuitive manual correction of CSOs in 2D.

Usage

Connect the output to a SoView2DCSOEditor.

Details

None.

Tips

The sub type of a newly generated CSO is set to “SUB_TYPE_PRIMARY” for the result of the manual correction and to “SUB_TYPE_SECONDARY” for the CSO that is not the result of the correction step.

Windows

Default Panel

../../../Projects/SoCSOMiscModules/Modules/mhelp/Images/Screenshots/CSOManualCorrectionProcessor._default.png

Output Fields

outProcessorData

name: outProcessorData, type: MLBase

Connected this output to a SoView2DCSOEditor.

Parameter Fields

Field Index

Add To Group: String

Generation Mode: Enum

Min. Distance Between Seed Points (mm): Float

addCSOToGroupMode: Enum

Interpolation Mode: Enum

Overwrite type: Bool

addCSOToGroupWithId: Integer

Is closed: Bool

Plane normal: Vector3

Area: Float

Keeping Mode: Enum

Reference Point: Vector3

Closed Contour Handling Mode: Enum

Keeping Mode Fallback: Enum

Smooth edited CSOs: Bool

Closing Distance (mm): Float

Last Edited CSO Id: Integer

Start/End Threshold: Double

Creator Id: Integer

Last Seed point: Vector3

Threshold: Double

Edit all timepoints: Bool

Length: Float

Use intersection points: Bool

First seed point: Vector3

Level CSOs to closest plane: Bool

Used Center Of Gravity: Vector3

Generate secondary: Bool

Middle seed point: Vector3

Visible Fields

Add To Group

name: addCSOToGroupWithLabel, type: String

If this field is non-empty, the CSOGroup with this label is looked up in the CSOList. If it is not found, the group is created. All generated CSOs are attached to that group. Default is empty.

Creator Id

name: id, type: Integer, default: 0

This field determines the creator id of the generated CSOs. Default is 0.

Edit all timepoints

name: editAllTimePoints, type: Bool, default: FALSE

If enabled, the editing affects all time points.

Keeping Mode

name: keepingMode, type: Enum, default: KeepingModeKeepLargest

Defines which of the possible resulting CSOs should be kept.

Values:

Title

Name

Description

​Keep Longest

​KeepingModeKeepLongest

​Uses the length of the CSO.

​Keep Shortest

​KeepingModeKeepShortest

​Uses the length of the CSO.

​Keep Largest

​KeepingModeKeepLargest

​Uses the area of the CSO.

​Keep Smallest

​KeepingModeKeepSmallest

​Uses the area of the CSO.

​Dont Keep Center Of Gravity

​KeepingModeDontKeepCenterOfGravity

​Uses the center of gravity of the CSO, i.e., it is checked which CSO does not contain the center of gravity of the original CSO.

​Keep External Ref Point

​KeepingModeKeepExternalRefPoint

​Dont Keep External Ref Point

​KeepingModeDontKeepExternalRefPoint

​Keep Center Of Gravity

​KeepingModeKeepCenterOfGravity

Keeping Mode Fallback

name: keepingModeFallback, type: Enum, default: KeepingModeKeepLargest

Defines which of the possible resulting CSOs should be kept if a center-of-gravity-mode is selected as keepingMode and no resulting CSO contains the center of gravity.

Values:

Title

Name

Description

​Longest

​KeepingModeKeepLongest

​Uses the length of the CSO.

​Shortest

​KeepingModeKeepShortest

​Uses the length of the CSO.

​Largest

​KeepingModeKeepLargest

​Uses the area of the CSO.

​Smallest

​KeepingModeKeepSmallest

​Uses the area of the CSO.

Reference Point

name: referencePoint, type: Vector3, default: 0 0 0

The optional reference point.

Generation Mode

name: generationMode, type: Enum, default: GenerationModeReplaceExisting

Defines if the existing CSOs should be modified (“Replace Existing”) or if new CSOs should be generated (“Generate New”).

Values:

Title

Name

Description

​Generate New

​GenerationModeGenerateNew

​Adds a new CSO.

​Replace Existing

​GenerationModeReplaceExisting

​Replaces existing CSOs.

Generate secondary

name: generateSecondary, type: Bool, default: FALSE

If enabled, the secondary CSO is generated as well (i.e., the CSO that is not the result of the manual correction). See also Tips and Tricks.

Overwrite type

name: overwriteType, type: Bool, default: FALSE

If enabled, the type of the corrected CSO is set to “CSOManualCorrectionProcessor” and the subtype is set to “SUB_TYPE_PRIMARY”. See also Tips and Tricks.

Closed Contour Handling Mode

name: closedContourHandlingMode, type: Enum, default: ClosedHandlingModeAddNew

Defines how closed CSOs should be handled by the processor.

Values:

Title

Name

Description

​Ignore

​ClosedHandlingModeIgnore

​Closed CSOs are ignored.

​Add New

​ClosedHandlingModeAddNew

​Closed CSOs are added as new CSOs.

​Replace Closest

​ClosedHandlingModeReplaceClosest

​Closed CSOs replace the closest CSO.

Closing Distance (mm)

name: closingDistance, type: Float, default: 2

If the distance between the start and the end point of the user drawn CSO is smaller than this value, no CSO is modified. Instead a new closed CSO is added based on the user drawn CSO.

Interpolation Mode

name: interpolationMode, type: Enum, default: InterpolationModeSplineApproximation

Defines the interpolation method for the drawn contour.

Values:

Title

Name

​Linear Interpolation

​InterpolationModeLinearInterpolation

​Spline Interpolation

​InterpolationModeSplineInterpolation

​Spline Approximation

​InterpolationModeSplineApproximation

Min. Distance Between Seed Points (mm)

name: minSeedPointDistance, type: Float, default: 8

Sets the distance of the current seed point to the first seed point. If the distance is less than this value, the contour can be closed.

Use intersection points

name: useIntersections, type: Bool, default: TRUE

Defines if the first and the last intersection point should be used when modifying a CSO. Otherwise the the start and the end point of the user drawn contour are used.

Threshold

name: intersectionThreshold, type: Double, default: 0.0001, minimum: 0

Threshold for intersection detection.

Start/End Threshold

name: intersectionThresholdStartAndEnd, type: Double, default: 1, minimum: 0

Threshold for considering the start- and end-point as intersecting.

Level CSOs to closest plane

name: level, type: Bool, default: TRUE

Enables leveling of the edited CSOs to the closest plane.

Smooth edited CSOs

name: smoothEditedCSOs, type: Bool, default: FALSE

If enabled, the edited CSO is smoothed.

Is closed

name: inputCSOClosed, type: Bool, persistent: no

Was the user drawn CSO closed?

Length

name: inputCSOLength, type: Float, persistent: no

The length of the user drawn CSO.

Area

name: inputCSOArea, type: Float, persistent: no

The area of the user drawn CSO.

Plane normal

name: inputCSOPlaneNormal, type: Vector3, persistent: no

The normal of the user drawn CSO.

First seed point

name: inputCSOFirstSeedPoint, type: Vector3, persistent: no

The world position of the first seed point of the user drawn CSO.

Middle seed point

name: inputCSOMiddleSeedPoint, type: Vector3, persistent: no

The world position of the middle seed point of the user drawn CSO.

Last Seed point

name: inputCSOLastSeedPoint, type: Vector3, persistent: no

The world position of the last seed point of the user drawn CSO.

Last Edited CSO Id

name: lastEditedCSOId, type: Integer, persistent: no

The ID of the last edited CSO. In cases where a new CSO has been added or where the initial CSO has been deleted, this field contains the ID of the newly genereted CSO.

Used Center Of Gravity

name: usedCenterOfGravity, type: Vector3, persistent: no

The position of the center of gravity of the edited CSO, if the mode has been set to one of the center of gravity modes.

Hidden Fields

addCSOToGroupMode

name: addCSOToGroupMode, type: Enum, default: AddToGroupByLabel

Values:

Title

Name

​None

​AddToGroupNone

​By Label

​AddToGroupByLabel

​By Id

​AddToGroupById

addCSOToGroupWithId

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