keypoints_from_image2d — REPRCONV keypoint op

• Data kinds: image2d → keypoints

• Call: import fullseye as fs; fs.ledger.keypoints_from_image2d(image2d, threshold=0.0) (to call the implementation directly, import reprconv; reprconv.keypoints_from_image2d(image2d, threshold=0.0); from the registry, opsreprconv.get("keypoints_from_image2d"))

Usage

A count/response image (H, W) → image coordinates (N,2) = (u, v). The way back of the round trip.

Splits the pixels > threshold into connected components with 8-neighbourhood and returns the intensity-weighted centroid of each component. It is weighted so that for response images that still hold subpixel information (correlation peaks etc.) the round-trip error can be brought below quantisation.

Note that the 8-neighbourhood connectivity is the main culprit of loss: 2 points that land on adjacent pixels fuse into 1 component, and the centroid moves to the midpoint of the 2 points. selftest measures "quantisation error of well-separated points only" and "overall including fusion" separately (mixing them would make comparison with the theoretical quantisation value 0.2887 px impossible).

Args:

image2d: (H, W) real image.

threshold: only pixels exceeding this value are picked up.

Returns:

(N, 2) float64 (u, v). Row order is the label order of scipy.ndimage.label.

Raises:

ValueError: not 2-D / non-finite / not even 1 pixel exceeds the threshold.

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)

• representation_roundtrip — py -3.11 examples/representation_roundtrip.py

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

keypoints_uv_to_points · keypoints_to_image2d

Same category (keypoint)

keypoints_uv_to_points · points_zyx_to_keypoints_uv · keypoints_to_image2d · position_to_points · points_to_position


*Provenance: reprconv.py — REPRCONV 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.