image op• 数据种类:image2d × image2d → table
• 调用: import fullseye as fs; fs.ledger.harmonic_rotation(image, reference, orders=(3, 4, 5), rings=((14, 24), (30, 40), (46, 56)), center=None, tol=0.05) -> 'dict'(要直接调用实现,import residue; residue.harmonic_rotation(image, reference, orders=(3, 4, 5), rings=((14, 24), (30, 40), (46, 56)), center=None, tol=0.05) -> 'dict';从台账取用则 opsresidue.get("harmonic_rotation"))
求 image 相对于 reference 的平面内绝对旋转角(360° 范围)-> dict。
> 以下的详细说明为原文 —— 摘要与标题已翻译。
A feature with n-fold symmetry (n lobes, n holes, n slots) tells the rotation only modulo 360/n degrees: its order-n circular harmonic has phase n*theta. Features of several orders, each ambiguous alone, fix theta uniquely whenever the orders have no common divisor (3 and 4: 360 / gcd = 360). This op samples each annulus rings[i] (radii in px around center, default the image centre), takes the order orders[i] angular Fourier coefficient of image and reference, and solves the angle by residue_crt with the coefficient amplitudes as weights.
Returns {"angle_deg", "per_order_deg", "residual_deg", "margin", "suspect", "amplitude"}. angle_deg is counter-clockwise on screen (rows down) — the convention of scipy.ndimage.rotate — in [0, 360). suspect is the index of the ring whose residual is worst relative to its period (or -1 if all are within tol) — a smudged, occluded or broken feature shows up there before it corrupts the angle. With >= 3 orders and only one corrupted, residue_fault_locate gives a hard decision; this op keeps the soft one.
Rotate greyscale images (interpolate, then threshold if needed): rotating a binary mask with nearest-neighbour sampling roughens the edges and biases the harmonics.
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_residue_crt — py -3.11 examples/poc_residue_crt.py
table 作为输入)—
image)*Provenance: residue.py — RESIDUE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.