Skip to content

feat(enhanced-vision): implement BilateralFilter kernel#37

Open
simonCatBot wants to merge 1 commit into
kiritigowda:mainfrom
simonCatBot:feat/bilateral-filter
Open

feat(enhanced-vision): implement BilateralFilter kernel#37
simonCatBot wants to merge 1 commit into
kiritigowda:mainfrom
simonCatBot:feat/bilateral-filter

Conversation

@simonCatBot
Copy link
Copy Markdown
Collaborator

Summary

Implements the BilateralFilter kernel for the OpenVX Enhanced Vision feature set.

Changes

  • vxu_bilateral_filter_impl in openvx-core/src/vxu_impl.rs — spatial + range Gaussian filter for U8 and S16 (Q78) tensors
  • vxBilateralFilterNode / vxuBilateralFilter in openvx-core/src/unified_c_api.rs — node constructor + immediate-mode wrapper
  • Register kernel org.khronos.openvx.bilateral_filter (enum 0x38, 5 params) in openvx-core/src/c_api.rs
  • Add dispatch case and output param tracking in openvx-core/src/unified_c_api.rs
  • Add read_scalar_i32 / read_scalar_f32 helper fns for scalar reading in dispatch

Testing

  • cargo build ✅ compiles clean (12 pre-existing warnings only)
  • cargo test ✅ no regressions (pre-existing warp_affine failure unrelated)

Coverage impact

  • vxBilateralFilterNode / vxuBilateralFilter — previously ev_node_stub! / ev_vxu_stub! returning NULL / NOT_IMPLEMENTED
  • CTS: OpenVX-cts/test_conformance/test_bilateralfilter.c

Part of P3 Enhanced Vision coverage.

@simonCatBot simonCatBot force-pushed the feat/bilateral-filter branch from 9cd3491 to e1a9627 Compare May 18, 2026 02:42
…D + 3D, all borders)

Implements the bilateral filter kernel for OpenVX conformance:
- Full port of CTS reference algorithm to Rust in vxu_impl.rs
- Supports U8 and Q78/INT16 data types
- Supports 2D and 3D tensors (proper channel handling)
- All border modes: Replicate, Constant, Undefined
- Fixed i16 overflow in range computation
- Fixed vxCopyTensorPatch to use element-size based copy
- Fixed vxuBilateralFilter to read context immediate border attribute
- Added VX_CONTEXT_MAX_TENSOR_DIMS query support
- Registered kernel in dispatch and C API

All 361 BilateralFilter tests now pass (100%).
Enhanced-vision CI job updated to include BilateralFilter.* (467 tests).
@simonCatBot simonCatBot force-pushed the feat/bilateral-filter branch from a671e94 to 5f54185 Compare May 24, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant