View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Hysteresis thresholding for 3D images (or 2D)

4.5 | 2 ratings Rate this file 28 Downloads (last 30 days) File Size: 2.19 KB File ID: #44648 Version: 1.0
image thumbnail

Hysteresis thresholding for 3D images (or 2D)


Luke Xie (view profile)


Segments images based dual thresholding with 2D or 3D connectivity neighborhoods.

| Watch this File

File Information

This hysteresis function performs a dual thresholding operation on a grayscale image (2D or 3D) using two threshold values (lower and upper). A trinarisation image is also produced where the lower threshold value is set to 1 and the upper threshold value is set to 2. Hysteresis performs better than standard thresholding (single value) because hysteresis uses a loop to produce a more connect segmentation with fewer isolated pixels. The function help is included below:
Hysteresis3d is a simple function that performs trinarisation and hysteresis for 2D and 3D images. Hysteresis3d was inspired by Peter Kovesi's 2D hysteresis function ( This 3D function takes advantage of the 3D connectivities of imfill instead of the 2D connectivities of bwselect.


    img - image for hysteresis (assumed to be non-negative)
    t1 - lower threshold value (fraction b/w 0-1, e.g.: 0.1)
    t2 - upper threshold value (fraction b/w 0-1, e.g.: 0.9)
           (t1/t2 can be entered in any order, larger one will be set as the upper threshold)
    conn - number of connectivities (4 or 8 for 2D; 6, 18, or 26 for 3D)

    tri - the trinarisation image (values are 0, 1, or 2)
    hys - the hysteresis image (logical mask image)
Examples: [tri,hys]=HYSTERESIS3D(img,0.25,0.8,26)

To see an example of hysteresis used to segment a kidney region, please refer to the supplement in QSM of kidney inflammation and fibrosis, NMR Biomed, 2013 Dec;26(12):1853-63 ( Supplemental material is also available on our CIVMspace:

Required Products Image Processing Toolbox
MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
12 Feb 2016 Mattia Chini

04 Feb 2014 Nian

Nian (view profile)

Nice work!

Contact us