cut_surface_roughness — DRIVE cutting op

• Data kinds: rgb × scalar × scalar × signal → table

• Call: import fullseye as fs; fs.ledger.cut_surface_roughness(image, px_per_mm: 'float', board_row: 'float', z_band, n_sampling: 'int' = 5) -> 'dict' (to call the implementation directly, import cutting; cutting.cut_surface_roughness(image, px_per_mm: 'float', board_row: 'float', z_band, n_sampling: 'int' = 5) -> 'dict'; from the registry, opsdrive.get("cut_surface_roughness"))

Usage

Treats the silhouette of the end face after cutting (subpixel per row) as a profile, fits a least-squares line and outputs ISO 4287 parameters (µm).

The parameters call roughness.profile_params (Ra / Rq / Rz / Rt …) as is. The profile is averaged over a row height of 1 px, so sinusoidal relief is attenuated by the box-shaped closed form sinc(πΔ/λ) (Δ = 1 px). Even a flat surface leaves a measurement floor (Rq due to noise and texture), so subtract the floor in quadrature when comparing. Rz is pulled by noise peaks (handling the floor is meaningful only for Rq). Return value: profile_um (per-row deviation), z_mm, params, dz_um (sampling interval), n_rows.

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_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py

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

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Same category (cutting)

cutting_scene · cutting_face_render · cutting_edge_render · cutting_episode_synth · cutting_wrist_mjcf · knife_edge_track · cut_depth_from_side · slice_thickness_profile


*Provenance: cutting.py — DRIVE 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.