patch_features — SPC anomaly_patch op

• Data kinds: image2d → table

• Call: import fullseye as fs; fs.ledger.patch_features(image, patch=8, stride=4, scales=(1.0, 2.0, 4.0), groups=('gradient', 'gabor', 'lbp'), n_orient=4) (to call the implementation directly, import anomaly_patch; anomaly_patch.patch_features(image, patch=8, stride=4, scales=(1.0, 2.0, 4.0), groups=('gradient', 'gabor', 'lbp'), n_orient=4); from the registry, opsspc.get("patch_features"))

Usage

Classical patch features on a grid: one D-vector per patch (table).

image is (H, W) or (H, W, 3). Pixel channels are computed at every Gaussian scale in scales (sigma, px) and averaged over patch x patch windows every stride px:

intensity (smoothed mean), gradient (Gaussian-derivative magnitude and the doubled-angle components |g|cos2t, |g|sin2t: the structure tensor), gabor (zero-mean Gabor energy, wavelength 4 sigma, n_orient orientations), lbp (histogram of the 10 rotation-invariant uniform local binary patterns, radius = round(sigma)), color (red-green and yellow-blue opponents, needs a colour image). fourier is computed on the raw patches, not per scale: the log share of a Hann-windowed patch's spectrum in three radial bands. Returns features (gh, gw, D), names (D), grid (gh, gw), dim and the parameters.

Raises ValueError on an empty / non-finite / wrongly shaped image, an image smaller than patch, unknown groups, or color on a gray image.

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_patch_anomaly — py -3.11 examples/poc_patch_anomaly.py

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

msa_anova_table · msa_gauge_rr · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo

Same category (anomaly_patch)

patchdist_fit · patchdist_score · patchbank_fit · patchbank_score


*Provenance: anomaly_patch.py — SPC 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.