一个python模块,包含处理光谱数据(xanes、raman、ir…)的函数
ramp的Python项目详细描述
兰皮
===
版权所有(2015-2019)C.Le Losq。
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。
可能需要用于模型装配的其他库:
- lmfit&aeval(http://cars9.uchicago.edu/software/python/lmfit/)
- 主持人
安装
使用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月更新