peaky将单峰拟合到lorentian、gaussian或voigt轮廓

peak的Python项目详细描述


包^{str1}$peaky允许用户将单个峰值拟合为高斯、洛伦特或Voigt分布。在

基本示例

以下是一种将数据调整到Voigt配置文件的基本方法:

import peaky
peaky.fit_voigt(x, y)

这里x和y分别是自变量和因变量。数据应包含单个峰值,不应大于数据集。 如果您希望将数据具体拟合为高斯或洛仑兹分布,请使用以下两个函数之一:

^{pr2}$

参数

这些是fit_voigt函数的所有其他参数:

  • background 它设置多项式的顺序,以帮助拟合适应可能的背景信号。值0表示恒定背景,值1表示线性背景等。如果未提供,则不添加背景。dafault值为1。在

  • a 它将voigt峰值的振幅设置为所提供的值。在这种情况下,振幅的字面意思是信号在峰值位置的振幅。如果未提供(默认情况下),则通过拟合找到最佳振幅。在

  • p 它将峰值位置设置为所提供的值。如果未提供(默认情况下),则通过拟合找到最佳峰值位置。在

  • {str}1美元 它将voigt gaussian width设置为提供的值。如果未提供(默认情况下),则通过拟合找到最佳高斯宽度。在

  • l 它将voigt-lorentian宽度设置为提供的值。如果没有提供(默认情况下),则通过拟合找到最佳洛伦特宽度。在

  • 峰值比率 此参数有助于流程找到拟合的最佳初始值。例如,值为0.3意味着峰值大约占数据集宽度的1/3(用眼睛估计)。如果提供较低的值,则噪声可能破坏峰值检测,而较高的值可平均化信号。在

  • log 当为真时(默认情况下),所有测量的参数连同它们的误差条和猜测的初始值一起直接打印在终端上。颜色编码的拟合信噪比可以帮助确定拟合是否可靠。红色表示不可靠,橙色表示不最佳,绿色表示可靠。在

输出

以下是拟合函数的输出:

  • {$str}1匹配 拟合参数的最佳值依次为:振幅、峰值位置、高斯和洛仑兹宽度和半最大全宽。对于这些,它遵循从低到高顺序用于背景信号的多项式系数列表。注意,每个背景系数(对于高阶而言非常小)乘以n**i,其中n是信号的长度,i是系数的阶数。在

  • err 拟合得到的各参数对应的误差。在

  • snr 拟合信号与噪声之间的比率测量信号振幅(从拟合获得)和拟合数据噪声(信号拟合标准差)。这个参数有助于判断拟合是否可靠。在

  • fit函数 一个由三个功能组成的列表:第一个功能对应于整体安装信号,第二个功能仅对应于Voigt组件(无背景),第三个功能仅对应于背景信号。在

  • fit数据 对应的数据值(三个列表)对应于在x中计算的前三个函数,可以很容易地在绘图中使用。在

高斯和洛仑兹拟合

注意,fit_gaussian函数等价于fit_voigt,其中Lorentzian宽度参数l固定为0,而{}等效于具有高斯分布的fit_voigtidth参数g已固定为0。在

示例

以下是模拟数据集(线性背景a=1,p=1500,g=150,l=100)和peaky进行的相应拟合的曲线图:

example

以下是打印输出:

example

试验

您可以对新安装的包运行一个简单的测试,以检查peaky是否在您的计算机中正常工作。只需使用peaky.run_test()

其他文件

可以使用以下命令访问上述函数的文档:

print(peaky.fit_voigt.__doc__)
print(peaky.fit_gaussian.__doc__)
print(peaky.fit_lorentian.__doc__)

安装

要安装peaky包的最新版本,请使用以下命令:

sudo -H pip3 install peaky

学分

  • 作者:萨维诺·皮科洛莫
  • 是在锡根纳米光学实验室的一次研究访问中被激发出来的
  • 电子邮件:piccolomo@gmail.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量