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.