Structurally Varying Bitonic Filter

A high performance morphology-based noise-reduction filter for images.


Updated Wed, 08 Sep 2021 14:26:52 +0000

View License

Note that this filter has been superceded by the Locally Adaptive Bitonic X Filter, also available on file exchange.
This is a filter combining robust structurally varying (adaptive) morphological operations and an adaptive anisotropic Gaussian, with high noise reduction performance, particularly for very high noise levels. It is founded on preserving signal bitonicity, and since this concept only involves the order of values, not the image levels, it is naturally edge-preserving.
Like the fixed bitonic filter, the structurally varying bitonic filter has very few parameters and does not require any training nor prior knowledge.
Also included are very efficient functions for performing structurally varying opening and closing, the adaptive anisotropic Gaussian, and associated functions for calculating appropriate morphological masks and image anisotropy and orientation from the structure tensor.
The bitonic filter is also embedded in a multi-resolution framework for even better results. See the svbitonic_demo script for examples.
More information is available from a technical report:
G. M. Treece. Morphology-based noise reduction: structural variation and thresholding in the Bitonic Filter. Technical report CUED/F-INFENG/TR705, Cambridge University Department of Engineering, August 2018.

Cite As

Graham Treece (2023). Structurally Varying Bitonic Filter (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Recognition, Object Detection, and Semantic Segmentation in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Documentation change


Updates to centile calculations and anisotropy noise floor


Minor improvement to performance when using data thresholds


Added reference to technical report