world_parts_with_shadow — SEGMENTATION world op

• Data kinds: none → table (an op determined by its arguments alone — it takes no image or data input)

• Call: import fullseye as fs; fs.ledger.world_parts_with_shadow(seed: 'int' = 0, *, size=(200, 260), n_parts: 'int' = 3, light_angle: 'float' = 35.0, shadow_length: 'float' = 9.0, noise: 'float' = 0.02) -> 'Dict[str, object]' (to call the implementation directly, import segworld; segworld.world_parts_with_shadow(seed: 'int' = 0, *, size=(200, 260), n_parts: 'int' = 3, light_angle: 'float' = 35.0, shadow_length: 'float' = 9.0, noise: 'float' = 0.02) -> 'Dict[str, object]'; from the registry, opssegmentation.get("world_parts_with_shadow"))

Usage

World of industrial parts (rotated rectangles with circular holes) with oblique-lighting shadows, facet shading and highlights (world_parts_with_shadow).

Light is parallel light shining in the direction light_angle (degrees, from the image x axis towards the y axis). Shadow = the part mask shifted by shadow_length in the light direction, minus the parts themselves (holes let the light through). The side of a part's face that faces the light is bright, the far side about as dark as the shadow (the reason a threshold is fooled). Highlights are Gaussians near the edge on the side facing the light.

Returns: image, labels (parts 1..n), shadow (bool), truth = {n_parts, parts (center, w, h, angle, holes), areas (w h − Σ π r²), shadow_offset (dy, dx), shadow_area (measured pixel count), light_angle}.

Detailed usage guide

• halcon_segmentation family guide

Background guides (the physics and conventions behind this op)

• segmentation_scoring_and_worlds — Scoring segmentations and synthetic worlds with ground truth — which metric is blind to which failure

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_active_contours — py -3.11 examples/poc_active_contours.py

• poc_graph_hierarchy_segmentation — py -3.11 examples/poc_graph_hierarchy_segmentation.py

• poc_segmentation_gauntlet — py -3.11 examples/poc_segmentation_gauntlet.py

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

class_ndim_norm

Same category (world)

world_blobs_touching · world_grains_voronoi · world_texture_regions · world_gradient_illumination · world_thin_structures · lens_area · voronoi_cells


*Provenance: segworld.py — SEGMENTATION 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.