跳转到主要内容

用于拟合样条的Python包。

项目描述

splinebox

一个用于拟合样条的Python包。由EPFL图像中心开发,作为与EMBL-EBI Uhlmann小组合作的成果,于2024年2月发布。

Documentation Status License BSD-3 PyPI Python Version tests codecov DOI

特点

  • 适用于各种应用的灵活样条拟合。
  • 支持任意维度的多种样条类型。
  • Python中的高性能实现
  • 丰富的文档,包括示例

安装

您可以通过pip安装splinebox

pip install splinebox

用法

以下是一个二维三次B样条的最小示例,具有3个节点。

import splinebox
import numpy as np
import matplotlib.pyplot as plt

n_knots = 4
spline = splinebox.spline_curves.Spline(M=n_knots, basis_function=splinebox.basis_functions.B3(), closed=True)
spline.knots = np.array([[1, 2], [3, 2], [4, 3], [1, 1]])

t = np.linspace(0, n_knots, 100)
vals = spline.eval(t, derivative=0)

plt.scatter(spline.knots[:, 0], spline.knots[:, 1])
plt.plot(vals[:, 0], vals[:, 1])
plt.show()

支持

如果您遇到任何问题,请创建并报告问题,并包括一个最小示例以重现问题。

贡献

我们欢迎贡献!在提交拉取请求之前,请确保测试通过。您可以使用pytest运行测试。如果您不确定如何实现某些功能,请随时创建一个问题进行讨论。

引用splinebox

如果您在科学出版物中使用splinebox,请按照以下方式引用。请注意,您需要自己填写版本号。如果您不确定您正在运行哪个版本,可以通过运行以下命令来找出:

import splinebox
print(splinbox.__version__)`

BibTeX

@misc{splinebox,
  author = {Aymanns, Florian and Andò, Edward and Uhlmann, Virginie},
  title = {{S}pline{B}ox},
  url = {https://pypi.ac.cn/project/splinebox/},
  doi = {10.5281/zenodo.13358354},
  note = {{V}ersion V.V.Vb1},
  year = 2024,
}

许可证

这是一个开源项目,根据BSD-3-Clause许可证授权。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

splinebox-0.1.1.tar.gz (1.6 MB 查看哈希值)

上传时间

构建分发

splinebox-0.1.1-py3-none-any.whl (17.8 kB 查看哈希值)

上传时间 Python 3

支持者