plane_sweep_stereo op• Data kinds: image2d → image2d
• Call: import fullseye as fs; fs.ledger.warp_by_plane(img: 'np.ndarray', H: 'np.ndarray', order: 'int' = 1, cval: 'float' = nan) -> 'np.ndarray' (to call the implementation directly, import plane_sweep; plane_sweep.warp_by_plane(img: 'np.ndarray', H: 'np.ndarray', order: 'int' = 1, cval: 'float' = nan) -> 'np.ndarray'; from the registry, ops3d.get("warp_by_plane"))
Inverse-warp img by the homography H. → out[y,x] = img(H·(x,y,1)) (bilinear).
H maps output (ref) pixels → input (src) pixels. Outside the field of view gets cval (default NaN).
For each output pixel (x=column, y=row), computes q = H @ (x, y, 1) and (sx, sy) = (q0/q2, q1/q2), and fills it by interpolating the input image at (row sy, column sx) with scipy.ndimage.map_coordinates (an inverse warp, so no holes appear). The output has the same shape (h,w) as the input. Passing the H returned by plane_homography in the same module (ref pixel → src pixel) as is gives "src brought to the ref viewpoint".
• img: (H,W) 2-D grayscale (converted to float). Empty or non-2-D raises ValueError.
• H: anything other than (3,3) raises ValueError.
• order: interpolation order (default 1 = bilinear). It is called with prefilter=False, so specifying 2 or more gives an approximation that skips the spline prefilter (leaning toward smoothing).
• cval: value put into pixels that map outside the input and into pixels with |q2| < 1e-12 (sent to infinity). The default is NaN, so downstream np.isfinite can tell apart "pixels with no correspondence".
plane_sweep_depth warps src with this function for each candidate depth and uses |I_ref - warp(I_src)| as the photo-consistency cost.
• depth_sensors — Depth sensors — ranging principles, real-device figures, how dropouts appear
• 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.
• motion_scene — py -3.11 examples_3d/motion_scene.py
image2d as input)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
plane_sweep_stereo)*Provenance: plane_sweep.py — 3D 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.