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.