From 20f33e18fe247185cf1a4557d6479f703ea5c94c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Boulogne?= Date: Sun, 29 May 2016 18:04:18 +0200 Subject: [PATCH] DOC: add mosaic_threshold --- .../segmentation/plot_thresholding.py | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/doc/examples/segmentation/plot_thresholding.py b/doc/examples/segmentation/plot_thresholding.py index c279a65b..cae58a32 100644 --- a/doc/examples/segmentation/plot_thresholding.py +++ b/doc/examples/segmentation/plot_thresholding.py @@ -3,15 +3,42 @@ Thresholding ============ -Thresholding is used to create a binary image. This example uses Otsu's method -to calculate the threshold value. +Thresholding is used to create a binary image from a grayscale image [1]_. + +Thresholding algorithms can be separated in two categories: + * Global. They are based on the histogram of the pixel intensity of + the image. + * Local. To process a pixel, only the neighboring pixels are used. + These algorithms often require more computation time. + +Scikit-image includes a function to test thresholding algorithms provided +in the library. Therefore, in a glance, you can select the best algorithm +for you data, without a deep understanding of their mechanisms. + +.. [1] https://en.wikipedia.org/wiki/Thresholding_%28image_processing%29 + +""" +from skimage.data import page + +img = page() + +# Here, we specify a radius for local thresholding algorithm. +# If it is not specified, only global algorithms are called. +fig, ax = mosaic_threshold(img, radius=20, figsize=(10,8), verbose=False) +fig + +""" + +.. image:: PLOT2RST.current_figure + +This example uses Otsu's method [2]_ to calculate the threshold value. Otsu's method calculates an "optimal" threshold (marked by a red line in the histogram below) by maximizing the variance between two classes of pixels, which are separated by the threshold. Equivalently, this threshold minimizes the intra-class variance. -.. [1] http://en.wikipedia.org/wiki/Otsu's_method +.. [2] http://en.wikipedia.org/wiki/Otsu's_method """ import matplotlib