sun_bloom_fit — GEOCAM sun op

• 데이터 종류: image2d → table

• 호출: import fullseye as fs; fs.ledger.sun_bloom_fit(image, threshold=0.97, ignore_top_rows=0, min_area=30, max_area_frac=0.15, min_rim_fraction=0.3)(구현을 직접 호출하려면 import geocam; geocam.sun_bloom_fit(image, threshold=0.97, ignore_top_rows=0, min_area=30, max_area_frac=0.15, min_rim_fraction=0.3), 원장에서 가져오려면 opsgeocam.get("sun_bloom_fit"))

사용법

실사 속 태양 = 센서를 포화시키는 블룸(원반보다 크고, 노출에 따라 크기가 바뀌며, 영상 가장자리나 문자 띠에 잘린다). 가장 큰 포화 덩어리의 가장자리에 원을 피팅하여 중심을 반환한다 → table. 무게중심은 덩어리가 잘리면 잘린 쪽의 반대로 치우치므로(실측 15 px), 잘린 가장자리(영상 외곽과 ignore_top_rows 띠에 닿는 화소)를 버리고 남은 호에 대수적 최소제곱(Kåsa 1976)으로 원을 피팅한다.

sun_pixel_position 은 "꽉 찬 작은 원반"을 전제로 한 합성용 게이트로, 실사 도로 카메라에서는 국명의 흰글자·표지·흰 차를 태양으로 읽는다(Fintraffic 기상 카메라에서 24/24 가 오검출, 2026-09-21). 이 op 는 태양이라고 정하지 않는다:

원의 중심과 반지름·잔차·잘림의 유무를 반환하고, 태양인지 아닌지는 시각대로 움직이는지로 정한다(camera_orientation_from_sun_candidates).

Args:

image: (H, W) float, 0~1.

threshold: 포화로 간주하는 절댓값.

ignore_top_rows: 위쪽 끝의 몇 행을 무시할지(국명 등 글자의 띠).

min_area: 덩어리의 최소 화소 수.

max_area_frac: 덩어리의 최대 면적(영상에 대한 비)—— 하늘 전체가 날아간 사진을 거부한다.

min_rim_fraction: 잘리지 않은 가장자리가 원주의 몇 할 이상 필요한지(이 미만은 "너무 잘림"으로 ValueError).

Returns:

table: u / v(원의 중심)/ r(반지름 px)/ rms_px(가장자리의 반지름 잔차)/ area(덩어리의 화소 수)/

clipped(1 = 가장자리의 어딘가가 잘려 있다)/ rim_fraction / centroid_u / centroid_v(비교용 무게중심).

자세한 사용 가이드

• geocam 패밀리 가이드

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

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• (아직 없음)

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

render_skyline_view · camera_orientation_from_skyline

같은 카테고리(sun)

sun_position · sun_pixel_position · camera_orientation_from_sun · camera_orientation_from_sun_candidates


*Provenance: geocam.py — GEOCAM 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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