PyFAI 中实现掠入射X射线散射的q-χ二维积分分析
pyFAI Fast Azimuthal Integration in Python 项目地址: https://gitcode.com/gh_mirrors/py/pyFAI
引言
在X射线散射分析领域,掠入射X射线衍射(GIXD)和掠入射小角X射线散射(GISAXS)是研究表面和界面结构的强大工具。PyFAI作为先进的X射线衍射数据分析工具,在2025版本中增强了对掠入射实验数据的处理能力,特别是实现了q-χ极坐标变换这一关键功能。
掠入射散射的特殊性
掠入射几何条件下,X射线以接近临界角的角度入射样品表面,导致散射图案具有以下特征:
- 存在明显的缺失楔形区域(missing wedge)
- 散射矢量需要分解为面内(qip)和面外(qoop)分量
- 传统的q-χ变换无法正确反映表面法线方向的取向信息
PyFAI的新功能实现
PyFAI 2025版本通过FiberIntegrator类实现了针对纤维和掠入射样品的专用分析工具,主要包含以下创新:
1. 极坐标变换功能
新增"chigi_deg"和"chigi_rad"角度单位,基于qoop和qip的反正切计算,实现了正确的极坐标变换:
res2d_polar = fi.integrate2d_grazing_incidence(
data=data,
sample_orientation=sample_orientation,
unit_ip="qtot_nm^-1",
unit_oop="chigi_rad"
)
2. 扇形区域积分
支持在qip-qoop坐标系或极坐标系下进行扇形区域积分,解决了传统方法无法正确处理缺失楔形区域的问题:
# 水平扇形积分
res1d_0 = fi.integrate1d_grazing_incidence(
data=data,
ip_range=[0,40],
oop_range=[-0.2,0.2],
vertical_integration=False
)
# 垂直扇形积分
res1d_1 = fi.integrate1d_grazing_incidence(
data=data,
ip_range=[-17.5,17.5],
oop_range=[5,6.5],
vertical_integration=True
)
应用实例
表面结构分析
通过极坐标变换后的q-χ图,可以:
- 准确识别表面法线方向的晶体取向
- 分析表面纳米结构的取向分布
- 研究薄膜的外延生长关系
纤维样品研究
对于纤维样品,新功能允许:
- 分析纤维轴向的取向分布
- 研究纤维内部纳米结构的排列
- 定量表征取向分布函数(ODF)
技术优势
相比传统方法,PyFAI的新实现具有以下优势:
- 正确处理掠入射几何的缺失楔形问题
- 提供直观的极坐标表示
- 支持灵活的扇形积分区域选择
- 保持高计算效率
结论
PyFAI 2025版本对掠入射X射线散射分析的功能增强,特别是q-χ极坐标变换的实现,为表面科学和纤维材料研究提供了更加强大的分析工具。这一进展使得研究人员能够更准确地分析表面和界面结构,为纳米材料和薄膜研究开辟了新的可能性。
pyFAI Fast Azimuthal Integration in Python 项目地址: https://gitcode.com/gh_mirrors/py/pyFAI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考