ExtrapolateXMarkersPolynomial

MacroModule

author

Lennart Tautz

package

FMEwork/ReleaseMeVis

definition

ExtrapolateXMarkers.def

keywords

fitting, marker, point, position, polynomial, extrapolation, interpolation

Purpose

This module extrapolates from a given list of XMarkers by polynomial fitting.

Usage

Connect a sorted XMarkerList, choose appropriate parameters and press Update.

Details

A polynomial is fitted component-wise to each marker position in list order. It is up to the caller to sort the markers in a meaningful way.

Other marker properties (vectors, types, etc) are not copied or adapted.

Regardless of grid settings, the first extrapolated position starts at 0.01 (1%) beyond the original grid.

Tips

An XMarkerListSort module with Sort Mode set to XYZCTU-Cell or Distance to Point usually produces a sufficient ordering.

Windows

Default Panel

../../../Projects/MarkerInfrastructure/ExtrapolateXMarkers/Modules/mhelp/Images/Screenshots/ExtrapolateXMarkersPolynomial._default.png

Input Fields

inMarkerList

name: inMarkerList, type: MLBase

An XMarkerList.

Output Fields

outMarkerList

name: outMarkerList, type: MLBase

An XMarkerList containing the extrapolated markers.

outFittedPoints

name: outFittedPoints, type: MLBase

An XMarkerList containing the positions of the fitted polynomial.

Parameter Fields

Field Index

[]: Trigger

Number of Markers to Prepend: Integer

Clear: Trigger

On Input Change Behavior: Enum

Degree of Polynomial: Integer

Status Code: Enum

doNotClearOnFailedUpdate: Bool

Status Message: String

Extrapolated Point Grid: Enum

Update: Trigger

Has Valid Output: Bool

Input Point Grid: Enum

Number of Markers to Append: Integer

Visible Fields

Degree of Polynomial

name: inDegreeOfPolynomial, type: Integer, default: 2, minimum: 1, maximum: 5

Degree of the fitted polynomial.

Number of Markers to Prepend

name: inNumberOfMarkersToPrepend, type: Integer, default: 0, minimum: 0

Number of markers to add to the front of the list.

Number of Markers to Append

name: inNumberOfMarkersToAppend, type: Integer, default: 0, minimum: 0

Number of markers to add to the end of the list.

Input Point Grid

name: inPointGrid, type: Enum, default: Native

Determines how the grid (domain) is created for fitting.

Values:

Title

Name

Description

​Native

​Native

​A grid in the range [0; 1] is used. The X positions are determined by the normalized 3D Euclidean distances between the markers, reflecting non-uniformity of the marker list better.

This mode is more useful when one has a sparsely sampled and noise-free marker list.

​Uniform

​Uniform

​A uniform grid in the range [0; 1] is used.

This mode is more useful when one has a densely sampled or noisy marker list.

Extrapolated Point Grid

name: inExtrapolatedGrid, type: Enum, default: Native

Determines how the grid (domain) is created for extrapolation.

Values:

Title

Name

Description

​Native

​Native

​New positions are spaced by the median of 3D Euclidean distances.

​Uniform

​Uniform

​New positions are spaced by 0.01 (1% of original marker list domain).

Update

name: update, type: Trigger

Initiates update of all output field values.

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: shouldUpdateAutomatically,shouldAutoUpdate

Declares how the module should react if a value of an input field changes.

Values:

Title

Name

Deprecated Name

​Update

​Update

​TRUE

​Clear

​Clear

​FALSE

[]

name: updateDone, type: Trigger, persistent: no

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

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

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

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.

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.