transform op• 데이터 종류: image2d → table
• 호출: import fullseye as fs; fs.ledger.hankel_image(image, *, center=None, spacing: 'float' = 1.0, n: 'int' = 256, r_max: 'float | None' = None) -> 'dict'(구현을 직접 호출하려면 import mathtransforms; mathtransforms.hankel_image(image, *, center=None, spacing: 'float' = 1.0, n: 'int' = 256, r_max: 'float | None' = None) -> 'dict', 원장에서 가져오려면 opsmath.get("hankel_image"))
축대칭 영상(둥근 개구·가우스 덩어리·회절 고리)의 2차원 푸리에 변환을 동경 방향 1개의 Hankel 변환으로 구한다.
영상을 중심으로부터의 거리로 1화소 폭의 고리로 나누어 평균하고(동경 분포), hankel_transform(0차)에 넣는다. 축대칭이면 2차원 변환이 1개의 적분으로 끝나며(고리로 평균하므로 잡음도 1/√(고리의 화소 수)로 줄어든다), 축대칭에서얼마나 벗어나 있는지(asymmetry)를 수치로 반환한다. 주파수 스텝은 2-D FFT와 마찬가지로 1/(2·반경) 정도이며, 더 세밀해지지 않는다.
Args:
image: 2-D 실수 영상.
center: 중심 (행, 열). 생략하면 밝기의 무게중심.
spacing: 1화소의 길이(주파수의 단위를 정한다).
n: Hankel 변환의 표본 수.
r_max: 사용할 반경의 상한(기본값 = 중심에서 영상 가장자리까지의 최단 거리. 모서리가 잘린 고리는 사용하지 않는다).
Returns:
nu(주파수), F(2-D 푸리에 변환의 동경 단면, ∬ f e^{−2πi k·x} dx의 값), r, profile(동경 분포),
center, asymmetry = ‖영상 − 분포로부터 다시 만든 축대칭 영상‖ / ‖영상‖(0이면 축대칭. 어두운 배경으로 희석되지 않는다).
게이트: 반경 R의 원판은 F(ν) = R J₁(2πνR)/ν(Airy), exp(−π r²/σ²)는 σ² exp(−π σ² ν²)(자기 쌍대의 확대), 2-D FFT의 동경 단면과 일치.
mathops 의 모든 연산자는 입력을 검증한 뒤에 계산합니다(조용히 통과시키지 않습니다):
• complex 입력은 ValueError —— float64 로의 강제 변환은 허수부를 조용히 버립니다(numpy 는 ComplexWarning 만 내고 「그럴듯하게 틀린」 실수를 돌려줍니다). .real/.imag/abs() 를 명시하거나 복소수를 다루는 complexops 를 쓰세요.
• masked 요소가 있는 masked array 는 ValueError —— 마스크를 벗겨 아래 원값을 쓰는 암묵 변환을 거부합니다. 채울지 버릴지를 명시하세요.
• NaN/Inf 는 모든 입력에서 ValueError(개수를 명시하고 거부 —— 결과 전체로 전파되므로).
• 형상은 엄격: 1-D 와 2-D 를 암묵적으로 승격·브로드캐스트하지 않습니다(vector 슬롯에 matrix, matrix 슬롯에 vector 는 ValueError. reshape 를 명시하세요).
• 크기 상한: 행렬을 받는 연산자와 stat_histogram 의 bins 는 mathops.MAX_ELEMENTS(2^26 ≈ 6700 만 요소)를 넘으면 ValueError.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• transforms_tour — py -3.11 examples/transforms_tour.py
table 를 입력으로 받는 것)dynsys_poincare_section · dwt_inverse · chebyshev_eval_nd
transform)abel_transform · abel_inverse · abel_inverse_image · abel_revolve · hankel_transform · tf_poles_zeros · tf_freq_response · tf_impulse_response
*Provenance: mathtransforms.py — MATH 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.