Skip to main content

Fast, memory efficient radial basis function (RBF) interpolation library

Project description

ferreus_rbf (Python bindings)

Python bindings for the ferreus_rbf Rust crate, providing fast global radial basis function (RBF) interpolation from Python.

Overview

Direct RBF solvers based on dense linear algebra require O(N²) memory and O(N³) work, which becomes impractical on large datasets. The underlying Rust implementation combines:

  • Domain decomposition preconditioning in a Flexible GMRES (FGMRES) solver, and
  • A fast multipole method (FMM) evaluator via ferreus_bbfmm,

to reduce the cost to roughly O(N log N). This makes it possible to build global interpolants and extract isosurfaces on datasets with millions of points from Python.

Limitations

The current isosurface extraction method does not guarantee manifold or watertight meshes. Surfaces may contain trifurcations or self‑intersections and may therefore be unsuitable for downstream boolean or other topology‑ sensitive operations without additional post‑processing.

Install

pip install ferreus_rbf

Then in Python:

import ferreus_rbf

See the docs and examples/ directories in this package for more detailed usage and API documentation.

Attribution and licensing

This package was developed while the author was working at Maptek and has been approved for open‑source distribution under the terms of the MIT license.

Unless otherwise stated, the following copyright applies:

Copyright (c) 2025 Maptek Pty Ltd.
All rights reserved.

This copyright applies to all files in this repository, whether or not an individual file contains an explicit notice.

The code is released under the MIT License – see the top‑level LICENSE file for details.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

ferreus_rbf-0.1.1-cp38-abi3-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.8+Windows x86-64

ferreus_rbf-0.1.1-cp38-abi3-manylinux_2_39_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.39+ x86-64

ferreus_rbf-0.1.1-cp38-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

ferreus_rbf-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file ferreus_rbf-0.1.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: ferreus_rbf-0.1.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ferreus_rbf-0.1.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 07e7365f2ef5def1fb8e1bb1c655f95c3412a2ae575f2f0040d1dc233df30bbe
MD5 c8430d6e1ae6ef5c2a788baafd43223c
BLAKE2b-256 36ab9c71f17fa70cc7d329cb4ad3e42e87713c131481186b631387592fca3c78

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.1.1-cp38-abi3-win_amd64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

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

File details

Details for the file ferreus_rbf-0.1.1-cp38-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.1.1-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7a494c2fbd1b7f096cb2296e50d5404e79b335b6a0d2570ab7b0b9c48de08a31
MD5 266ff7bd2c123f24d3fd7fe8ba72eebb
BLAKE2b-256 9e9bb679d3da3590873859a3554f5510050ec6af81b73e3a29cf7aa412a75517

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.1.1-cp38-abi3-manylinux_2_39_x86_64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

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

File details

Details for the file ferreus_rbf-0.1.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.1.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ca6090ef39d00b0ebc66aaad91e056229cb6eb590a78d14cc94153327e83a49
MD5 5824baa1fe0efb47efb0b16161cbeaaa
BLAKE2b-256 b5b08a3a39c3f84abef66180397b66a352eaeeae10a5829daea07f4b9a5073d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.1.1-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

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

File details

Details for the file ferreus_rbf-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 82a4b40cafdf7bcd9412d5e59bc793c0b310289f9423f347521e967ab40fa76e
MD5 e5884be9a97667b9aaeab9c8bee575e9
BLAKE2b-256 6aeea3a1f4782e74c0cfafeb59c9a0d657ff7a60a38ed2e8eca44f99817a7b49

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

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