用于对实验数据进行基线校正的算法库。
项目描述
pybaselines 是一个用于对实验数据进行基线校正的算法库。
对于 Python 3.6+
开源:BSD 3-Clause License
文档:https ://pybaselines.readthedocs.io 。
内容
</nav>介绍
pybaselines 是一个 Python 库,它提供了许多不同的算法,用于对来自拉曼、FTIR、NMR、XRD、XRF、PIXE 等实验技术的数据执行基线校正。该项目的目的是提供一个半统一的 API 以允许快速测试和比较多种基线校正算法,以找到一组数据的最佳算法。
pybaselines 有 50 多种基线校正算法。这些包括流行的算法,例如 AsLS、airPLS、ModPoly 和 SNIP,以及许多鲜为人知的算法。大多数算法直接改编自文献,尽管有一些是 pybaselines 独有的,例如基于 Whittaker 平滑算法的惩罚样条版本。可在 文档中找到已实现算法的完整列表。
安装
稳定发布
pybaselines 可以 使用pip从pypi安装,方法是在终端中运行以下命令:
pip install pybaselines
pybaselines 也可以使用 conda 从 conda - forge通道安装,方法是运行:
conda install -c conda-forge pybaselines
开发版
pybaselines 的源代码可以从GitHub repo下载。要从 GitHub 安装当前版本的 pybaselines,请运行:
pip install git+https://github.com/derb12/pybaselines.git#egg=pybaselines
依赖项
pybaselines 需要Python 3.6 或更高版本以及以下库:
使用上述任何安装方法安装 pybaselines 时,应自动安装所有必需的库。
pybaselines的可选依赖 项在文档中列出。要在使用 pip 安装 pybaselines 时还安装可选依赖项,请运行:
pip install pybaselines[full]
如果使用 conda 安装,则必须手动指定可选依赖项。
快速开始
要使用 pybaselines 中的各种功能,只需输入测量数据和任何所需参数。pybaselines 中的所有基线校正函数将输出两项:计算基线的 numpy 数组和潜在有用参数的字典。
有关每个基线算法的更多详细信息,请参阅 pybaselines 文档的算法部分。有关它们的用法示例,请参阅示例部分。
一个简单的例子如下所示。
import matplotlib.pyplot as plt
import numpy as np
import pybaselines
from pybaselines import utils
x = np.linspace(1, 1000, 1000)
# a measured signal containing several Gaussian peaks
signal = (
utils.gaussian(x, 4, 120, 5)
+ utils.gaussian(x, 5, 220, 12)
+ utils.gaussian(x, 5, 350, 10)
+ utils.gaussian(x, 7, 400, 8)
+ utils.gaussian(x, 4, 550, 6)
+ utils.gaussian(x, 5, 680, 14)
+ utils.gaussian(x, 4, 750, 12)
+ utils.gaussian(x, 5, 880, 8)
)
# exponentially decaying baseline
true_baseline = 2 + 10 * np.exp(-x / 400)
noise = np.random.default_rng(1).normal(0, 0.2, x.size)
y = signal + true_baseline + noise
bkg_1 = pybaselines.polynomial.modpoly(y, x, poly_order=3)[0]
bkg_2 = pybaselines.whittaker.asls(y, lam=1e7, p=0.02)[0]
bkg_3 = pybaselines.morphological.mor(y, half_window=30)[0]
bkg_4 = pybaselines.smooth.snip(
y, max_half_window=40, decreasing=True, smooth_half_window=3
)[0]
plt.plot(x, y, label='raw data', lw=1.5)
plt.plot(x, true_baseline, lw=3, label='true baseline')
plt.plot(x, bkg_1, '--', label='modpoly')
plt.plot(x, bkg_2, '--', label='asls')
plt.plot(x, bkg_3, '--', label='mor')
plt.plot(x, bkg_4, '--', label='snip')
plt.legend()
plt.show()
上面的代码将生成如下所示的图像。
贡献
欢迎并非常感谢您的贡献。有关提交错误报告、拉取请求或一般反馈的信息,请参阅贡献指南。
变更日志
有关 pybaselines 更改的信息,请参阅更改日志。
执照
pybaselines 是开源的,在 BSD 3 条款许可下免费提供。有关详细信息,请参阅许可证。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
pybaselines -0.8.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 86ba724c95bf13e6e20c0bb6caad0b7470db4d4d125392dfb0b0257e2c6f4c13 |
|
MD5 | 0bde413a15730a8cb49b43764354c29f |
|
布莱克2-256 | 37bc799301c63423228056ae6478944a34cf67bd5e8839a554047fe9e7e8cbc0 |
pybaselines -0.8.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56ed4cf355830495b2aa6651a4ab4a7165cd93be25a4b5b539b731149209b00c |
|
MD5 | a847094e55624502346a348aade1cd9e |
|
布莱克2-256 | 3aba23f0ef651fcb467b0438f4a1b0a4214e58f16df9e4d4e75d71e0288f7655 |