hatch_field — PRINTPATH npr op

• Datenarten: image2d → image2d

• Aufruf: import fullseye as fs; fs.ledger.hatch_field(image, spacing_px=8.0, sigma=2.0, levels=3, cross_deg=90.0) (die Implementierung direkt: import printpath; printpath.hatch_field(image, spacing_px=8.0, sigma=2.0, levels=3, cross_deg=90.0); aus dem Register: opsprintpath.get("hatch_field"))

Verwendung

Kreuzschraffur, die dem Bild folgt — die Richtung kommt vom Strukturtensor.

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

The stroke direction is the local structure orientation (the existing

`structure_tensor_orientation`: strokes run *along* edges, not across them),

and the number of superposed hatch layers comes from the tone — one layer for

a light grey, up to *levels* for a dark one, each rotated by *cross_deg*.

★Why this earns its place: the direction is checkable against a picture

whose orientation is known by construction (a sine grating at 30° must give

strokes at 30°), and the tone is checkable by blurring the result. The usual

NPR routine offers neither.

Returns an `image2d`: 1 = paper, 0 = ink.

Raises `ValueError`: spacing below 2 px; levels below 1; non-positive

sigma; a non-finite or oversized image.

Limits: a single orientation per pixel, so crossings and junctions (where the

structure tensor is isotropic) get an arbitrary but locally smooth direction —

the coherence, not the orientation, is what says whether to trust it.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie printpath

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_beats_fringes_and_screens — py -3.11 examples/poc_beats_fringes_and_screens.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

stipple_points_from_image · stipple_energy · stroke_tone_error · halftone_screen · engrave_lines · mosaic_tiles_sites · mosaic_tiles_render · print_layer_defect_map

Gleiche Kategorie (npr)

halftone_screen · halftone_moire_period · engrave_lines · mosaic_tiles_sites · mosaic_tiles_render


*Provenance: printpath.py — PRINTPATH Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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