COMPUTE THE DIFFERENCE BETWEEN TWO CURVES

Computes a scalar distance or difference metric between a baseline curve and a candidate curve. Supports a wide range of match types (RMSE, MAE, DTW, Fréchet, R², area, overlap, and more) with optional x-range clipping, synchronisation, normalisation, and outlier removal. Use this worker whenever a single numeric similarity or error score is needed to compare two time-history or XY curves.

When to use

Classification: process.

Tagged: comparison, correlation, curve_distance, curve_match, dtw, frechet, mae, r2.

Inputs

Label ID Type Default Required Description
Curve Baseline curve_baseline vector Reference (baseline) XY curve against which the candidate is measured; accepts a single curve or a multi-curve group — the first curve is used when a group is supplied.
Curve Candidate curve_candidate vector Candidate XY curve to be compared against the baseline; must share compatible x-axis units with the baseline.
Curve Match Type match_type list raw   Distance/difference metric to apply — choose from raw, abs, max, squared, RMSE, NRMSE, MAE, MAPE, MSE, R², area, Euclidean distance, Fréchet, DTW, PDTW, Space-Efficient DTW, overlap, ratio_ydiff, LCS, max-max-diff, critical_resultant, or min_derivative; default is ‘euclidean-distance’.
Digitize digitize list 100   Digitize curves before curves match
Normalize normalize list no   Whether to normalise both curves (e.g., by their peak absolute value) before computing the metric; accepts ‘yes’ or ‘no’ (default ‘no’).
Xmin xmin scalar -100000000000000000000   Lower x-axis bound for clipping the comparison window; default is 0.0 (use start of curve).
Xmax xmax scalar 100000000000000000000   Upper x-axis bound for clipping the comparison window; default is 1e20 (use full extent of curve).
Sync Curves sync list yes   Whether to re-sample and synchronise the two curves to a common x-grid before matching; accepts ‘yes’ (default) or ‘no’.
Enforce Monotonicity skip_drop list no   Whether to skip sudden drops in the candidate curve when computing the metric; accepts ‘yes’ or ‘no’ (default ‘no’).
Diff Ratio Threshold diff_ratio_threshold scalar 0.1   Only applies if the diff type is ratio based
Remove Outlier Points remove_outliers list no   Whether to remove statistical outliers from the difference signal before computing the final metric; accepts ‘yes’ (default) or ‘no’.
Distance Measurement Type distance_measurement_type list euclidean   Only applied for Frechet, DTW, pDTW
Scale By Area Diff scale_by_area_diff select no   Whether to scale the resulting metric by the area difference between the two curves; accepts ‘yes’ or ‘no’ (default ‘no’).
Clip Method clip_method list old   Algorithm variant used for x-range clipping; accepts ‘old’ (default, legacy behaviour) or ‘new’ (updated clipping logic).

Outputs

Label ID Type Description
curves_match_output_1 curves_match_output_1 scalar Scalar numeric value representing the computed distance or error metric between the baseline and candidate curves, in the units implied by the chosen match_type (e.g., dimensionless for R² and NRMSE, same units as y-axis for MAE/RMSE, or curve units² for MSE).

Disciplines

  • data.correlation
  • data.curve.pair
  • data.statistics

Runnable example

A runnable example is registered for this worker. Open the example workflow on the d3VIEW canvas: /api/workflow/example?id=curves_match


Auto-generated from transformation schema. Worker id: curves_match. Schema hash: 89aa55f4b4e1. Hand-curated docs in workerexamples/ override this page when present.