fidelity op• 데이터 종류: image2d × image2d → image2d
• 호출: import fullseye as fs; fs.ledger.ssim_map(a, b, data_range=None, win_size=11, sigma=1.5, K1=0.01, K2=0.03, channel_axis=None, crop_border=True)(구현을 직접 호출하려면 import imgmetrics; imgmetrics.ssim_map(a, b, data_range=None, win_size=11, sigma=1.5, K1=0.01, K2=0.03, channel_axis=None, crop_border=True), 원장에서 가져오려면 opsimgmetrics.get("ssim_map"))
SSIM 의 맵(평균 내기 전). 어디가 다른지를 그림으로 보기 위한 것.
channel_axis를 지정하면 채널별로 계산하고, 그 평균 맵을 반환한다.
계산: 국소 평균 mu와 분산, 공분산을, 폭 win_size로 자른 σ = sigma의가우시안 창(경계는 거울상)으로 구하고, 화소별로 ((2 mu_a mu_b + C1)(2 s_ab + C2)) / ((mu_a^2 + mu_b^2 + C1)(s_a + s_b + C2)). C1 = (K1 dr)^2, C2 = (K2 dr)^2, dr은 data_range. 분산은 모분산(n/(n-1) 보정 없음). 이 평균이 ssim.
• data_range: 정수 dtype은 자동, float는 [0, 1]일 때만 1.0으로 추정하고, 그 외에는 명시 필수(data_range_of의 계약, 벗어나면 MetricContractError).
• win_size: 3 이상의 홀수. 각 공간 축은 이 이상의 길이가 필요.
• crop_border=True(기본값)는 창 반지름 (win_size-1)//2만큼의 가장자리를 빼므로, 반환값은 (H - 2p, W - 2p). 뺀 뒤에 아무것도 남지 않는 작은 영상은 예외. False이면 입력과 같은 형태지만, 가장자리는 거울상 채우기의 영향을 포함한다.
• 반환값: float64 맵. 1이 국소적으로 일치, 음수도 될 수 있다(구조가 반전).
• 실패: 형태 불일치 / 비어 있음 / 비유한 / sigma <= 0 / 짝수이거나 3 미만인 win_size.
• image_difference_metrics 패밀리 가이드
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• image_quality_metrics — py -3.11 examples/image_quality_metrics.py
• poc_iqa_tid2013 — py -3.11 examples/poc_iqa_tid2013.py
image2d 를 입력으로 받는 것)mse · rmse · psnr · ssim · ms_ssim · image_entropy · joint_entropy · mutual_information
fidelity)mse · rmse · psnr · ssim · ms_ssim
*Provenance: imgmetrics.py — IMGMETRICS 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.