一个python模块,包含处理光谱数据(xanes、raman、ir…)的函数

ramp的Python项目详细描述


兰皮

===

版权所有(2015-2019)C.Le Losq。

charles.lelosq@anu.edu.au

Build Status

DOI

rampy是一个python库,旨在帮助处理光谱数据,如拉曼光谱、红外光谱或xas光谱。例如,它提供了减去基线以及叠加、重采样或平滑光谱的函数。它旨在促进python在处理光谱数据中的使用。它集成在一个使用numpy/scipy以及优化库(例如lmfit或emcee)的工作流中。

/examples/文件夹包含各种示例。

要求

Rampy在Python2.7和3.6上进行了测试(请参见Travis Badge;没有保证它在其他Python版本上工作)

setup.py中需要并指示以下库:

  • scipy
  • numpy=1.12
  • sklearn
  • 熊猫

可选依赖项:

  • gcvspline(您需要一个工作的fortran编译器来安装它。为了避免在Windows下出现此问题,Python2.7、3.4和3.6的控制盘用于64位Windows,Python3.6的控制盘用于32位Windows。如果安装失败,请检查是否是由于Fortran编译器问题引起的。)

要使用rampy.rameau()类,必须安装gcvspline。

  • CVxPy V 1.0或更高。至于gcvspline,由于缺少编译器,安装cvxpy可能会给windows用户带来问题。在这种情况下,请参阅cvxpy的说明。

要使用rampy.mixing()类,必须安装gcvspline。

可能需要用于模型装配的其他库:

安装

使用pip安装:

pip install rampy

如果您要使用gcvspline和cvxpy,请同时安装:

pip install gcvspline

pip install cvxpy

示例

给定包含峰值的信号[x y],并记录在文本文件myspectrum.txt中。

您可以导入它,删除自动背景,打印结果,并将峰值的质心打印为:

import matplotlib.pyplot as plt
import numpy as np
import rampy as rp

spectrum = np.genfromtxt("myspectrum.txt")

bir = np.array([[0,100., 200., 1000]]) # the frequency regions devoid of signal, used by rp.baseline()
y_corrected, background = rp.baseline(spectrum[:,0],spectrum[:,1],bir,"arPLS",lam=10**10)

plt.figure()
plt.plot(spectrum[:,0],spectrum[:,1],"k",label="raw data")
plt.plot(spectrum[:,0],background,"k",label="background")
plt.plot(spectrum[:,0],y_corrected,"k",label="corrected signal")
plt.show()

print("Signal centroid is %.2f" % rp.centroid(spectrum[:,0],y_corrected))

有关更多示例,请参见/example文件夹。

2019年5月更新

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

推荐PyPI第三方库


热门话题
当您有许多具有不同密钥值的位置时,java Enterprise是加密环境变量的正确方法   java如何使用视图保持器模式制作自定义适配器?   java如何迭代Camel体中的嵌套列表?   序列化用base 64进行Java序列化   java打开文件的最佳方式(并确保选择了文件)   java marvin图像色差插件错误   java如何在eclipse中添加属性文件文件夹   比较java。util。日历日期到java。util。日期   java无法在下一个类(活动)中获取哈希表   java如何将这段代码转换为循环?   java查找通过REST失败   java getIntent返回null   在Java中,如何通过外部集合从内部集合检索数据?   java单点登录以保护REST API和内部基于web的系统