vx_nonlinear_filter — VX filter op

• Data kinds: image2d × matrix → image2d

• Call: import fullseye as fs; fs.ledger.vx_nonlinear_filter(image, mask, *, function, border, constant_value=0, origin=None) (to call the implementation directly, import vxcore; vxcore.vx_nonlinear_filter(image, mask, *, function, border, constant_value=0, origin=None); from the registry, opsvx.get("vx_nonlinear_filter"))

Usage

Nonlinear filter (Section 3.38): median / minimum (erosion) / maximum (dilation) of the values of the pixels where the mask is true (REQ-0325, 0330).

*function*: "median" / "min" / "max" (vx_non_linear_filter_e). *mask*: a 2-D bool (any of BOX / CROSS / DISK / OTHER works). *origin*: origin of the mask (row, column) (VX_MATRIX_ORIGIN, default is the centre (rows // 2, cols // 2)). *border* (required): "replicate" / "constant" / "undefined" (the edges are filled with 0 for the computation -- the value is undefined by the specification). ★ The median for a mask with an even pixel count is not in the specification -- the n // 2-th in ascending order is taken (the upper median, same as scipy's median_filter).

REQ-0327: masks up to 9×9 must be handled (this implementation has no upper limit).

Raises ValueError: not a 2-D U8 / function not in the list / mask is not a 2-D bool, or empty / origin is outside the mask.

Detailed usage guide

• openvx_ports 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)

• (none yet)

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

vx_sobel3x3 · vx_magnitude · vx_phase · vx_table_lookup · vx_histogram · vx_nonmax_suppression · vx_warp_affine · vx_warp_perspective

Same category (filter)

—


*Provenance: vxcore.py — VX 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.