JCAMP-DX文件读取器

jcamp的Python项目详细描述


一组用于读取jcamp-dx文件的python实用程序。

函数JCAMP_reader()接受一个文件名作为输入,并返回包含在文件中找到的数据的字典。具体来说,字典中包含的键是:(1)文件头中的字段名,如果对应的字段是数字类型,则值为int或float类型,否则为string类型。(2)两个数组{TT2} $和^ {TT3}$,给出数据点的缩放值(如果存在,则根据标头中的T{4} $和^ {TT5}$字段进行缩放。^ {tt2} $和^ {tt3}$的单位是头字段中所指示的任何东西,{TT8} $和^ {TT9}$,如果存在的话。

JCAMP_calc_xsec()函数的目的是将JCAMP_reader()函数的结果作为输入,并将x数据转换为微米波长,将y数据转换为m^2单位的横截面,用于在标准大气压和温度下,在1米的路径长度上测量1ppm的气体浓度。函数JCAMP_calc_xsec()接受数据字典jcamp_dict作为输入,并直接操作该字典,而不具有单独的返回值。对字典的更改可能包括添加字段:

wavelengths: the array of wavelength values (in microns) for each data point
wavenumbers: the array of wavenumber values (in cm^-1) for each data point
xsec: the array of cross-section values (in units of m^2 at 1ppm.m)

以及修改字段:

xunits: micron
yunits: m^2 at 1ppm.m

如果用户希望将数据截断为所需的光谱范围,则使用可选参数waveminwavemax。例如,设置wavemin=8.0wavemax=12.0意味着返回的数据数组将只包含与这些波长对应的数据。如果使用了skip_nonquant可选输入参数,则在其字典中没有完整的path_lengthpartial_pressure字段的任何输入光谱都将不经修改地传递。(即,不会尝试转换为定量横截面。)如果将此选项设置为true,则如果代码发现缺少的数据,它将尝试通过猜测缺少的值来生成定量横截面。基于nist的红外数据库,这里的典型猜测值是partial_pressure = 150.0 mmHgpath length = 0.1 m

您可以查看doc文件夹中的笔记本演示,了解如何生成显示光谱的一系列绘图。

JCamp文件

存储库附带四个包含jcamp格式文件的文件夹:infrared_spectra/mass_spectra/raman_spectra/uvvis_spectra。这些文件是从免费的因特网数据库下载的,可以用作示例格式文件。

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库