tb_cplx_cr_residual — 2D typed op

데이터 종류: cimagefeature

호출: fullseye.apply(img, "tb_cplx_cr_residual", a=0.5, b=0.5)(2-D 는 이미지 1 장 + 스칼라 노브 2 개 a,b∈[0,1] 모델)

*그림 없음: 이 연산자는 cimage를 입력으로 받습니다. 이미지에서 시작하는 Studio 프로그램으로는 그 타입에 닿지 않으므로 아래의 실행 가능한 예제를 보세요.*

사용법

표본화된 복소수 장의 코시-리만 잔차 — "이 장은 정칙(holomorphic)인가?"를 하나의 수치로 나타낸 것.

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

With `f = u + i v` sampled on a uniform grid, holomorphy means

`u_x = v_y and u_y = -v_x` (Cauchy-Riemann). This returns the

relative residual `max(|u_x - v_y|, |u_y + v_x|) / max|grad|`

(central differences, `numpy.gradient): 0` = the samples satisfy CR to

the discretisation limit, `2` = the field is the conjugate of a

holomorphic one (`conj(z)` gives exactly 2), values in between = partly

analytic or noisy.

Grid convention (it decides the sign of the answer): `f[i, j]` is the

field at `z = x0 + j*spacing + i*spacing*1j` — rows index the *increasing

imaginary* axis, columns the real axis. Image arrays usually run rows

*downward*; feeding one directly measures the conjugate field, whose

residual is `2, not 0. Flip rows (f[::-1]`) to use image data.

Discretisation, honestly: central differences are exact for polynomials of

degree <= 2, so `f = z**2` returns exactly 0; for higher order the

residual floors at `O(h^2 * |f'''|) (measured: f = z**3` on a

`[-1,1]^2 grid returns 1.7e-3 at h` and 4.2e-4 at

`h/2` — a factor 4.00, the expected second order). Read a

small value as "consistent with holomorphic at this resolution", never as

proof.

A constant field returns `0.0 (it is holomorphic; the 0/0` of the

normalisation is resolved by that limit, and stated here rather than left

to numpy).

Raises `ValueError`: not a 2-D array, either dimension below 3 (no

central difference exists), non-finite/masked input, over-cap size,

non-finite or non-positive *spacing*.

HALCON: no operator (`derivate_gauss` supplies the real-valued

derivatives one would build this from).

Typed bridge of the math op `cplx_cr_residual into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. a drives spacing (default 1); b` is unused.

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

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

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

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

• (아직 없음)

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

identity

같은 카테고리(typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_angle_3points · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal


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

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