pxrd op• 資料種類:signal × signal → table
• 呼叫: import fullseye as fs; fs.ledger.diffraction_peaks(two_theta, intensity, min_snr=6.0, baseline_window=None, max_peaks=200, noise=None)(要直接呼叫實作,import pxrd; pxrd.diffraction_peaks(two_theta, intensity, min_snr=6.0, baseline_window=None, max_peaks=200, noise=None);從台帳取用則 opsdrive.get("diffraction_peaks"))
從 1 維繞射剖面中擷取峰,以高斯 + 直線的局部擬合給出位置、高度、FWHM 與面積。
步驟: 以視窗 baseline_window [deg] (預設 = 範圍的 4 %)的滾動最小值 → 滾動平均建立背景,在扣除背景後之值的局部極大中,超過 min_snr × 雜訊者作為候選(雜訊取間隔 1〜8 差分的 MAD 的最大值。也可向 noise 傳入
一個數,或像 azimuthal_integrate 的 sigma 那樣逐 bin 的陣列 —— 要避免把中心附近或角落等像素較少的 bin 的擾動誤認為峰,就需要陣列)。各候選的半高寬不是目測,而是由半高交點估計,在於與相鄰候選的中點處截斷的視窗內用 scipy.optimize.least_squares 擬合高斯 + 直線。重疊的峰會因視窗被截斷而產生偏差(若要分離,用 phase_fractions)。
回傳值(dict): two_theta、height、fwhm [deg]、area、snr、fit_ok(擬合是否收斂並落在視窗內)、noise、baseline(與格子等長)。若無峰則為長度 0 的陣列(空 = 不是失敗)。
Raises ValueError: 長度不一致、非有限、2θ 不遞增、min_snr <= 0。
• 範例資料目錄(下載 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 · azimuthal_integrate
*Provenance: pxrd.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.