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.