Automatic sparse sampling of 1-D array into linear segments minimizing error
pip install .
pip install linear_segmentation
python -m linear_segmentation.examples.linear_segmentation_with_slider.py
from linear_segmentation import linear_segmentation
from linear_segmentation import refinement # optional
import scipy.interpolation as spint
...
x, y = linear_segmentation(data, tol=0.001) # normalized abs error tolerance
x_refined, y_refined = refinement(data, x) # optional refinement using least squares
data_interp = spint.interp1d(x_refined, y_refined) # or x, y
...
new_y = data_interp(new_x)