Skip to content

feat(bilateral): passing bilateral filter for enhanced vision (361/361)#39

Merged
simonCatBot merged 3 commits into
kiritigowda:mainfrom
simonCatBot:pr37-bilateral-clean
May 25, 2026
Merged

feat(bilateral): passing bilateral filter for enhanced vision (361/361)#39
simonCatBot merged 3 commits into
kiritigowda:mainfrom
simonCatBot:pr37-bilateral-clean

Conversation

@simonCatBot

Copy link
Copy Markdown
Collaborator

Summary

Ported the bilateral filter implementation from commit 5f54185 that passes all 361 enhanced vision CTS tests.

Changes

  • Infrastructure fixes: stores , returns actual value, copies correct element count, cleans up registries, 3D tensor allocation workaround for CTS
  • Algorithm fixes: U8 color weight table layout, S16 range computation overflow fix, channel count calculation, spatial weight precomputation, immediate mode border handling

Test Results

Feature Tests Passed
BilateralFilter 361 361
HogCells 11 11
HogFeatures 11 11
Total 383 383

Notes

  • Based on upstream main (commit 92500c2) which already includes HOG features
  • Only bilateral filter changes added; HOG untouched
  • Clean diff: 2 files, +157/-202 lines

Kiriti added 3 commits May 25, 2026 13:39
…passing (5f54185)

Ported the bilateral filter implementation that passes 361/361 enhanced vision
CTS tests from commit 5f54185 onto upstream main (92500c2).

Includes infrastructure improvements:
- Add fixed_point_position to VxCTensor (required for Q7.8 tensor tests)
- Fix vxQueryTensor to return actual fixed_point_position instead of hardcoded 0
- Fix vxCopyTensorPatch to copy element_size * total_elements (not buffer length)
- Fix vxReleaseTensor to clean up TENSORS and TENSOR_DATA registries
- Add 3D tensor allocation workaround for CTS interleaved 3-channel data
- Add VX_CONTEXT_ATTRIBUTE_MAX_TENSOR_DIMS query support

Algorithm fixes:
- U8 color weight table uses [i] lookup instead of [c + i*channels]
- S16 range computation uses (max_val as i32 - min_val as i32) to avoid i16 overflow
- Channel count computed from total_elements/(width*height) for 3D tensors
- Immediate mode reads border from context and passes to _with_border variant
- Fix spatial weight precomputation (use r_sq not r*r after sqrt)

HOG features remain untouched and passing (22/22).
Add BilateralFilter.* to the enhanced-vision CI test filter now that
the bilateral filter implementation passes all 361 CTS tests.

Also update comment to reflect BilateralFilter is now included.
Add a dedicated bilateral-filter CI job that runs only BilateralFilter.*
tests. Keep the original enhanced-vision job unchanged to avoid
interference with other enhanced-vision kernels.

This ensures clean isolation and accurate test reporting for the 361
BilateralFilter CTS tests.
@simonCatBot simonCatBot merged commit af67551 into kiritigowda:main May 25, 2026
19 checks passed
@simonCatBot simonCatBot deleted the pr37-bilateral-clean branch May 25, 2026 21:42
kiritigowda pushed a commit that referenced this pull request May 28, 2026
Update the OpenVX 1.3.1 coverage plan to current state:

- Mark P2 (Base API + UDO, 10 funcs) as COMPLETE (#16, #18, #23, #24)
- Mark P3 (Enhanced Vision non-tensor, 14 funcs) as COMPLETE (#35, #36, #39)
- Mark P4 (Tensor kernels, 14 funcs) as COMPLETE (#40)
- Mark P5a (Control-flow nodes, 2 funcs) as COMPLETE (#41)
- Update conformance tally: 6,786 / 6,786 tests passing (100%)
- Add open issues status review (#38 stale, #20#22 should close)
- Update coverage trajectory: ~300/361 (~83%) implemented
- Refresh risks and tracking labels

Co-authored-by: Kiriti <kiriti@example.com>
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