morph op• Data kinds: image2d × image2d × pairs × pairs → images
• Call: import fullseye as fs; fs.ledger.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True) (to call the implementation directly, import imagemorph; imagemorph.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True); from the registry, opsshape2d.get("morph_sequence"))
Morph sequence with alpha swept 0→1 in n steps (frames that change smoothly from A to B).
Returns: a list of length n. The first matches A, the last matches B.
It simply calls morph(imgA, imgB, ptsA, ptsB, alpha, method, lam, with_corners) for each value of alpha = linspace(0, 1, n). Each frame has 3 stages: (1) build the intermediate points (1-α) ptsA + α ptsB, (2) warp A and B each onto them,
(3) cross-dissolve with α. Each frame does 2 warps, so
the cost is proportional to n (14 warps for n=7).
• imgA, imgB: (H, W[, C]), same shape, [0, 1]. NaN/Inf are silently replaced by 0 / 1.
• ptsA, ptsB: (K, 2) (x, y), corresponding points of same count and order.
• n: 2 or more (1 or less gives ValueError). Truncated to int.
• method: "affine" (Delaunay piecewise affine, fast) / "tps" (thin-plate spline, smooth). Anything else gives ValueError. lam is the TPS smoothing coefficient (0 for exact interpolation).
• with_corners: True adds add_frame_corners to both point sets, preventing holes outside the frame.
• Returns: a list of n float64 arrays (type images). Already clipped to [0, 1].
If you want just 1 image (e.g. the intermediate face at α = 0.5), use morph directly.
• shape_description_2d family guide
• 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.
• image_morph — py -3.11 examples/image_morph.py
images as input)—
morph)add_frame_corners · warp_tps_image · warp_piecewise_affine · blend · morph
*Provenance: imagemorph.py — SHAPE2D 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.