Iterative Watershed Segmentation


[Back to Group [Back to About us]

 
Quick Overview
  • How does it work ?

The images we have are often noisy and real tumor boundaries are fuzzy. Instead of trying to obtain an unlikely “perfect” segmentation, our method has a more realistic approach: we add a fuzzy area with a tumor probability between 0 and 1. In order to do this, we use iteratively the watershed technique.
A first watershed is computed from the two initial markers as showed in the top Image. In the case of the semi-automatic approach, this initial markers are provided by an operator using mouse clicks. These clicks locate pixels which are automatically linked by lines. The pixels which belong to these lines are all considered as markers. This operation is needed two times: a first time for the inside marker set and a second time for the outside marker set.
The resulting watershed which is shown in red between the two markers on the top of the Image is considered as a third marker for a second watershed which gives three regions (inside, fuzzy and outside) as you can see in the middle of the Image.

In the middle of the Image, we can see the new segmentation and its three areas :

• Inside the red interior line, the tumor is surely present.
• Between the red interior line and the green exterior line, the tumor presence is strongly possible. The likelihood of presence decreases when moving from the red line to the green one.
• Outside the green exterior line, there is no tumor.

This algorithm can also be used a second time (Level 2) by adding to the previous markers the two sets resulting from level 1: see the bottom part of the Image.
We obtain five concentric regions from “inside” to “outside” with a decreasing tumor likelihood. For more technical details see some publications on Matei's web page: http://tcts.fpms.ac.be/~mancas.

We tested this method on head and neck tumors but if you find that it works fine on other type of images, please, let Matei know about your results.
 

  • Knowledge Model

We realized that working directly on images without a priori knowledge gives good results, but we could have better results by adding some of the rules the physicians apply to delineate the tumors on CT images.

Here are the simple rules used for our knowledge model:

• Tumors cannot exist outside the body!
• Tumors cannot exist in airways.
• Tumors invade very rarely bones and, in this unlikely case, their aspect change and become visibly irregular.

All these areas are automaticaly marked as outside the tumor.

This knowledge model was set for Computed Tomography images and it only works for this kind of images. The MateiMarkKnowledgeModel function within the Zip file allows you to change the KM or, if you have no a priori information, not to use it at all.
The Iterative Watershed technique works on all kind of grayscale images if you set the model to zero. But as usual, it will work better if you have even a very simple model for your images.


  


When to use it ?

The IWS method is interesting when you have to delineate an area which has neither texture or gray level unity. Moreover, this area should have fuzzy contours and it should be difficult to segment even by using human eyes.

You need to provide internal and external markers by using mouse clicks. More your model is precise, more precise will be the final segmentation. For the tumors we work on, the minimum number of clicks was of three inside and five outside, but it should depend on your image type.


  

 

License
  • Iterative Watershed Segmentation (IWS)

This code is free of charges and it can be used for demonstration and evaluation purposes only. It is not allowed to use this code in any commercial purpose.
The author's approval must be requested for any modification of the initial code as it is presented in the zip file available to download. The following point called "Copyright text" must always appear verbatim in the source codes and the license text.

There is no warranty about the results obtained using this code. This is a free code, so you use it at your own risks.
 

  • Copyright text

*****************************************
Copyright FPMs/TCTS 2004 (http://tcts.fpms.ac.be)
TCTS Lab, Faculté Polytechnique de Mons, Belgium

Contact:
Matei MANCAS
E-mail: matei.mancas@tcts.fpms.ac.be
*****************************************
 

  • Other algorithms used here

• C. Xu and J.L. Price's Gradient Vector Flow algorithm. The code is a mex file, see http://iacl.ece.jhu.edu/projects/gvf for more technical details. More details on the GVF license are  available here.
• The marker-based algorithm was done by (c) Keith Forbes 2000 (keith@umpire.com) and this is also a mex file. More details on http://dsp7.ee.uct.ac.za/~kforbes.
 

  • Research funds

The Iterative Watershed Segmentation technique was developed for the project known as MERCATOR. This project is funded by Région Wallonne, DGTRE.


  


Download

This demo was tested only on Windows Xp using Matlab 6.5.
BUT:
It has no GUI so it should work with all relatively recent Matlab versions either on Windows or Linux/Unix.

The mex files are already compiled for Windows. For other OS you should recompile them by using:
>>mex watershedmex.c
>>mex gvfc.c

If you make tests on other OS or Matlab versions, please let Matei know about your results.
 

  • Functions list:
• MateiDemo: main and start function (v. 1.0)
• MateiMarkIn: gets user provided internal markers (v. 1.0)
• MateiMarkOut: gets user provided external markers (v. 1.0)
• MateiMarkKnowledgeModel: evenutally provides an a priori model on the image to segment or set it to zero if you have no a priori knowledge (v. 1.0)
• MateiMark: compute final marker matrix (v. 1.0)
• MateiWater: computes the IWS (v. 1.0)
• MateiPreProcess: pre-processing and computing the image GVF map (v. 1.0)
• watershedmex: the marker-based watershed algorithm by K. Forbes
• gvfc: the gradient vector flow algorithm by C. Xu
• imagem: shows markers onto a grayscale image
 
  • Logs:

Version 1.0: initial version, March 20th, 2004


[Back to Group] [Back to About us]