A data transformer is a general purpose interface to apply a function to a set of points. The output may alter the number of points by adding or removing some. A simple example of a transformer is one that removes all data outside a range, to limit spikes. Another example of one is a conversion of the input data into a cumulative distribution function.

The transformer type is selected with the enumeration value Type:

Range or AcceptRange

Only accept data within a specified range, removing or invaliding all points outside of the range.

Minimum

The real number minimum accepted value.

Maximum

The real number maximum accepted value.

MinInclusive

A boolean that causes the minimum bound to be inclusive. When set, this means that data exactly equal to the minimum are included.

MaxInclusive

A boolean that causes the maximum bound to be inclusive. When set, this means that data exactly equal to the maximum are included.

Remove

A boolean that causes the transformer to remove points entirely, instead of simply invaliding them.

Dimension

The integer dimension, starting from zero, to apply the filter on, instead of all data dimensions.

RejectRange

Reject data within a specified range, removing or invaliding all points inside of the range.

Minimum

The real number minimum rejected value.

Maximum

The real number maximum rejected value.

MinInclusive

A boolean that causes the minimum bound to be inclusive. When set, this means that data exactly equal to the minimum are included.

MaxInclusive

A boolean that causes the maximum bound to be inclusive. When set, this means that data exactly equal to the maximum are included.

Remove

A boolean that causes the transformer to remove points entirely, instead of simply invaliding them.

Dimension

The integer dimension, starting from zero, to apply the filter on, instead of all data dimensions.

QuantileFilter or AcceptQuantile

Only accept data within a specified range of quantiles, removing or invaliding all points outside of the range. The quantiles are the fractions of the the total range. For example, 0.25 specifies the lower 25% quantile of the data.

Minimum

The real number minimum accepted quantile in [0,1].

Maximum

The real number maximum accepted quantile in [0,1].

MinInclusive

A boolean that causes the minimum bound to be inclusive. When set, this means that data exactly equal to the minimum are included.

MaxInclusive

A boolean that causes the maximum bound to be inclusive. When set, this means that data exactly equal to the maximum are included.

Remove

A boolean that causes the transformer to remove points entirely, instead of simply invaliding them.

Dimension

The integer dimension, starting from zero, to apply the filter on, instead of all data dimensions.

RejectQuantile

Reject data within a specified range of quantiles, removing or invaliding all points inside of the range. The quantiles are the fractions of the the total range. For example, 0.25 specifies the lower 25% quantile of the data.

Minimum

The real number minimum rejected quantile in [0,1].

Maximum

The real number maximum rejected quantile in [0,1].

MinInclusive

A boolean that causes the minimum bound to be inclusive. When set, this means that data exactly equal to the minimum are included.

MaxInclusive

A boolean that causes the maximum bound to be inclusive. When set, this means that data exactly equal to the maximum are included.

Remove

A boolean that causes the transformer to remove points entirely, instead of simply invaliding them.

Dimension

The integer dimension, starting from zero, to apply the filter on, instead of all data dimensions.

Wrap or RangeWrap or WrapRange

A transformer that introduces new points and breaks so simulate "off plot" wrapping of data. This is generally used for data that is circular and should be plotted with the wrapped around points going off the top or bottom of the plot, instead of directly connecting to the next one. For example, wind direction in degrees would wrap from a minimum of zero to a maximum of 360.

Minimum

The real number minimum or lower bound of the wrapping range.

Maximum

The real number maximum or upper bound of the wrapping range.

CDF or NormalCDF

Transform data into a cumulative distribution function. Additionally, the data re normalized into standard deviation units.

Allan or AllanPlot

Transform data into points of averaging for an Allan plot. This generated a series of noise estimates from the standard deviation of multiple averages at a series of averaging intervals. The averaging intervals are selected to cover the whole range of available times that still give sufficient variability of a reasonable estimate.

PowerSpectrum or Fourier or FFT

Perform a Fourier transform to generate a normalized power spectrum. The resulting power spectrum represents the relative strength of the component of the input data when in the frequency (instead of time) domain.

Constant

Set all points to a constant value.

Value

The real number output value.

NOOP or None

Do not perform any transformation. This is primarily useful as part of a chain or overlay to explicitly disable a transformer.

Chain

Apply a series of transformers to the data. A chain transformer combines multiple transformers by applying them one after another. For example, a filter to remove outliers then a transformation info a CDF.

Chain

The array of transformers to apply, in order.

Simple outlier filtering
/Type,"QuantileFilter"
/Minimum,0.05
/Maximum,0.95
Wind direction wrapping
/Type,"Wrap"
/Minimum,0.0
/Maximum,360.0
CDF data trasnformation
/Type,"CDF"
Outlier filtering then CDF generation
/Type,"Chain"
/Chain/#0/Type,"QuantileFilter"
/Chain/#0/Minimum,0.05
/Chain/#0/Maximum,0.95
/Chain/#1/Type,"CDF"