diffraction_peaks — DRIVE 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-D の回折プロファイルから山を拾い、ガウス + 直線の局所の当てはめで位置・高さ・FWHM・面積を出す。

手順: 窓 `baseline_window` [deg] (既定 = 範囲の 4 %)の転がり最小 → 転がり平均で背景を作り、背景を引いた値の

局所の最大のうち `min_snr × 雑音を超えるものを候補にする(雑音は間隔 1〜8 の差分の MAD の最大から。noise` に

数か、:func:azimuthal_integrate の `sigma` のようなビンごとの配列を渡してもよい —— 中心の近くや隅のように画素の

少ないビンの揺れを山と取り違えないためには配列が要る)。各候補の半値幅を目で測る代わりに半値の交点で見積もり、隣の候補との中点で切った窓でガウス + 直線を

`scipy.optimize.least_squares で当てる。重なった山は窓が切られるぶん偏る(分けたいなら :func:phase_fractions`)。

返り値(dict): `two_theta・height・fwhm [deg]・area・snr・fit_ok`(当てはめが収束し窓の中に

収まったか)、`noise、baseline`(格子と同じ長さ)。山が無ければ長さ 0 の配列(空 = 失敗ではない)。

Raises ValueError: 長さの不一致・非有限・2θ が増えない、`min_snr <= 0`。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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