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"))
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.
• 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.
• (none yet)
image2d as input)vx_sobel3x3 · vx_magnitude · vx_phase · vx_table_lookup · vx_histogram · vx_nonmax_suppression · vx_warp_affine · vx_warp_perspective
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.