XMarkerListMaxDistance

MLModule

genre

Marker

author

Frank Heckel

package

FMEstable/ReleaseMeVis

dll

MLXMarkerUtilsStable

definition

MLXMarkerUtilsStable.def

see also

DistanceFromXMarkerList

keywords

xmarker, marker, distance, measurement, OpenMP, SSE

Purpose

The module XMarkerListMaxDistance computes the maximum distance between all markers of an XMarkerList and shows the maximal maximum distance and the according positions.

The module outputs an XMarkerList containing one vector that spans between the computed maximal positions.

Details

Note that, if multiple threads are used, the result is not deterministic, i.e., different markers at different positions might be returned if multiple configurations exist with the same maximum distance and these configurations are processed by different threads. In this case, the result depends on the order in which the threads are executed.

Windows

Default Panel

../../../Modules/ML/MLXMarkerUtilsStable/mhelp/Images/Screenshots/XMarkerListMaxDistance._default.png

Input Fields

inXMarkerList

name: inXMarkerList, type: MLBase

Output Fields

outXMarkerList

name: outXMarkerList, type: MLBase

Parameter Fields

Field Index

Auto update: Bool

Position (p2): Vector3

calculationTime: Float

Update: Trigger

Code Path: Enum

Use Local Array: Bool

Marker 1: Integer

Marker 2: Integer

Maximum Distance in mm: Float

Num Threads: Integer

Position (p1): Vector3

Visible Fields

Maximum Distance in mm

name: maxDistance, type: Float, persistent: no

Shows the computed maximal distance in mm.

Position (p1)

name: p1, type: Vector3, persistent: no

Shows the first computed point of the computed maximum distance.

Position (p2)

name: p2, type: Vector3, persistent: no

Shows the second computed point of the computed maximum distance.

Marker 1

name: i1, type: Integer, persistent: no

Index of the first marker corresponding to the maximum distance.

Marker 2

name: i2, type: Integer, persistent: no

Index of the first marker corresponding to the maximum distance.

Update

name: update, type: Trigger

If pressed, the module computes the maximal distance anew.

Auto update

name: autoUpdate, type: Bool, default: FALSE

If checked, the module computes anew when its input changes.

Num Threads

name: numThreads, type: Integer, default: 2

Sets the number of used threads.

It is recommended to use as many threads as the CPU can process in hardware.

Code Path

name: codePath, type: Enum, default: SSE2

Defines where the maximum distance should be computed.

If SSE2 is not available on the system, the module switches automatically to FPU.

Values:

Title

Name

Description

​Fpu

​FPU

​Sse2

​SSE2

​Streaming SIMD Extensions 2 should be used as default.

SSE2 is supported on Intel CPUs since Pentium 4 and on AMD CPUs since Athlon64.

Use Local Array

name: useLocalArray, type: Bool, default: TRUE

If checked, the module can compute more efficient if in SSE2 mode.

The positions of the markers in the XMarkerList are copied to a temporary local array which uses some additional memory but results in faster computation because of less cache misses and because the SSE2 code path can access this array more efficient than the values in the XMarkerList.

Hidden Fields

calculationTime

name: calculationTime, type: Float, default: 0