superpixel_color_texture_features — SEGMENTATION plant op

• Data kinds: rgbimage × labels2d → table

• Call: import fullseye as fs; fs.ledger.superpixel_color_texture_features(rgb, labels, *, dark_floor: 'float' = 0.02, texture_sigma: 'float' = 1.0, min_size: 'int' = 4) -> 'Dict[str, object]' (to call the implementation directly, import cropweed; cropweed.superpixel_color_texture_features(rgb, labels, *, dark_floor: 'float' = 0.02, texture_sigma: 'float' = 1.0, min_size: 'int' = 4) -> 'Dict[str, object]'; from the registry, opssegmentation.get("superpixel_color_texture_features"))

Usage

Ten colour (plant indices, chromaticity) and texture (gradient, orientation coherence) features for every region of a label image.

rgb is (H, W, 3) (same rules as plant_color_index); labels is an integer image of the same size (0 = ignore, 1 and up = regions; superpixels or a grid both work). Columns follow FEATURE_NAMES:

means of ExG, ExGR and CIVE, means of chromaticity r and g, mean and standard deviation of brightness (mean of RGB), mean magnitude of the Gaussian gradient of brightness (σ = texture_sigma), structure-tensor orientation coherence coherence = √((Jxx − Jyy)² + 4Jxy²)/(Jxx + Jyy) (tensor summed over the region; 1 = one direction, 0 = isotropic), standard deviation of ExG. Colour features average only pixels at least as bright as dark_floor. Regions with fewer than min_size pixels, and regions with no pixel whose chromaticity is defined, get no row and are listed in dropped_ids with a reason (the mean is not filled with 0 or NaN).

Returns: X (N, 10), names, ids (region number per row), sizes, centroids ((N, 2) [row, col]), dropped_ids, texture_sigma. Empty input, shape mismatch, negative labels and zero remaining regions raise ValueError.

Detailed usage guide

• halcon_segmentation family guide

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_weed_rice_ratio — py -3.11 examples/poc_weed_rice_ratio.py

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

class_ndim_norm · fisher_lda_score

Same category (plant)

plant_color_index · cover_ratio_grade


*Provenance: cropweed.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.