共计 3603 个字符,预计需要花费 10 分钟才能阅读完成。
软件截图示意图
粒径实际TEM和软件单峰计算结果
软件背景
在材料科学研究中,X 射线衍射(XRD) 是最常用、最基础的结构表征手段之一。通过 XRD 可以获得晶体结构信息,并进一步推导出晶粒尺寸以及缺陷特征。然而,传统的 XRD 数据处理往往依赖人工拟合和参数调节,这不仅耗时繁琐,而且容易引入主观性偏差。在实际科研中,JADE 等常见分析软件虽然可以进行衍射峰拟合,但其在纳米粒子粒径分布表征方面存在明显局限:
-
拟合过程主观性较强,结果依赖于用户的操作经验;
-
拟合所用的形因子自由度过高,难以得到物理上合理且稳定的粒径分布特征;
-
结果往往只能提供平均尺寸,无法清晰反映粒径分布的整体形貌。
为了获取纳米粒子的粒径分布,研究人员通常会借助动态光散射(DLS)或小角散射(SAXS)等表征手段。然而,这些方法也并非完美:
-
DLS 对粒径分布的假设模型依赖较大,且容易受到溶剂或大颗粒信号的干扰;
-
SAXS 虽能提供分布信息,但实验条件要求高,数据解释依赖复杂的散射模型。
基于此,我尝试寻找一种更直接、普适且基于现有实验数据的方法。为此,在今年年初我开发了一款 基于 Python 的图形化 XRD 数据分析软件。它集成了自动峰拟合、多进程加速、正则化 NNLS 算法以及粒径分布计算功能,能够在常规 XRD 数据的基础上,高效、直观地获得纳米粒子的粒径分布信息,从而为科研人员提供一种全新的解决思路,以下是几种方法的优劣对比
表1、三种粒径分布方法的优劣对比
方法 | 适用尺度范围 | 优点 | 局限 | XRD 自动拟合+正则化分解方法的优势体现 |
---|---|---|---|---|
DLS(动态光散射) | ~1 nm – 1 µm(对小颗粒敏感,但受大颗粒/团聚干扰大) | 快速,常用于溶液分散的纳米颗粒测量 | 对大颗粒/团聚极度敏感,出现“尾巴效应”;需要样品良好分散 | 不依赖分散条件,能在存在团聚时区分多个粒径组分 |
激光粒度分析 | ~100 nm – 数 mm(最适合微米级粉体) | 适合微米级粉体,操作简便 | 对纳米级颗粒分辨力有限,容易把纳米组分归入“背景” | 针对纳米级催化剂和晶体,能解析出清晰的纳米粒径分布 |
SAXS(小角散射) | ~1 nm – 数百 nm(结构尺度覆盖纳米级) | 对小尺寸敏感,适合检测胶体、聚合物和纳米颗粒;能提供形貌信息 | 数据解释依赖模型拟合,常需假设颗粒形状;实验设备昂贵 | 与 SAXS 一样能解析纳米尺度,但直接利用常规 XRD 数据,更易推广和应用 |
XRD 自动拟合+正则化分解(本方法) | ~1 nm – 数百 nm(与晶体学尺寸范围对应) | 直接利用已有的 XRD 数据;避免额外实验;支持多峰体系;结果与晶体学结构直接关联 | 依赖高质量 XRD 数据,对仪器分辨率有一定要求 | 在 催化剂、合金、纳米晶体系,能得到比 DLS 更可靠的粒径分布,并具备更强的可解释性 |
软件适用领域
1、纳米催化材料产品均一性把控,可量化作为标准
2、燃料电池,锂电等纳米催化材料老化耐久失效分析,可量化分析失效组分带来的性能损失
3、作为 TEM 粒径分布 与 DLS/激光粒度法 的补充,为科研人员和学生提供一个直观的图形化平台,提高文章质量水平
软件的主要功能
-
TXT 文件导入:一键读取实验数据。(后期会支持RAW格式文件读取)
-
自动背景扣除:程序会在峰左右区域自动拟合背景并扣除。
-
粒径分布计算:基于 Scherrer 方程改进算法,输出粒径分布曲线。
-
多进程并行计算:充分利用 CPU 资源,提高计算效率。
-
交互式界面:通过拖拽设置起始/结束角度和峰位中心。
-
拟合结果分解:显示不同粒径峰的贡献比例。
- 多峰拟合分解:支持多峰拟合,重叠分析多种晶面下颗粒尺寸分布状态。
-
结果导出:一键保存为 CSV 文件,包括粒径分布和拟合曲线数据。
- 支持多种 X 射线源:如 Cu、Co、Fe、Mo。
使用方法
1、导入数据
点击「📂 导入TXT文件」,选择包含 XRD 数据的文本文件(至少包含 2θ 和强度两列,首行文字任意),可参考如下的示例文件。
注:对于测试得到的RAW格式文件,可用JADE软件打开后导出生成txt文件,你的XRD数据总不能太烂吧?就算是依托答辩也是可以拟合的。信噪比最好比较高,即测试的时候单点测试停留时间建议延长(这是最主要的),如何提高XRD信噪比,可参考这个:进阶之旅 | 如何提升粉末衍射检测灵敏度
2、设置参数
在左侧面板调节分析范围(起始角度、结束角度)。(可以通过左侧面板调节,也可以通过鼠标按住右侧蓝线和红线分别调节。其中蓝色线所夹范围为你要拟合的角度范围,红色线是具有一定宽度的,只要保证在移动红色线过程中该宽度可以覆盖住你认为的中心位即可)
设定分析晶面位置(最多支持5个峰)。(手动勾选添加峰,手动拖拽峰的位置至你要分析的峰的最强中心位置)
设定晶粒尺寸范围(最小/最大粒径)。(默认最大粒径为300nm,该软件对2-50nm颗粒计算速度较快且准确,可根据实际调整最大粒径,存在粒径越大运算速度越慢)
选择合适的平滑因子(alpha)。(默认为最小值,最小值下运算速度较快,alpha值越小越充分拟合但很可能过拟合,alpha越大其拟合颗粒公差越大)
在 XRD 数据处理中,实验谱图往往包含 噪声、背景起伏和细微波动。如果直接用原始数据进行拟合,噪声可能会被误判为真实衍射峰,从而导致粒径分布结果出现虚假的“尖峰”或分布不稳定。为此,软件引入了 平滑因子(α smoothing factor):
降噪作用:通过调节 α,可以有效抑制高频噪声,使衍射峰形更加清晰。
避免过拟合:在多峰分解时,若 α 太小,算法会把随机噪声当成真实峰;适当提高 α 可约束过拟合。
结果更可解释:平滑后的粒径分布更接近实际物理意义,便于与 TEM 或 DLS 等方法对比。
调节灵活:通过界面上的滑块,研究者可以快速尝试不同 α 值,寻找既能消除噪声又能保留真实峰结构的平衡点。
推荐的平滑因子范围:
根据实际测试经验,建议的 α 参数范围为:0.01 – 5
α=0.01 时运算速度最快,虽然可以拟合结果,但本质上是一种过拟合的表现,α=5 时运算速度最慢,矩阵计算尺度显著增加,求解难度增加,但会更接近真实的物理意义上的颗粒尺寸分布。因此,α 就像一个“调节阀”:类似于BET-DFT方法中的粗糙度和精准度的平衡,数值越大,结果越平滑但细节可能丢失;数值越小,分辨率提高但噪声也更明显。推荐先从 α=0.01 起步,根据样品数据特点再微调。
选择 X 射线源(默认 Cu-Kα)。
3、开始计算
计算模式分为两种,1、极速计算:在该模式下,会只以你所拖拽设置的峰的位置进行拟合。2、精细模式:在该模式下,会自动搜索你所拖拽设置的峰的位置左右两边±0.1°的范围进行计算,并自动将每一个峰位调整到最佳峰位置
点击「⚙️ 计算」,程序将自动执行多进程拟合,并在右侧窗口显示:
左下角:拟合曲线与各粒径峰分解结果。
右下角:归一化后的晶粒尺寸分布。(左上角可以点移动按钮然后按住鼠标右键放大缩小,还可以保存图片)
顶部:完整数据的预览与选区范围。
4、保存结果
点击「💾 保存结果」,即可导出粒径分布和拟合曲线为 CSV 文件,便于后续处理与论文绘图。
5、中途终止
如果计算时间较长,可点击「⏹ 停止计算」来中止任务。
软件优势
- 高效:Numba 加速 + 多进程并行,计算更快。
- 智能:自动背景拟合与峰检测,减少人工干预。
- 直观:图形化界面 + 动态拖拽设置,轻松上手。
- 可靠:正则化 NNLS 确保分布合理,不会产生负值或不物理的结果。
- 可扩展:支持多种 X 射线源,满足不同实验条件。
注:仅支持单峰分析
注:支持多峰版本,同时支持极速模式,强烈推荐!
20250915版本更新:修复若干问题
20250905版本更新:新增极速模式
20250902版本更新:支持多峰处理
20250827版本更新:提高运算速度
20250819版本更新:优化算法逻辑,提高可信度
20250818版本更新:图形界面化,操作方便
20250616版本更新:修复边界峰问题,修复百分比问题
20250526版本更新:更改图呈现方式,新增每种粒径范围的颗粒峰图显示
20250515版本更新:新增Kα2贡献,提高拟合精度,新增尺寸组成比例
