Agent Skills
返回列表
pyFAI 衍射散射积分

pyFAI 衍射散射积分

行业专业 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_58a95efd/diffraction-scatter。

技能介绍

要解决什么问题

同步辐射与实验室 X 射线实验里,探测器二维图要先做几何标定得到 .poni,再按实验类型做径向、方位角(χ)、扇区或 GIWAXS 等积分。手写 pyFAI 调用时,模式、integrate1d_ng / integrate2d_ng / FiberIntegrator 选型、WAXS 用 2θ 还是 SAXS 用 q、以及 mask/dark/flat/偏振校正很容易混在一团;帧数一多,整栈 HDF5 或 Eiger 数据还会把内存顶满。

技能如何工作

本技能按工作流组织对话与执行,而不是只给一段示例脚本。

  • 尚无 .poni:先确认环境(Python / pyFAI),再指向校准学习资源;标定完成后回到积分主流程。
  • 已有 .poni:先判定模式——radial1d、azimuthal1d、sector1d、cake2d、fiber2d(GIWAXS)——再补齐输入格式(EDF/TIFF/HDF5/NPY)、输出形式、积分单位与校正项。
  • 单位约定:用户未说明时先区分 WAXS / SAXS;GIWAXS 固定 qip_nm^-1 × qoop_nm^-1。
  • 执行:优先使用捆绑脚本,进度以 JSONL 输出,结果逐帧落盘;大批量数据采用逐文件、逐帧流式,HDF5 指定 dataset path,Eiger 4D 确认通道;吞吐可用 csr,精度优先 splitpixel。

结束时会汇总所用模式、单位、校正与输出格式;大批量任务是否流式处理也会说明,并引用 pyFAI、fabio、silx 及文献。

适用边界

技能侧重 PONI 已就绪之后的积分与批处理;.poni 是正常环节,不是使用前提以外的额外障碍,但几何标定本身需用户按教程完成。多探测器 MultiGeometry、sigma_clip_ng 动态 mask、官方 pyFAI-integrate --json 等在文档中列为进阶方向,未必已全部脚本化。此为个人项目,非 ESRF 或 pyFAI/silx/fabio 团队官方发布。

使用场景

  • 线站几何标定已产出 `.poni`,要把一批 EDF/TIFF 帧批处理成 WAXS 的 I(2θ) 或 SAXS 的 I(q) 并写入 CSV/HDF5。
  • GIWAXS 或纤维样品实验后,需要在已有 `.poni` 下做 `fiber2d`,得到 q_ip×q_oop 二维图并限定积分范围。
  • 同一张二维图要在固定径向 q 区间内提取 I(χ) 剖面,或只在 -30°~30° 扇区内做 sector1d 一维积分。
  • 束线导出的多帧 HDF5/Eiger 栈无法一次读入内存,需逐文件逐帧径向积分并边算边写结果。

适合人员

  • 同步辐射或实验室线站上、负责在标定后为访客批量归约 SAXS/WAXS 二维原始图的实验/物理支持人员
  • 已掌握或刚完成 pyFAI 标定、需要为论文整理一维曲线并统一单位与校正项的材料/化学方向研究生
  • 研究非晶、聚合物或薄膜取向、常要从同一探测器图做 cake 图与 χ/扇区剖面对比的分析人员
  • 维护本地探测器管线、需要在每次积分前固定套用 mask、暗场、平场与偏振校正的数据处理工程师