REGRESSION BASED SMOOTHING OF CURVES¶
Smooths one or more curves using locally-weighted polynomial regression (LOESS/LOWESS), fitting each point against a configurable neighbourhood of surrounding points. Use this worker to remove noise from time-history or force-displacement curves while preserving overall shape; supports multiple iterations, variable polynomial order, and optional derivative-domain smoothing.
When to use¶
Classification: process.
Tagged: curve_smoothing, loess, lowess, noise_reduction, polynomial_regression, regression_smooth, signal_smoothing, time_history.
Inputs¶
| Label | ID | Type | Default | Required | Description |
|---|---|---|---|---|---|
| Curves In | curves_in | vector | — | One or more input curves (e.g. force-displacement or time-history) to be smoothed; accepts multiple curve objects in a vector collection. | |
| Percentage Of Points | percentageof_points | scalar | 1 | Neighbourhood bandwidth as a percentage of total points used for each local regression fit (default 1 = 1%); if negative, interpreted as an absolute point count — start with 1–2% and increase for heavier smoothing. | |
| Weight Type | weight_type | scalar | linear | Weighting kernel applied to neighbours in each local fit: ‘linear’ (default) gives a simple linear decay; ‘tri-cube’ gives a smoother, bell-shaped decay that down-weights distant points more aggressively. | |
| Iterations | iterations | scalar | 1 | Number of successive LOESS smoothing passes applied to the curve (default 1); increase to 2–4 for heavily noisy data, noting that each additional iteration further attenuates high-frequency content. | |
| Order Of Fit | orderof_fit | scalar | 1 | Order of fit. Linear is a good default | |
| Digitize Points | digitize | scalar | 100 | Option to digitize before smoothing | |
| Retain First Point | retain_first_point | string | yes | Option to always retain the first raw point | |
| Optimize | optimize | string | no | Find the optimal values to provide the best smoothing | |
| Use Derivative For Smoothing | smooth_derivative | string | no | Smooth derivative and then integrate | |
| Smooth Percentage By Indexes | smooth_percentage_by_indexes | text | — | Must match the number of curves provided. Missing values towards end end will use the default value above | |
| Digitize Curve | digitize_curve | string | yes | Option to use or ignore the process of digitizing the curve | |
| Derivative Threshold | derivative_th | scalar | 0 | High derivative points larger than this factor over the range of the derivative will be skipped for smoothing. A value of 0.2-0.3 is recommended for stress vs strain curves | |
| Ratio Of Difference | ratio_max | scalar | 0 | If the new smoothed value is out of this ratio, the original value will be used | |
| Use Shadow Points | use_shadow_points | string | no | Use shadow points on the boundary to improve initial and end point smoothing | |
| Optimize Locally (Deprecated) | optimize_locally | string | no | Based on the window-size, optimize locally | |
| Use Variable Window Size | use_variable_window_size | string | no | This helps in a variable window size that is useful for highly varying derivative | |
| Choose Optimization Parameters (Deprecated) | optimize_params | string | no | Limit optimization to these. If not selected, all options will be used for optimization | |
| Start X | start_x | string | — | Only Smooth points whose X-value is greater than this value | |
| Max Window Size | max_ws | string | 8 | Used when variable window size is specified | |
| Use Variable Order | use_variable_order | string | no | This helps in a variable order for nonlinear curve | |
| Max Order Size | max_order | string | 3 | Used when variable order is specified |
Outputs¶
| Label | ID | Type | Description |
|---|---|---|---|
| curves_regression_smooth_output_1 | curves_regression_smooth_output_1 | vector | Smoothed version of each input curve, returned as a vector curve collection with the same x-axis sampling as the (optionally re-digitized) input. |
Disciplines¶
- ai_ml.supervised.regression
- data.curve.transform
- data.signal_processing
Runnable example¶
A runnable example is registered for this worker. Open the example workflow on the d3VIEW canvas: /api/workflow/example?id=curves_regression_smooth
Auto-generated from transformation schema. Worker id: curves_regression_smooth. Schema hash: 105377982596. Hand-curated docs in workerexamples/ override this page when present.