Skip to main content

Spline signal processing in N-D with support for GPU computing.

Project description

SplineOps: Spline Operations

SplineOps is a Python and C++-based N-dimensional signal-processing library with support for GPU computing.

Installation

You need at least Python 3.11 to install SplineOps.

Create and activate your Python virtual environment (on Unix or MacOS)

python -m venv splineops-env
source splineops-env/bin/activate

On Windows,

python -m venv splineops-env
./splineops-env/Scripts/Activate

To deactivate the environment use

deactivate

Minimal requirement:

pip install numpy scipy matplotlib

Simply install SplineOps using pip

pip install splineops

GPU Compatibility

You can benefit of cupy to deploy the Spline Interpolation module in SplineOps. If a specific CUDA version is required, do

pip install cupy cuda-version=12.3

Install cupy development environment in editable mode

pip install -e .[dev_cupy]

Potential other CuPy libraries (CuPy from Conda-Forge)

pip install cupy cutensor cudnn nccl

Development Environment

Install development environment in editable mode

pip install -e .[dev]

Resize Native Backend

The resize module uses the native CPU _lsresize extension when it is available. Set SPLINEOPS_ACCEL=never to force the Python fallback, or SPLINEOPS_ACCEL=always to require the native extension during benchmarking.

Useful benchmark entry points:

python scripts/benchmark_resize_pr.py --profile oblique-pr --output-dir /tmp/splineops_resize_pr_oblique_pr
python scripts/benchmark_resize_pr.py --output-dir /tmp/splineops_resize_pr_current
python scripts/benchmark_resize_projection_methods.py --profile standard --output-csv /tmp/splineops_projection_methods.csv
python scripts/benchmark_resize_native.py --backend both --output-csv /tmp/splineops_native.csv
python scripts/benchmark_resize_libraries.py --output-csv /tmp/splineops_libraries.csv
python scripts/summarize_resize_benchmarks.py report \
  --native /tmp/splineops_native.csv \
  --libraries /tmp/splineops_libraries.csv \
  --output /tmp/splineops_resize_report.md

For upstream PR preparation notes and interpretation guidelines, see scripts/resize_pr_readiness.md, scripts/resize_oblique_pr_brief.md, and scripts/resize_upstream_pr_description.md. For a close-out summary of the resize optimization session, see scripts/resize_session_handoff.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splineops-1.3.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

splineops-1.3.0-cp312-cp312-win_amd64.whl (512.5 kB view details)

Uploaded CPython 3.12Windows x86-64

splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (405.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (314.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl (367.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

splineops-1.3.0-cp311-cp311-win_amd64.whl (510.7 kB view details)

Uploaded CPython 3.11Windows x86-64

splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (405.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (314.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl (366.3 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

File details

Details for the file splineops-1.3.0.tar.gz.

File metadata

  • Download URL: splineops-1.3.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for splineops-1.3.0.tar.gz
Algorithm Hash digest
SHA256 898fc36e1fb7a26ac294accf5673845f342b9903791dc90ec37a01829ec0df34
MD5 64422931fa4de40a856f1fa22bedb298
BLAKE2b-256 7b2d2c78461ff347e050d578fc448415ebcd6d123d05050a670a350369d9963a

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0.tar.gz:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: splineops-1.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 512.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for splineops-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b7aec3087cf51959db30cbc2a77b5b85e49f8a634a62dcd9fca2c741b140844b
MD5 a44c402855738c34320bfec01ef8059f
BLAKE2b-256 6cdc6988a77077f24c477fb2eb3d342095034f52289145d743a0d0ede8768377

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 207e096779dc27db572f93eb604c175587c4887dbea022510fae9700889422e1
MD5 072acd347411ebe7a5773e2552ffa77a
BLAKE2b-256 9dafda516a211deb0b595b3c9a497dcbdfe778f630f8d62b710a4ef2f3f2e4ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69546d11efca29c8220516785cece97d7ea3fdd6206d562dfc4b7e913382aeb7
MD5 559fde76cd1f4696c08f0f641ccf846c
BLAKE2b-256 599e8265f389bb0e9d2186be54cbef8b3f66c36216726a72adf8b0e85e2a7e3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3011a25fd4c2a13c87162f6185319df72a4f38d9857c5295609742474c15f696
MD5 665f85f1fa8ed5c4e9145b51faac3681
BLAKE2b-256 8e8fa5c136f8993cff78a815a014b3f57d90e7837089bfd7bb09179391dd54e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: splineops-1.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 510.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for splineops-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8dde27c081989c949a71e9732467ad359986f303bff18def6d96f01d7986b77
MD5 6e65f4666e7948ef383fb917e71ffaac
BLAKE2b-256 37aa5c2cf4d82c4ba8eb2fd2756b23ce5c2edf9cb8e2646b3b850c28eb244485

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9acf29c62e5f481c4cddab7262d394de6123b68187a868cfd7bee4eadc807636
MD5 c9fe8f849d6946400f4e37a64bc03d7d
BLAKE2b-256 7c7099733cef4acc75bf6d94b01907cca314cb1336512447d20aee2c43c29c35

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eca4af2fc229cec1e66b27eb6ada14d2342f20945f50f5bb08ce0bccc084ac7e
MD5 4cce452b5527365c8ffc582c32a3d691
BLAKE2b-256 c4d8eaf9588e5a9f7a9a0975be57b6681a91830c55f7737a4b74076dd2d4596c

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f3c884f4b519c656cea3ed1fc8f3a46445e8cbdc5475abaa43312ea8ebe3e045
MD5 87787a85c7cb4e0deadd6cdb4cc9e903
BLAKE2b-256 cb9760ef753ed17f37a467627a1962aaf405bbae12e23664952fa8369a5029a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for splineops-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl:

Publisher: release.yml on splineops/splineops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page