多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

FT-IR红外光谱数据处理与Origin绘图全流程实战指南

FT-IR红外光谱数据处理与Origin绘图全流程实战指南 做红外测试的人十个里有八个会被Origin折腾过。傅里叶红外光谱FT-IR作为材料、化学、药学、环境等方向最常用的表征手段之一测试本身并不难真正拉开差距的环节在测试之后——数据怎么处理、基线怎么校正、谱图怎么叠放对比、出图怎么做到能直接放进毕业论文或者SCI论文里。这篇文章就围绕FT-IR数据处理与Origin绘图的全流程展开从拿到原始数据开始到最终导出符合期刊要求的图片为止把我在实际操作中积累的经验和踩过的坑一次说清楚。这篇文章适合刚接触红外测试的研究生也适合被导师要求“重新处理一下那张红外图”但不知道怎么下手的同学。内容偏实操每一步都给了具体参数和操作路径照着做基本都能出结果。1. 拿到FT-IR原始数据后先别急着画图很多人从红外光谱仪上拷回数据就迫不及待地把.opj拖进Origin然后自动成图看到一条凹凸不平的曲线就觉得自己做完了。实际上这一步太急了。原始数据直接出图放到论文里大概率会被审稿人或者导师挑出问题。拿到数据后的第一步是把数据本身搞清楚。1.1 先搞清楚你拿到的是什么数据格式不同品牌的红外光谱仪导出的数据格式不一样。Thermo Nicolet一般可以导出.csv或者.txtBruker常用的是.txt或者.dpt岛津的居多也是.txt。无论是什么格式本质都是两列数据左边是波数Wavenumber单位是cm⁻¹右边是对应的透过率%T或者吸光度Absorbance。这两者的区别很关键。透过率是最原始的测量信号呈现的是倒峰形态吸光度是经过转换后的数据峰是正峰且与浓度遵循朗伯-比尔定律在定量分析时更有意义。期刊上红外光谱图多数用吸光度或透过率都有但要保持全文统一。我的建议是除非你做的实验本身要求透过率否则统一使用吸光度出图因为吸光度谱线的峰形更直观后续做基线校正和峰面积统计也方便。1.2 高频数据是滞后量不要拿来做峰位分析透过率和吸光度这两列数据之外有些仪器导出文件里还附带“Wavenumber (High Freq.)”这样一列。这列数据实际上是高波数端的噪声补充不是主波数轴直接忽略就好。否则导入Origin后会出现两条几乎重叠但又不完全重合的横坐标导致后续选区间、做标注全部错位。这个问题在初学者里非常常见我在帮师弟处理数据时就遇到过好几次。1.3 先做一次“数据体检”正式导入Origin之前建议先用文本编辑器或者Excel快速检查三件事数据行数是否完整通常FT-IR数据点从4000 cm⁻¹扫到400 cm⁻¹采集步长如果是4 cm⁻¹大约有900多个点有没有明显的异常空白行或者乱码波数方向是否正确应该从4000递减到400还是反过来。很多软件允许设置从低波数开始扫描如果横坐标方向反了出图后横轴看起来会别扭调整坐标范围时也容易出错。这个“体检”过程耗时不到一分钟但能避免后面导入数据后出现坐标轴错乱、峰位对不上等让人头疼的问题。2. Origin中的FT-IR数据预处理基线校正、平滑与归一化真正让光谱从“毛坯房”变成“精装房”核心在预处理环节。基线漂移、噪声干扰、样品厚度差异都会让原始光谱不适合直接对比或分析。Origin的强大之处在于它不需要额外编程能力仅靠菜单操作就能完成大部分预处理工作。2.1 基线校正不要一上来就用默认参数FT-IR光谱最容易出现的问题是基线漂移尤其在3000-3600 cm⁻¹这个区域水汽和样品本身都可能造成基线抬高。Origin中做基线校正一般有两种路径。路径一是使用菜单栏的 Analysis → Peaks and Baseline → Baseline Mode在弹窗中选择Create Baseline然后把基线拟合方式调整为User Defined或者Automatic。自动模式适合基线比较平坦的样品处理速度快但遇到倾斜基线时容易矫枉过正——把原本正常的峰基座削掉导致峰形失真。路径二是手动取基线点。在Create Baseline中选择Add手动在谱图上的空白区域点击选择几个关键点比如4000、3700、2800、1800、800这些吸收较弱的位置然后让软件用曲线把这些点连成基线最后选择Subtract完成扣除。这个方法看起来笨但在处理带有明显水汽噪声或者宽弥散峰的样品时反而是最稳定的方案。实操中我的体会是能自动就自动自动不行就手动取点千万不要反复多次Subtract。同一个数据做两次基线扣除峰形会被严重破坏尤其是峰宽本身就大的羟基峰和氨基峰二次校正后甚至可能变成“负峰”那时候再挽救就麻烦了。2.2 平滑处理用Savitzky-Golay别用Adjacent Averaging做红外光谱平滑去噪很多教程都会推荐Adjacent Averaging相邻平均。这类方法实现简单但副作用也很明显会把峰形削钝导致半峰宽变大。对于需要报告峰位或比较半峰宽的实验来说这几乎是灾难性的。在Origin中推荐的做法是 Analysis → Signal Processing → Smooth → Open Dialog方法选择 Savitzky-Golay多项式阶数保持默认2阶窗口点数设置为9到15之间。Savitzky-Golay平滑的核心思路是用局部多项式拟合法对窗口内的数据点做拟合保留峰形特征的同时压制高频噪声。通俗点说它在“把毛刺去掉”和“不把山峰削成土丘”之间找到了一个更好的平衡点。窗口点数需要根据数据本身情况调整如果噪声很大把窗口设置到15或者21如果谱图本身已经比较光滑设置到5或者7就够了。窗口过大虽然去噪能力强但会把本来应该清晰的尖锐吸收峰抹圆导致后续计算峰面积时出现明显偏差。2.3 归一化前先想清楚你的目的需要对比不同样品的相对峰强时比如比较氧化程度的相对变化归一化几乎是必须的。但归一化有多种方式选错了会得出完全不同的结论。最常用的方式是Min-Max归一化先让整个光谱减去最小值再除以最大值把所有数据压到0-1之间。这个操作在Origin里只需要在工作表新增一列然后输入公式(col(A)-min(col(A)))/(max(col(A))-min(col(A)))即可。Min-Max归一化适合比较峰与峰之间的相对强弱变化但它有一个隐含问题如果光谱本身有一个极大的非特征峰比如宽大的水峰归一化后其他峰会被压缩到很低看起来“消失”了。另一种方式是选择特征峰归一化比如以某个内标峰通常是样品中不参与反应的基团对应的峰为基准把其他峰的强度与该峰做比值。这种方式在定量分析里更常见但前提是你必须清楚哪个峰是合适的参考峰。不要看到哪个峰最高就选哪个得看它是否在所有样品中稳定存在。我建议的流程是先看原始谱图确定是否存在明显的基线漂移做基线校正后再看峰形是否正常确认后再考虑是否需要归一化——没有定量需求时不要随意归一化因为归一化会改变不同光谱之间的绝对强度关系本身也是信息量的一部分。3. 光谱绘图从默认图到能看的谱图预处理完成后进入画图阶段。很多人画的FT-IR图不好看不是因为Origin技术不行而是没有理解光谱图的表达逻辑。红外光谱图的横轴是波数习惯上从大到小排列纵轴是透过率或吸光度图的核心信息是“哪些波数位置有吸收峰”以及“这些峰的强弱关系”。绘图操作的核心目标就是让这两点清晰直白地呈现出来。3.1 新建图层与数据分配Origin默认的Line图会把当前工作表的第一列作为X轴第二列作为Y轴。如果你的数据顺序符合这个要求直接选中两列点击 Plot → Line → Line 即可成图。但有的时候数据顺序被调整过——X轴数据在B列Y轴数据在A列——这时候不建议重新调换列顺序而是在弹出的Plot Setup窗口中把X列指定为正确的列即可。更好的做法是先选中“X”列按住Ctrl键再选中“Y”列然后点击画图。这样Origin会自动把第一列识别为X第二列识别为Y避免后面出现横轴是系列编号而不是波数的尴尬情况。3.2 横坐标倒置与范围截取红外光谱的行业惯例是横轴从高波数到低波数也就是4000在左、400在右。Origin默认的坐标轴是从小到大所以需要双击横轴在Scale选项卡中把From设置为4000、To设置为400这样横轴自动倒置。坐标范围不要总是展示全波段4000-400 cm⁻¹。如果样品的主要特征峰集中在1800-800 cm⁻¹之间1800以上的区域信息量很低完全可以把坐标范围设置成2000-500或者1800-600让指纹区放大呈现。反过来说如果要比较羟基、羧基等官能团区域则保留3700-2800的区间。截取坐标范围之前先想清楚论文要论证什么所有谱图保持相同的坐标范围才方便对比。如果样品做了多个建议把所有曲线的坐标范围设为完全一致否则峰的位置看起来会“漂移”直接影响审稿人的判断。3.3 设置轴刻度间距、小数位数与字体轴刻度这块虽然不起眼但非常影响观感。默认情况下Origin的刻度密度偏高标签文字挤成一团。我的习惯是双击坐标轴在Scale选项卡中设置主刻度Major Ticks间隔为500或1000次刻度Minor Ticks数量设置为1或2。这样横轴刻度看起来疏密适中。字体设置方面Origin默认的Arial其实够用但如果是投中文期刊或者毕业论文建议统一改成“Times New Roman”或者“Arial”都可以关键是要全文统一。对轴标题来说FT-IR光谱图的横轴通常标注为“Wavenumber(cm⁻¹)”纵轴如果是吸光度就标“Absorbance(a.u.)”如果是透过率就标“Transmittance(%)”。这里有一个细节a.u.表示相对强度单位在纵轴用arbitrary units时写在吸光度归一化后也可以用。3.4 多条曲线绘制不要用LineSymbol需要在一张图里叠加多个样品的红外光谱时最容易犯的错误是选择LineSymbol模式。化学、材料类的光谱图几乎不使用数据点符号只保留纯线条。多个样品用不同的颜色或线型区分而不是用圆圈、方块这些符号去标记否则图会显得很“土”而且符号密集叠加之后完全看不清。多光谱绘制的方法是先选中第一组数据画图然后右键图层左上角的图层图标 → Layer Contents在弹出的对话框里把第二组数据依次添加到当前图层。不要直接新建图层再叠图那样会让多个图层间的坐标轴对齐变得非常麻烦。3.5 峰位标注的两种正确方式红外光谱图几乎一定会涉及峰位标注。Origin中标注峰位有两种方式一种是手动标注用左侧工具栏的T文本工具直接在峰顶附近输入波数数字再加一个箭头指向峰位用Arrow工具画一条带箭头的短线段另一种是自动寻峰Analysis → Peaks and Baseline → Peak Analyzer先自动寻峰然后把峰位标注添加到图上。自动寻峰适合对整条光谱做系统的峰归属但手动标注更适合论文出图——因为我们只需要标注几个关键的特征峰不需要把所有峰都标出来标太多反而让人抓不到重点。手动标注时文本字体建议设置成与轴标签相同的字体字号在18-22pt之间在Origin的Page单位下与图中文字保持比例协调。4. 曲线优化与图形美化让谱图达到投稿级别画好图只是第一步真正让图片达到“可以直接贴进论文”的标准还需要做一系列优化和美化工作。这一环节考察的不是数据处理能力而是对排版和审美的敏感度。很多同学在处理红外数据时技术都很熟练但最后出来的图还是不美观问题就出在这里。4.1 线型线宽这是最便宜的“高级感”光谱曲线的线宽默认是1 pt在屏幕上看起来还行但放大或者缩小后就会显得单薄。期刊出版时图片会被压缩到单栏宽度约8-9 cm线宽1 pt的曲线几乎会“消失”。我的建议是所有光谱曲线统一设置为2 pt。如果有重叠的谱线用不同颜色而非不同线型区分因为虚线、点划线在缩小后会出现断线、看不清的问题。颜色选择上不要用纯黑配纯蓝这种极高对比方案也不要全用彩虹色。期刊印刷尤其是黑白印刷时颜色区分可能失效所以推荐使用Origin自带的Color List里的“C1-C8-I”配色方案这套颜色的区分度高黑白灰度打印出来也能分得开。配色的具体操作双击曲线在Line选项卡里把Color从ByPlot改成ByLayer或者自定义指定颜色。不同样品曲线可以用黑、红、蓝、暗绿、紫这组经典配色这也是多数高分期刊红外光谱的常见搭配。4.2 坐标轴边框封闭式还是开放式Excel默认是四边都有边框的封闭式坐标轴但Origin默认的轴线是X、Y各一根两条轴线在左下角相交但不闭合。学术期刊对坐标轴的格式没有绝对要求但我个人强烈建议采用闭合边框。操作方法是双击坐标轴 → Title Format → Axis 选择 Left 和 Bottom → 在Line and Ticks里把Major和Minor的Style设置为In再把Right和Top轴的Line设置为“Show Line And Ticks”但把其Major和Minor的Ticks设置为None。这样得到的效果是左轴和下轴带向内刻度线右轴和上轴只有框线没有刻度整体呈一个完整的矩形框非常符合化学类期刊的图件惯例。4.3 坐标轴标题与刻度字体大小遵循“渐变”原则图片中文字的大小必须遵循层级关系图内标注的文字比轴标题小一号轴标题又比图内曲线名称等核心信息小一号。一般建议轴标题设置为24pt刻度标签设置为20pt这里的单位是Origin的Point导出图后会按比例缩放。这种方式比“所有文字都一样大”看起来专业很多。出现多个图组合在一个大图里时不同子图之间文字大小必须严格一致。4.4 曲线偏移与三维堆叠特殊情况怎么处理如果需要在同一张图里展示多条红外光谱但又不想让它们相互遮挡最常用的处理是Y轴方向偏移。操作方法是在工作表里给每组Y数据加上一个固定增量比如0.2然后用这些平移后的数据画图或者直接在图上双击每条曲线在Offset选项卡中设置Y方向的偏移量。偏移量不宜过大以相邻曲线之间的基线刚好不重叠为宜。三维堆叠3D瀑布图用FT-IR的时间序列分析比较多比如原位红外随时间变化的谱图。但3D图在期刊排版中很难排好信息提取效率也低于二维重叠图。我的建议是除非必要能用二维叠加解决的不要用3D。4.5 导出图片参数分辨率与格式到了导出这一步很多人以为点一下Export就完事了导致最后图片分辨率不够被期刊打回。不同期刊要求不同但一般规则是分辨率不低于300 dpi尺寸与期刊栏宽匹配双栏图建议600 dpi。Origin里导出时File → Export Graphs → Image File在Image Type里选择TIFF或者EMF都可以TIFF更通用稿件系统基本都接受。色彩模式用RGBDPI至少300不要勾选“Auto”以免分辨率被自动降低。有个隐藏技巧如果图片中有大量文字标注导出之前先在Format → Page里把Page Size改成符合目标期刊要求的宽度比如单栏8.5 cm双栏17 cm这样你在Origin里看到的图就接近最终出版尺寸不会出现导出后文字过大或过小的问题。5. 实操案例全流程与常见问题速查讲了这么多理论这里以一个完整的案例把所有流程串起来。假设我有一组样品分别是原始材料、改性后的材料外加一个对照组现在需要把这三条FT-IR光谱叠在一张图里出结果。第一步确认数据。三组数据分别放在同一个工作表的多个列里A列是波数B、C、D列分别是三个样品的吸光度。先选中A列按住Ctrl选中B列画第一条线然后右键图层左上角图标Layer Contents把C、D列依次添加进去。第二步预处理。对三条曲线分别执行 Analysis → Peaks and Baseline → Baseline Mode先自动修正基线不行再手动取点保证三条曲线的基线都落在0附近。如果噪声明显执行Savitzky-Golay平滑窗口点数设为9。第三步坐标设置。双击X轴Reverse设为高到低范围设置为4000到400或2000到500。双击Y轴根据数据范围调整起始值让上方留一些空白区域方便后面做标注。第四步美化线条。把三条曲线的线宽设为2 pt颜色分别设置为黑、红、蓝。添加坐标轴标题设置为“Wavenumber (cm⁻¹)”和“Absorbance (a.u.)”。轴框设为闭合边框刻度向内。第五步标注和导出。用文本工具在特征峰位置标注波数比如1735、1635、1050等并添加箭头。确认所有标注没有遮挡曲线导出TIFF格式分辨率设为600 dpi。按这个流程走完基本可以确保输出的图片达到SCI论文的出版要求。5.1 高频问题清单水印问题。Origin显示“DEMO”水印说明许可证失效这类情况没法通过任何设置绕过建议直接联系学校或者单位的信息化部门购买正版授权。坐标轴范围改不了。双击坐标轴后没有反应可能是因为当前图层被锁定检查一下菜单栏View → Object Manager里对应图层的Lock状态。一个图中曲线太多看不过来。优先保留关键样品次要样品放到Supplemental Material不要硬塞进一张图里。纵轴数值默认带了很多小数位看起来杂乱。双击坐标轴 → Tick Labels → Decimal Places手动设置为2或者3瞬间清爽。Origin打开中文文件名的数据报错。把文件名和路径改成英文然后再导入该问题基本能解决。原点Origin默认画图时出现了图例但图例框又大又占地方。双击图例反选“Show Legend”隐藏需要时再手动用文本工具添加。5.2 实操心法处理FT-IR数据时间长了我现在反而不太迷信复杂的数据处理流程。光谱数据分析有一条底线你的处理步骤越少数据的可信度越高。基线校正是必要的平滑要克制归一化要慎重。每一个处理步骤都会引入一定程度的失真过度处理甚至可能把真实的化学信息给“处理”掉。红外光谱图一方面要求干净、清晰、易读另一方面又要保持数据的真实性。平衡的标准是所画的每一笔优化都没有改变峰的数量、峰的位置和峰的相对强弱趋势。如果这三者发生了变化那这个美化就是失败的。6. 更多关于光谱绘图的底层思考最后多说几句。现在很多仪器厂商自带软件就能生成谱图看似方便但这类软件生成的图片风格高度受限对期刊要求适配性差而且一旦换了一台仪器软件操作逻辑又不一样了。把数据处理和绘图的流程集中到Origin上来最大的价值不仅仅是得到一个更漂亮的图而是建立了一套与仪器无关的数据处理流程。以后不管在哪个平台测的红外数据回到Origin之后一套流程跑到底结果完全可控。同样的逻辑也适用于拉曼光谱、紫外-可见光谱、荧光光谱等几乎所有光学类谱图的处理。FT-IR数据处理的这套方法——基线校正、平滑、归一化、多谱叠加、导出设置——迁移到其他谱图上只需要把波数轴换成发射波长或者拉曼位移轴即可。我个人在实际操作中的体会是绘图这件事Outstanding的工作不一定需要多高深的数学或编程能力关键在于把每个环节的细节控制好。你会发现自己画红外光谱图的水平在一次次投稿和修改中慢慢提高最后形成一种肌肉记忆拿到数据就知道该做什么看一眼图就知道哪里要调整。这种熟练度是任何教程都给不了的只能靠自己做样品、跑测试、调图磨出来。如果你正准备投稿最后再分享一个小技巧投稿前把整篇论文里所有红外图集中在一起看一下如果发现某些图字大、某些图字小某些图坐标范围宽、某些图坐标范围窄最好统一调整后再提交。一套论文里的所有谱图风格统一比单张惊艳重要得多这也是很多编辑和审稿人对图片质量的第一印象。
返回列表