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) (implementation को सीधे call करना हो तो import printpath; printpath.stroke_tone_error(image, points, pen_width=1.0, blur_sigma=3.0, gamma=1.0), registry से लेना हो तो opsprintpath.get("stroke_tone_error"))

उपयोग

line खींचने से बना tone लक्ष्य से कितना अलग है। → table

★यही single-stroke drawing का असली objective function है। "तस्वीर जैसा दिखता है" को इंसानी आँख पर छोड़ने के बजाय, pen width से बनाकर, आँख के scale पर blur करके, target darkness से तुलना करके संख्या लौटाई जाती है।

return value: dict

"rms" / "max_abs" / "bias" -- darkness का अंतर ([0, 1] scale पर)

"corr" -- target darkness और बनाई गई darkness का correlation (1 के जितना क़रीब, tone उतना अच्छे से follow हो रहा है)

"ink_fraction" -- काग़ज़ पर ink का area fraction

"target_darkness" -- target की औसत darkness (वह मात्रा जिसके बराबर ink fraction होना चाहिए)

"length_px" -- line की लंबाई [px]

★pen width एक continuous knob है (coverage से रंगा जाता है)। जहाँ lines overlap नहीं करतीं वहाँ ink fraction ≈ line length × pen width / image area लागू होता है, इसलिए target darkness से मेल खाने वाली pen width को पहले closed form में हल करके फिर जाँचा जा सकता है:

pen_width ≈ target_darkness × area / length_px।

उपयोग की विस्तृत guide

• printpath family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_one_stroke_epicycles — py -3.11 examples/poc_one_stroke_epicycles.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode

इसी category के (stroke)

stipple_points_from_image · stipple_energy · stroke_tour_closed · mst_length · stroke_resample_closed


*Provenance: printpath.py — PRINTPATH operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.