stroke_tone_error — PRINTPATH stroke op

• Data kinds: image2d × pairs → table

• Call: import fullseye as fs; fs.ledger.stroke_tone_error(image, points, pen_width=1.0, blur_sigma=3.0, gamma=1.0) (to call the implementation directly, import printpath; printpath.stroke_tone_error(image, points, pen_width=1.0, blur_sigma=3.0, gamma=1.0); from the registry, opsprintpath.get("stroke_tone_error"))

Usage

> This operator's description has not been translated yet. The original text follows as it is.

線を引いた結果の濃淡が目標とどれだけ違うか。→ `table`

★これが一筆書きの本当の目的関数。「絵として似ている」を人の目に任せず、

ペン幅で描いて目の尺度にぼかし、目標の暗さと比べて数で返す。

返り値: dict

"rms" / "max_abs" / "bias" —— 暗さの差(`[0, 1]` の尺度)

"corr" —— 目標の暗さと描いた暗さの相関(1 に近いほど濃淡を追えている)

"ink_fraction" —— 紙に乗ったインクの面積率

"target_darkness" —— 目標の平均暗さ(インク率と釣り合うべき量)

"length_px" —— 線の長さ[px]

★ペン幅は連続なノブ(被覆率で塗る)。線が重ならない範囲では

`インク率 ≈ 線長 × ペン幅 / 画像の面積` が成り立つので、目標の濃さに合う

ペン幅を 閉形式で解いてから確かめられる:

`pen_width ≈ target_darkness × area / length_px`。

Detailed usage guide

• printpath family guide

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)

• poc_one_stroke_epicycles — py -3.11 examples/poc_one_stroke_epicycles.py

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

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode

Same category (stroke)

stipple_points_from_image · stipple_energy · stroke_tour_closed · mst_length · stroke_resample_closed


*Provenance: printpath.py — PRINTPATH 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.