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
如果用户希望将数据截断为所需的光谱范围,则使用可选参数wavemin,wavemax。例如,设置wavemin=8.0和wavemax=12.0意味着返回的数据数组将只包含与这些波长对应的数据。如果使用了skip_nonquant可选输入参数,则在其字典中没有完整的path_length和partial_pressure字段的任何输入光谱都将不经修改地传递。(即,不会尝试转换为定量横截面。)如果将此选项设置为true,则如果代码发现缺少的数据,它将尝试通过猜测缺少的值来生成定量横截面。基于nist的红外数据库,这里的典型猜测值是partial_pressure = 150.0 mmHg和path length = 0.1 m。
您可以查看doc文件夹中的笔记本演示,了解如何生成显示光谱的一系列绘图。
JCamp文件
存储库附带四个包含jcamp格式文件的文件夹:infrared_spectra/、mass_spectra/、raman_spectra/和uvvis_spectra。这些文件是从免费的因特网数据库下载的,可以用作示例格式文件。