InterpolateXMarkerList

MLModule
genre Marker
author Ola Friman
package FMEwork/ReleaseMeVis
dll MLInterpolateXMarkerList
definition MLInterpolateXMarkerList.def
see also SmoothXMarkerList
keywords XMarker, marker, interpolate, upsample, resample

Purpose

This module interpolates/approximates points in an XMarkerList using B-spline interpolation/approximation.

Usage

Attach a marker list, choose Interpolation Factor and Use approximation and press Update.

Details

The spatial positions of the XMarkers are interpolated using a B-spline approach. The marker vectors are only interpolated if Vector Interpolation Mode is set accordingly. See the comments for that field for specific usage.

Markers on different time points are interpolated separately.

Windows

Default Panel

../../../Projects/MarkerInfrastructure/InterpolateXMarkerList/Modules/mhelp/Images/Screenshots/InterpolateXMarkerList._default.png

Input Fields

inMarkerList

name: inMarkerList, type: MLBase, deprecated name: inputXMarkerList

Input marker list.

Output Fields

outMarkerList

name: outMarkerList, type: MLBase, deprecated name: outputXMarkerList

Interpolated marker list.

Parameter Fields

Field Index

[]: Trigger Update: Trigger
Clear: Trigger Use approximation: Bool
doNotClearOnFailedUpdate: Bool Vector Interpolation Mode: Enum
Has Valid Output: Bool  
Interpolation Factor: Double  
On Input Change Behavior: Enum  
Status Code: Enum  
Status Message: String  

Visible Fields

Update

name: update, type: Trigger, deprecated name: updateButton

If pressed, the module computes anew.

Clear

name: clear, type: Trigger

Clears all output field values to a clean initial state.

On Input Change Behavior

name: onInputChangeBehavior, type: Enum, default: Clear, deprecated name: autoUpdate,shouldAutoUpdate,shouldUpdateAutomatically

If checked, the module computes anew on any parameter or input change.

Values:

Title Name Deprecated Name
Update Update TRUE
Clear Clear FALSE

Status Code

name: statusCode, type: Enum, persistent: no

Reflects module’s status (successful or failed computations) as one of some predefined enumeration values.

Values:

Title Name
Ok Ok
Invalid input object Invalid input object
Invalid input parameter Invalid input parameter
Internal error Internal error

Status Message

name: statusMessage, type: String, persistent: no

Gives additional, detailed information about status code as human-readable message.

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

Indicates validity of output field values (success of computation).

[]

name: updateDone, type: Trigger, persistent: no

Notifies that an update was performed (Check status interface fields to identify success or failure).

Interpolation Factor

name: inInterpolationFactor, type: Double, default: 1, deprecated name: interpolationFactor

Sets the interpolation factor. The value gives the approximate distance in mm between two path points.

Use approximation

name: inUseApproximation, type: Bool, default: FALSE

If enabled, the module uses B-Spline approximation instead of interpolation.

Vector Interpolation Mode

name: inVectorInterpolationMode, type: Enum, default: Off, deprecated name: inShouldInterpolateVectors

Enable to this to interpolate the marker vectors.

Values:

Title Name Deprecated Name Description
Spline Spline True,TRUE

Marker vectors are interpolated by the following scheme:

  1. Create a list of points by adding each vector to its marker.
  2. Interpolate the point list with a higher resolution (four times) as the marker positions.
  3. For each marker position, identify the matching interpolation vector position.
  4. The interpolated marker vector is the vector pointing from the interpolated position to that matching position.

The interpolated marker vectors can show unexpected directions, for example when the input marker vectors are unit-length normal vectors along the marker path. For such markers, the Linear interpolation mode might be better suited.

Linear Linear   To interpolate a marker vector, the two closest input markers are identified. The interpolated marker is calculated by combining the marker vectors of these two input markers, weighted by the respective distance of the interpolated marker position to the input markers.
Off Off False,FALSE All output marker vectors will be zero vectors.

Hidden Fields

doNotClearOnFailedUpdate

name: doNotClearOnFailedUpdate, type: Bool, persistent: no

Prevents automated clear after update failed. This does not affect status fields. It enables the developer to analyze module’s state after failure.