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 같은 빈별 배열을 넘겨도 된다 —— 중심 근처나 구석처럼 화소가적은 빈의 흔들림을 봉우리로 착각하지 않으려면 배열이 필요하다). 각 후보의 반치폭을 눈으로 재는 대신 반치 교차점으로 추정하고, 이웃 후보와의 중점에서 자른 창에서 가우스 + 직선을 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.
• 샘플 데이터 카탈로그(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.