SplineOps: Spline Operations#

SplineOps is an open-source software library written in Python. It provides ground-breaking signal-processing tools based on splines. Adapted and built on the algorithms developed through the years by the Biomedical Imaging Group at EPFL (Lausanne, Switzerland), SplineOps is in active development and supports modern computational demands.

Main Feature of SplineOps

A medley of spline functions and their derivatives#

Key Features and Capabilities#

  • Optimized Performance: Leveraging of CPU and GPU architectures to handle large-scale signal datasets effectively.

  • Precision and Flexibility: High-degree spline interpolation across multiple dimensions.

  • Scalability and Extensibility: Incorporation of new functionalities tailored to specific applications.

Key Feature Illustration

B-Splines#

Modules at a Glance#

Cubic B-spline basis
Spline Interpolation

Continuous spline models from discrete data, in any dimension.

Spline Interpolation
1D spline resampling
Resize

Projection-based resampler for highest-quality spline resizing and antialiasing.

Resize
Rotated image example
Affine

Geometric transformations on images and volumes.

Affine
Piecewise-linear regression
Adaptive Regression Splines

Sparsest 1D piecewise-linear fits: data in, knots out.

Adaptive Regression Splines
Smoothing spline on a 1D process
Smoothing Splines

Fractional spline filters for principled, tunable smoothing of signals and images.

Smoothing Splines
Gradient/Laplacian visualisation
Differentials

Precise gradients, Laplacians and Hessian features from a spline representation.

Differentials
Multiscale / wavelet decomposition
Multiscale

Spline pyramids and wavelets for multiscale analysis and processing.

Multiscale

Contents#