xg_orientation — 2D xldgeom op

Data kinds: contourfeature

Call: fullseye.apply(img, "xg_orientation", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

HALCON equivalent: orientation_points_xld (the HALCON reference is a useful guide to its meaning and parameters)

Usage

Principal-axis orientation in degrees, folded to [0,180) and /180 scaled.

Angle is measured from the +x (column) axis; multiply the result by 180 to

recover degrees. Line orientation is defined mod 180, so a line at theta and

theta+180 map to the same value.

Discontinuity (inherent, documented): a line orientation lives on a circle of

180 degrees, and this op unrolls it to [0, 1), so the wrap sits at HORIZONTAL —

a line tilted +0.001 deg returns ~0.0 while -0.001 deg returns ~0.9999. Any

single-scalar unrolling has a seam somewhere; callers that need continuity

across horizontal should compare orientations on the doubled angle

(cos 2*theta, sin 2*theta) or take the difference mod 1. The closing point of a

closed contour is not double-counted in the PCA.

Detailed usage guide

gallery2d_geometry family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

gallery2d_geometrypy -3.11 examples/gallery2d_geometry.py

Ops the type connects to (they accept feature as input)

identity

Same category (xldgeom)

xg_moments · xg_area_center · xg_eccentricity · xg_elliptic_axis · xg_height_width_ratio · xg_regress_contours · xg_clip_contours · xg_gen_polygons


*Provenance: ops.py — 2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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