Watershed Algorithm

Author: Christopher Mei (christopher.mei at sophia.inria.fr)
History: 2003/12/15 : First version
Requires:ImageJ 1.31p or later, which adds the ability to package plugins in JAR files
Source:Contained in Watershed_Algorithm.jar, which can be opened using a ZIP utility
Installation: Download Watershed_Algorithm.jar to the plugins folder, or subfolder, restart ImageJ, and there will be a new Plugins/Filters/Watershed Algorithm... command.
See Also: Watershed plugin by Daniel Sage
Process/Binary/Watershed command
Description: This algorithm is an implementation of the watershed immersion algorithm written by Vincent and Soille (1991).
  
@Article{Vincent/Soille:1991,
    author =       "Lee Vincent and Pierre Soille",
    year =         "1991",
    keywords =     "IMAGE-PROC SKELETON SEGMENTATION GIS",
    institution =  "Harvard/Paris+Louvain",
    title =        "Watersheds in digital spaces: An efficient algorithm
                    based on immersion simulations",
    journal =      "IEEE PAMI, 1991",
    volume =       "13",
    number =       "6",
    pages =        "583--598",
    annote =       "Watershed lines (e.g. the continental divide) mark the
                   boundaries of catchment regions in a topographical map.
                   The height of a point on this map can have a direct
                   correlation to its pixel intensity. WIth this analogy,
                   the morphological operations of closing (or opening)
                   can be understood as smoothing the ridges (or filling
                   in the valleys). Develops a new algorithm for obtaining
                   the watershed lines in a graph, and then uses this in
                   developing a new segmentation approach based on the
                   {"}depth of immersion{"}.",
   }
 
A review of Watershed algorithms can be found at : http://www.cs.rug.nl/~roe/publications/parwshed.pdf
@Article{RoeMei00,
    author =       "Roerdink and Meijster",
    title =        "The Watershed Transform: Definitions, Algorithms and
                    Parallelization Strategies",
    journal =      "FUNDINF: Fundamenta Informatica",
    volume =       "41",
    publisher =    "IOS Press",
    year =         "2000",
   }

[example] [example_result]

The image on the left represents the type of result obtained from the thresholding of classical images where Watershed segmentation is efficient. This could be a picture of coffee beans, blood cells, sand ...
The segmentation on the right was obtained with the following operations : invert image (Edit/Invert), calculate the distance transform (Process/Binary/Distance Map), invert result, apply Watershed.


|Plugins | Home |