npr opimage2d → pairsimport fullseye as fs; fs.ledger.mosaic_tiles_sites(image, n_tiles=400, iterations=12, seed=0, weighted=True) (実装を直接呼ぶなら import printpath; printpath.mosaic_tiles_sites(image, n_tiles=400, iterations=12, seed=0, weighted=True)、台帳から引くなら opsprintpath.get("mosaic_tiles_sites"))Lloyd’s iteration on an image — the tile centres of a mosaic.
Places n_tiles sites and moves each to the centroid of the pixels it owns, weighted by local contrast when weighted (so detail gets smaller tiles).
★Why this earns its place: Lloyd’s iteration is a descent — the
quantisation energy cannot increase — and that is a property of the algorithm,
not of the picture. The energy is not reported here on purpose: the existing
stipple_energy measures it from the sites, so the monotonicity can be
checked by an op that did not produce them. Measuring your own descent with
your own number proves nothing.
Returns pairs: the site coordinates (row, col).
Raises ValueError: fewer than 4 tiles or more tiles than pixels;
negative iterations; a non-finite or oversized image.
py -3.11 examples/poc_beats_fringes_and_screens.pypairs を入力に取れる)stipple_energy · stroke_tour_closed · mst_length · stroke_resample_closed · stroke_tone_error · mosaic_tiles_render
npr)halftone_screen · halftone_moire_period · engrave_lines · hatch_field · mosaic_tiles_render
Provenance: printpath.py — PRINTPATH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.