跳转到内容

光谱文件格式

本页回答一个问题:TFStudio 能读取我的仪器写出的文件吗? 对几乎所有紫外/可见/近红外分光光度计,答案都是能,因为导入器读取的是真实仪器实际产生的排布,而不是某一种理想的整齐格式。导入在实测光谱窗口中进行。

任何 λ, value 表格,扩展名不限:.csv、.txt、.asc、.dat、.dpt、.ttt 等等。

自动识别 支持的取值
分隔符 逗号、分号、制表符,或连续空格
小数分隔符 小数点或逗号。400,5;88,51 可正确读取
波长单位 纳米、微米,或以 cm⁻¹ 表示的波数,从表头读取;没有表头时按数值判断:大多小于 60 为 µm,超过 30000 为 cm⁻¹,其余为 nm。以 eV 表示的光子能量只从表头读取
量 透射率、反射率、吸收率
Y 比例 分数、百分比,或吸光度

所有自动识别的结果都可以在添加曲线之前覆盖,因此即使文件本身什么都没声明,也只需两次点击即可导入。

仪器很少在数值上方只写一行整齐的列名。以下排布都会按其本意读取:

  • 数据前的设置块。 像 PerkinElmer 那样写在表头中、看起来像数值的行,不会成为光谱的一部分。
  • 标记行。 #DATA、>>>>>Begin Spectral Data<<<<< 之类的行标明表头到此为止,数据从其后开始读取。
  • 列名一行、单位另一行。 Wave ; Sample ; Reflectance 位于 [nm] ; [counts] ; [%] 上方时,每一列都能得到自己的名称并读取自己的单位,因此某一列的百分比不会决定相邻各列的比例。不带方括号的单位行,如 nm deg deg,同样按此读取。
  • 被注释掉的表头。 行首的 ;、# 或 // 是注释标记,不是一列;无论它单独成项,还是紧贴第一个列名写出(如 #ROIidx),都是如此。
  • 波长列不必是第一列。 当第一列不是单向递增或递减时,名为 Wavelength 或 Lambda 的列无论位于何处都作为横轴。
  • 带引号的列名。 "Wavelength nm.","R%" 会作为反射率导入。
  • 百分号的两种写法。 %T 与 T% 同样表示透射率。
  • 每行开头的标签(反射计常这样写)会被识别并去除:uR 402.5238 0.0 0.237728 0.01 是一行数据。
  • 没有数值的行会被舍去并计数,因此当文件把一次读数与一个空行交替写出时,它会告诉你丢弃了多少行,而不是悄悄地把测量减半。
  • 波长降序的文件会在导入时重新排为升序。
  • 数据之后末尾的统计块会被忽略。

批量测量的软件会为每个样品各写一列波长:

AR_front,,AR_back,
Wavelength (nm),%T,Wavelength (nm),%T
400.00,88.51,400.00,87.90

重复出现的波长列会被识别为样品的分界,而不是作为曲线提供,并且每条测量都以它所属的样品命名。用 Add to design(添加到设计) 导入其中一列,或用 Add all curves(添加全部曲线) 导入全部。

IUPAC 光谱学标准,.dx 与 .jdx,可读可写。它自带单位和量,因此无需配置即可导入。复合 LINK 文件会把每一个数据块导入为一条独立曲线。定长格式的 XYDATA 压缩与 XYPOINTS 数对列表都受支持。

导出时写出的 JCAMP-DX 使用你为 CSV 选择的同一波长单位和 Y 比例,因此 TFStudio 的曲线可以在任何光谱学软件中加载。

一对 Ψ 与 Δ 在实测椭偏中导入,而不是在实测光谱中;上文关于分隔符、小数点和表头的内容同样适用。以下几点是椭偏文件特有的。

X 轴可能是光子能量。 椭偏软件常以 eV 为横轴。只有当表头明确写出时才按 eV 读取,绝不从数值猜测:eV 轴与微米轴的数值范围相同,猜错会在无声之中完成换算,之后再也看不出来。

哪一列是 Ψ、哪一列是 Δ 由数值判定而非列序,因为各厂商的列序并不一致。Ψ 是幅值比的反正切,不可能超出 0 到 90 度,因此超过 90 度或小于零的那一列必为 Δ。两者都可以一键改正。

入射角取自写明角度的表头行(AOI 70、Angle of incidence 70),取自同样命名的数据列,取自列出各角度的列标题(如 Psi (45.00, 50.00°)),或取自列名自身中写作 @55° 的角度。一个把波长按角度重复多遍的文件会被拆分为每个角度一对 Ψ/Δ。多角度测量没有单一角度可写在表头里,因此每条曲线把自己的角度带在名称中,导出这些曲线后再读回来,每个角度都不会丢失。若文件在这些地方都未写明角度,则按面板中设定的角度导入,请自行核对。

一个文件中的多个感兴趣区域(成像椭偏仪在 ROIidx 列下写出的那种)以同样的方式拆分:每个区域一对 Ψ/Δ,并以该区域命名。

任意范围的 Δ。 软件可能把 Δ 写在 -180 到 180 之间,或 -90 到 270 之间。这是同一个角度,绘图和拟合都按 0 到 360 轴上的该角度处理。曲线走出自身范围的端点时,按继续绕圆周读取,因此不会在一周的中间做插值;与设计的残差也总是取圆周上的近路。

仪器与格式 结果
SENTECH SpectraRay。 ; WAVELENGTH <角度> <角度> 表头,其后为 λ、Ψ、Δ 可导入,列由数值判定。角度只出现在列标题中,需在面板中设定。
ADAP。 SE PSI DELTA 表头,另有独立的 AOI 行 可导入,角度由表头读出。该导出在写着 PSI 与 DELTA 的标题下给出的是 tan Ψ 与 cos Δ;窗口会识别出 Δ 列并给出提示。拟合前请先换算为角度。
J.A. Woollam WVASE,光谱模式。 单位行,其后为 λ、角度、Ψ、Δ λ、Ψ、Δ 可导入。该导出中的角度列没有名称,因此被当作一条曲线提供,而不会按角度拆分文件:请手动设定角度,或先把该列命名为 AOI。
J.A. Woollam WVASE,单波长。 Angle of Incidence, Psi, Delta 不能读取。这是单一波长下的角度扫描,而本窗口的曲线是波长的函数。
J.A. Woollam CompleteEASE,变角模式。 Wavelength (nm) Psi (45.00, 50.00, … °) Delta (45.00, 50.00, … °),每个角度一对 Ψ、Δ 列 可导入,每个角度一对 Ψ/Δ,名称与角度均取自列标题。Δ 写在 -90 到 270 之间,落在 0 到 360 轴上。
Accurion,Park Systems EP4Control。 #ROIidx Lambda Bandwidth AOI … Delta Psi,加 # 单位行,每个波长下每个感兴趣区域一行 可导入。波长按名称在第三列找到,Δ 在 Ψ 之前按名称读取,角度取自其数据列,每个感兴趣区域各成一对 Ψ/Δ。

其他任何含有波长、Ψ 与 Δ 的分隔文本文件都应当可以导入:上述这些是能够取得并核对的文件,而不是可用范围的上限。若某个文件无法导入,欢迎附上该文件反馈。

文件能被读取,并不等于其测量方式是 TFStudio 所建模的。这些曲线的含义是各向同性样品上的反射式椭偏测量;透射式椭偏、Mueller 矩阵数据,以及仪器原生的 Is/Ic/Ic′ 都完全不被读取,参见本窗口接受何种测量。

以下仪器的真实导出文件已完整读取通过:PerkinElmer(PEDS ASCII 格式与 JCAMP-DX 两者)、Shimadzu UV-Probe、Agilent Cary、Filmetrics、Avantes AvaSoft、Ocean Optics,以及反射计和椭偏仪的文本格式。

如果你的仪器不在此列,它多半仍可导入,因为这份清单列出的是已经测试过的仪器,而不是仅有这些仪器可用。若某个文件无法导入,或导入成了错误的量,欢迎附上该文件反馈。

  • 二进制仪器文件。 PerkinElmer .sp、Cary .BSW、Galactic .SPC、Bruker OPUS,以及 Avantes 的 .TRM 与 .ROH 系列。这些格式在各自的软件中都有 ASCII 或 JCAMP-DX 导出,请使用那些导出。
  • 探测器计数。 一列原始计数会作为光谱导入,并按百分比缩放。请选择仪器报告为 R 或 T 的那一列,而不是原始信号、暗背景或参考列。