refine op• 데이터 종류: score × position → position
• 호출: import fullseye as fs; fs.ledger.refine_peak_newton(score, idx, device='cpu', max_iter=12, tol=0.0001)(구현을 직접 호출하려면 import match3d; match3d.refine_peak_newton(score, idx, device='cpu', max_iter=12, tol=0.0001), 원장에서 가져오려면 ops3d.get("refine_peak_newton"))
• 원장 경유의 반환값: fullseye.ledger.refine_peak_newton(...) 는 선언된 out 형 position 의 값만 반환합니다(실제 함수는 보조 정보도 반환). 버려진 쪽이 필요하면 fullseye.ledger.refine_peak_newton.raw(...) 를 쓰거나 match3d.refine_peak_newton 를 직접 호출하세요.
• GPU: 이 연산자는 GPU 경로가 있습니다(device="cuda")
스코어/상관 volume 의 정수 피크를 3D Newton 으로 서브복셀 정련(반복 최적화).
대략적 매치(정수 NCC / Fourier-Mellin ±3° / Hough ±0.5voxel)가 반환하는 정수 피크 idx를, 국소 2차 모델 f(x)≈f0+gᵀΔ+½ΔᵀHΔ의 정류점 Δ=-H⁻¹g로 반복 갱신하여 연속 좌표로 수렴시킨다. 축별 포물선 서브픽셀과 달리 전체 3x3 Hessian(교차 곡률 fzy,fzx,fyx 포함)을 쓰므로, 회전된(상호 곡률이 있는) 이방성 피크에서도 좌표축 간의 결합 바이어스를 제거할 수 있다.
각 반복: 현재 위치 주변의 27 근방을 trilinear로 취득 → 중심 차분으로 기울기 g와 6성분 Hessian H를구성, Δ=solve(H,-g). 각 성분을 ±1 voxel로 클립(신뢰 영역)하여 위치를 갱신, |Δ|<tol로 수렴. 가우스 산에서는 중심 차분 기울기의 영점이 참 피크와 일치하므로 정류점으로 수렴한다(단일 스텝으로는 2차 모델 오차가 남아 ±0.05voxel을 밑돌지 못하지만, 반복으로 ~0.02voxel까지 수렴). H가 음의 정부호가 아닌(=극대가 아닌) real한 상관면에서는 상승 방향으로 물러나(기울기 상승 스텝) 발산을 막는다.
score : array_like 또는 torch.Tensor
3D 점수/상관 volume (D,H,W). 값이 클수록 피크.
idx : tuple[int,int,int]
정수 피크 좌표 (z,y,x)(보통 argmax의 unravel 결과).
device : str
"cpu" / "cuda". torch 연산의 device.
max_iter : int
최대 반복 횟수(기본값 12).
tol : float
수렴 판정(갱신량 L2 노름, 기본값 1e-4).
numpy.ndarray
[score_peak, z, y, x] (정밀화 후). score_peak은 정밀화 위치에서의 trilinear 보간 점수.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• refinement — py -3.11 examples_3d/refinement.py
position 를 입력으로 받는 것)refine_translation_lk · refine_lm · fuse_to_voxel
refine)refine_translation_lk · refine_lm · refine_rotation_z · icp_point2point_3d · icp_point2plane
*Provenance: match3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.