一个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 ProcessBuilder在使用多个参数时运行不正常   java如何使用Spring数据ORM/JPA创建EntityManagerFactory?   将Velocity宏转换为Java指令   internet上的Java TCP/IP服务器客户端通信   java为什么JDK 8允许一个局部内部类(在方法内部)访问封闭方法的非最终局部变量?   基于Java的比率算法   java应用程序在选择列表首选项时出错   java保存对象以供以后使用   java如何使用MySQL JDBC驱动程序连接Android和MySQL   java Zipkin可以用于控制台应用程序   java单击刷新Servlet页面显示重复内容   java如何递归地反转字符串数组?   java如何使用inputStream作为outputStream的文本?   java扩展令牌选择操作符   java在映射中使用通用枚举类   arraylist如何使用JAVA流从对象列表中查找平均值   windows将FileInputStream和FileOutputStream传递给ffmpeg进行转码(使用JAVEJava音频视频编码)   java Ant脚本在执行CVS签出后找不到目标   重复值情况下的java插入排序,双链表ADT   java如何在Accumulo中获取数据库查询计数