tb_keypoints_uv_to_points — 2D typed op

Data kinds: keypointspoints

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

*No figure: this op takes keypoints as input. A Studio program starting from an image cannot reach that type — see the runnable examples below for how it is used.*

Usage

Image coordinates `(N,2) = (u, v) -> point cloud (N,3) = (z, y, x). An exit of keypoints`.

> The detailed description below is the original text — the summary and the headings are translated.

op 名に軸の約束が書いてあるのは、この repo で `keypoints` を産む

`match3d.project_points が **(u, v) = (列, 行)** を返し、points` を産む

`fuse3d.to_points(voxel)` が (z, y, x) を返すから —— 素直に「先頭 2 列」

として繋ぐと例外も NaN も出ないまま行と列が入れ替わる。ここでは

`y = vx = u` と明示的に入れ替えて渡す。

:func:points_zyx_to_keypoints_uv と往復して bit 一致(z を渡した向き)。

Args:

keypoints: (N, 2) の (u, v)。

z: 載せる平面の z(スカラ、または (N,) の配列)。

Returns:

(N, 3) float64 の (z, y, x)。

Raises:

ValueError: 形状不正 / 非有限 / z の長さ不一致。

2-D 進化レジストリへ橋渡しした reprconv の op `keypoints_uv_to_points。実装は同じで、呼び出し規約だけ op(v, a, b) に合わせてある。この op に調整点は無く、ab` も使われない。

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.

Runnable examples (verified samples that actually call this op)

• (none yet)

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

identity · 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

Same category (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 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.