File Exchange

image thumbnail

Structurally Varying Bitonic Filter

version 1.0.3 (1.91 MB) by Graham Treece
A high performance morphology-based noise-reduction filter for images.


Updated 04 Apr 2019

View Version History

View License

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 (2021). Structurally Varying Bitonic Filter (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

yajun li

Rômulo Stringhini

When I type "mex anisotropic2_mex.cpp" there occurs an error related to "mex".

Chong WU

Really good work!!!

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!