CREATE A NEW CURVE USING Y FROM CURVE 1 AND THE Y FROM CURVE 2¶
Creates a new curve by cross-plotting two input curves: the Y-values of Curve 1 become the X-axis and the Y-values of Curve 2 become the Y-axis of the output curve. Optional per-curve scale factors, interpolation control, digitization, and sudden-jump handling allow fine-grained pre-processing before the cross-plot is formed.
When to use¶
Classification: process.
Tagged: cross-plot, crossplot, curve_pair, digitize, failure_curve, interpolation, scale_factor, sudden_jump.
Inputs¶
| Label | ID | Type | Default | Required | Description |
|---|---|---|---|---|---|
| Curve X | curve_x | vector | — | Curve 1 (vector): its Y-values are used as the X-axis of the output cross-plot curve; must be provided together with curve_y. | |
| Curve Y | curve_y | vector | — | Curve 2 (vector): its Y-values are used as the Y-axis of the output cross-plot curve; must be provided together with curve_x. | |
| Curve X X-Scale Factor | curve_x_x-scale_factor | scalar | 1 | Multiplicative scale factor applied to the X-values of Curve 1 before cross-plotting; dimensionless, default 1 (no scaling). | |
| Curve X Y-Scale Factor | curve_x_y-scale_factor | scalar | 1 | Multiplicative scale factor applied to the Y-values of Curve 1 (which become the output X-axis) before cross-plotting; dimensionless, default 1 (no scaling). | |
| Curve Y X-Scale Factor | curve_y_x-scale_factor | scalar | 1 | Multiplicative scale factor applied to the X-values of Curve 2 before cross-plotting; dimensionless, default 1 (no scaling). | |
| Curve Y Y-Scale Factor | curve_y_y-scale_factor | scalar | 1 | Multiplicative scale factor applied to the Y-values of Curve 2 (which become the output Y-axis) before cross-plotting; dimensionless, default 1 (no scaling). | |
| skip_interpolation | skip_interpolation | list | no | When set to ‘yes’, skips the interpolation step that synchronises the two curves onto a common abscissa before cross-plotting; default ‘no’ (interpolation is performed). | |
| digitize | digitize | list | no | When set to ‘yes’, digitizes the resulting cross-plot curve to reduce the number of points; default ‘no’. | |
| remove_sudden_jumps_in_x | remove_sudden_jumps_in_x | list | no | When set to ‘yes’, detects and removes sudden monotonicity-breaking jumps in the output X-axis derived from Curve 1; default ‘no’. | |
| slope_type | slope_type | list | averaged | Algorithm used to characterise slope when detecting sudden jumps; accepted values are ‘averaged’ (default) or other supported slope-type strings. | |
| Slope detection constant | slope_c1 | text | 0.2 | When slope-type is averaged, this value is the fraction of XMAX that is used to determine the average slope. If linear fit is used, this is the mminimum R2 value | |
| Behaviour at the detected jump | sudden_jump_handling | list | extrapolate | Controls behaviour after a sudden jump in X is detected: ‘extrapolate’ (default) preserves legacy behaviour with a straight tail, ‘clip’ truncates Curve 1 at the jump to faithfully represent a failure event. | |
| Detect sudden jump on the cross-plotted curve | detect_sudden_jump | list | none | Optional: scan the cross-plotted result curve for a sudden jump (failure event) and stash the jump location on the curve as ‘jump_value’. ‘auto’ is the recommended user-independent option — runs both ‘noise_onset’ (catches spring-back / oscillation regime change) and ‘sudden_drop’ (peak-collapse at 80 % of y_peak) and returns the earlier trigger; the threshold input is ignored. ‘noise_onset’ alone catches the smooth-to-noisy regime change without firing on ramping curves. ‘sudden_drop’ alone is peak-and-collapse (parameter-free in spirit; 0.8 ratio is the ASTM-style convention). ‘median’ is the legacy per-sample dy-spike detector (flags the first sample where /dy/ exceeds the threshold multiplier times the robust median of /dy/). ‘zscore’ uses an MAD-based robust z-score. ‘cusum’ uses a two-sided cumulative-sum change-point detector. | |
| Jump detection threshold multiplier | jump_threshold | text | 10 | Threshold passed to the chosen detection method. For ‘median’, a sample is flagged when /dy/ > threshold * median(/dy/) (default 10 — typical force/displacement failures show 100x ratios). For ‘zscore’, this is the number of robust sigmas (default 3-5). For ‘cusum’, this scales the cumulative-sum cutoff (default 3-5). | |
| Jump direction filter | jump_direction | list | any | Filter which kinds of jumps count. ‘any’ returns the first jump in either direction; ‘drop’ returns only y-decreasing jumps (e.g. force collapse at fracture); ‘rise’ returns only y-increasing jumps (e.g. displacement spike at fracture). | |
| Jump value to return | jump_return | list | x | Which coordinate of the jump point to surface as the curve’s ‘jump_value’ attribute. ‘x’ is typical for displacement-at-failure; ‘y’ for force-at-failure. |
Outputs¶
| Label | ID | Type | Description |
|---|---|---|---|
| curves_crossplot_output_1 | curves_crossplot_output_1 | vector | Output cross-plot curve (vector) whose X-values are the scaled Y-values of Curve 1 and whose Y-values are the scaled Y-values of Curve 2; returns null if either input curve is missing. |
Disciplines¶
- data.curve.pair
- data.curve.transform
Runnable example¶
A runnable example is registered for this worker. Open the example workflow on the d3VIEW canvas: /api/workflow/example?id=curves_crossplot
Auto-generated from transformation schema. Worker id: curves_crossplot. Schema hash: 8d9d50425350. Hand-curated docs in workerexamples/ override this page when present.