cubic_index — DRIVE pxrd op

• 資料種類:signal × scalar → table

• 呼叫: import fullseye as fs; fs.ledger.cubic_index(two_theta, wavelength, lattices=('P', 'I', 'F', 'diamond'), tolerance=0.05, n_first=6, max_unindexed=0)(要直接呼叫實作,import pxrd; pxrd.cubic_index(two_theta, wavelength, lattices=('P', 'I', 'F', 'diamond'), tolerance=0.05, n_first=6, max_unindexed=0);從台帳取用則 opsdrive.get("cubic_index"))

用法

依立方晶系為峰標定指數,決定晶格(P / I / F / diamond)與晶格常數 a [Å]。

由於 1/d² = N / a²,將第 1 個峰依允許的 N 由小到大套用 n_first 個來暫定 a,把所有峰分配給最接近的允許 N,以最小平方法逼近 a(分配 → 逼近進行 2 次),只保留計算與觀測 2θ 之差在 tolerance [deg] 以內的候選(若偏離的峰在 max_unindexed 個以內,則排除它們後保留 —— 為了不因混入 1 個雜質或假峰就全部捨棄。排除的峰回傳於 unindexed)。候選之間以 de Wolff 的 M 型品質因數 M = Q_last / (2 ε̄ N_calc)(Q = 1/d²,ε̄ = |ΔQ| 的平均,N_calc = 到最後一條觀測線為止允許的計算線數) 比較 —— P 什麼都能吻合,但計算線多,M 就相應下降。有排除峰的候選以 (指数の付いた割合)⁴ 折減(經驗權重。防止捨棄強峰而逃向計算線少的晶格)。

回傳值(dict): lattice、a、a_sigma(由殘差得到的標準誤差)、two_theta(有指數的峰)、hkl((n, 3))、N、residual_deg(觀測 − 計算)、fom、missing(範圍內允許但觀測中沒有的 N 的 list)、unindexed (排除的峰)、candidates(所有候選的摘要)。若沒有吻合的候選則 lattice = None(不是立方晶、峰認錯)。

Raises ValueError: 峰少於 2 個、非有限、在 (0, 180) 之外,波長非正,晶格名稱拼錯。

參考(範例資料、文獻)

• 範例資料目錄(下載 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.