halftone_moire_period — PRINTPATH npr op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.halftone_moire_period(lpi_a=60.0, angle_a_deg=45.0, lpi_b=60.0, angle_b_deg=75.0, pixel_um=25.4) (implementation को सीधे call करना हो तो import printpath; printpath.halftone_moire_period(lpi_a=60.0, angle_a_deg=45.0, lpi_b=60.0, angle_b_deg=75.0, pixel_um=25.4), registry से लेना हो तो opsprintpath.get("halftone_moire_period"))

उपयोग

2 halftone screen के बीच का beat — period और दिशा, closed form में।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Each screen is a frequency vector f (cos t, sin t); where two screens overlap the visible moiré is the difference vector, so its period is 1 / |f_a - f_b| and its direction is that of the difference. For equal rulings the magnitude reduces to 2 f sin(dt / 2), which is why the beat period grows without bound as the angle difference goes to zero — two plates at nearly the same angle give a huge, very visible moiré.

★Why this earns its place: the prediction is available before any screen is drawn, and halftone_screen plus an FFT can measure the beat out of the picture. Two independent routes to one number.

Returns a table: period_px, angle_deg, freq_cycles_per_px.

Raises ValueError: non-positive ruling or pitch; two screens that are identical in both ruling and angle (the difference vanishes — there is no beat, and returning inf silently would be worse than saying so).

उपयोग की विस्तृत 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_beats_fringes_and_screens — py -3.11 examples/poc_beats_fringes_and_screens.py

• poc_moire_screen — py -3.11 examples/poc_moire_screen.py

• poc_print_registration — py -3.11 examples/poc_print_registration.py

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

gcode_write · gcode_extrusion_volume · gcode_time_estimate · gcode_layer_image · contours_to_gcode

इसी category के (npr)

halftone_screen · engrave_lines · hatch_field · mosaic_tiles_sites · mosaic_tiles_render


*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.