azimuthal_integrate — DRIVE pxrd op

• 数据种类:image2d × table → table

• 调用: import fullseye as fs; fs.ledger.azimuthal_integrate(image, geometry, n_bins=None, two_theta_range=None, mask=None, solid_angle=True, polarization=None, chi_range=None, supersample=2)(要直接调用实现,import pxrd; pxrd.azimuthal_integrate(image, geometry, n_bins=None, two_theta_range=None, mask=None, solid_angle=True, polarization=None, chi_range=None, supersample=2);从台账取用则 opsdrive.get("azimuthal_integrate"))

用法

将 2 维探测器图像归约为 2θ 的 1 维剖面(方位角积分,含掩膜与校正)。

将各像素分为 supersample² 个子像素(值均分),按子像素中心的 2θ 分配到各 bin,对每个 bin 求 平均 (减少因像素划分粗糙而产生的条纹)。solid_angle=True 时除以相对立体角;polarization 为数值(0 = 非偏振, 1 = 水平偏振)时除以偏振因子,均在求平均之前进行。mask 排除 值为 True 的像素(相同形状的 bool)。chi_range = (χ₀, χ₁) [deg] 时只积分扇形部分(χ 取 atan2 的 (−180, 180])。非有限像素若不在 mask 中则拒绝。

n_bins 的默认值为使宽度等于单个像素张角一半的数目(0.5·pixel/distance [rad])。返回值(dict): two_theta(bin 中心 [deg])、intensity(平均)、count(子像素权重之和,为 0 的 bin 其 intensity 为 nan —— 不填补)、sigma(假设 Poisson 的均值标准误差)。

Raises ValueError: 非 2-D、mask 形状不一致、非有限像素、范围为空、扇形为空、bin 数 < 8。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_pxrd_phase_peel — py -3.11 examples/poc_pxrd_phase_peel.py

类型可衔接的下一个算子(可接受 table 作为输入)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同类别(pxrd)

cif_read · cubic_prototype · powder_reflections · scherrer_size · debye_ring_image · detector_two_theta · detector_calibrate · diffraction_peaks


*Provenance: pxrd.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.