Filters (Wavelet): Thresholding and Fuzzy C-Means: Multispectral and Single Channel Algorithms: Difference between pages

From MIPAV
(Difference between pages)
Jump to navigation Jump to search
MIPAV>Olga Vovk
 
MIPAV>Olgavovk
mNo edit summary
 
Line 1: Line 1:
The wavelet transform or wavelet analysis is a solution to overcome the shortcomings of the Fourier transform. In wavelet analysis, the modulated window is shifted along the signal, and for every position, the spectrum is calculated. Then, this process is repeated many times with a slightly shorter (or longer) window for every new cycle. In the end, the result appears as a collection of time-frequency representations of the signal, all with different resolutions. Since the modulated window is fully scalable, this solves the signal-cutting problem which arises in the Fourier transform.
Segmentation involves dividing an image into distinct classes or types. For example, researchers may segment the brain into three classes: gray matter, white matter, and cerebrospinal fluid. There are two types of segmentation: ''hard'' and ''soft'', or ''fuzzy''.


Because the result appears as a collection of time-frequency representations of the signal, we can speak of a multi resolution analysis. However, in the case of wavelets, we normally do not speak about time-frequency representations, but about time-scale representations, scale being in a way the opposite of frequency, because the term frequency is reserved for the Fourier transform.
==== Hard segmentation ====
 
A pixel is assigned to only one class. In medical images, absolute classification of a pixel is often not possible because of partial volume effects where multiple tissues contribute to a pixel or because a voxel causes intensity blurring across boundaries.
 
==== Soft, or fuzzy, segmentation ====
 
This type allows for the uncertainty in the location of object boundaries. In fuzzy segmentation, a membership function exists for each class at every pixel location. At each pixel location a class membership function has the value of zero if the pixel does not belong to the class. At each pixel location a class membership function has a value of 1 if the pixel belongs, with absolute certainty, to the class. Membership functions can vary from 0 to 1, with the constraint that at any pixel location the sum of the membership functions of all the classes must be 1. The fuzzy membership function reflects the similarity between the data value at that pixel and the value of the class centroid. As a pixel data value becomes closer to the class centroid, the class membership function approaches unity.
 
=== Background ===
 
The Fuzzy C-Means algorithm is an ''unsupervised'' method. That is, it works without the use of a specialized set of data for determining parameters of an algorithm. This algorithm, which allows for fuzzy segmentation based on fuzzy set theory, generalizes the K-Means algorithm. The technique clusters data by iteratively computing a fuzzy membership function and mean value estimate for each tissue class. The algorithm minimizes the sum over all pixels ''j'' and all classes ''k'' of:
 
<div>
 
{| border="1" cellpadding="5"
|+
|-
|
(EQ 1)<br/ >
<math>
J = \sum_{j\varepsilon \Omega} \sum_{k=1}^C j^q_{jk} \left \|{y_j - v_k }\right \|^2
</math>
|}
where ''u''''jk'' is the membership value at pixel location'' j ''for class ''k'' such that the sum over ''k'' from ''k ''<nowiki>= 1 to </nowiki>''k'' =C (''n''Class) for ''ujk'' = 1.
;;; ''q'' is a weighing exponent on each membership value and determines the amount of "fuzziness" of the resulting segmentation. ''q ''must be greater than 1, is typically set to 2.
;;; ''y''''j'' is the observed single channel or multispectral image intensity at location'' j. ''
;;; ''v''''k'' is the centroid of class ''k''
;;; C is a number of classes (nClass)
 
Users provide initial centroid values or simply use default evenly spread pixel values generated by:
 
;;; for (i = 0; i &lt; nClass; i )
;;; centroid[i] = minimum (maximum - minimum)*(i 1)/(nClass 1);
 
Minimization is achieved by an iterative process that performs two computations. First, the minimization process computes the membership functions using a current estimate of the centroids.
 
In the single channel case (select Algorithms &gt; Segmentation &gt; Fuzzy C-means &gt; Single channel in the MIPAV window):
 
<div>
 
{| border="1" cellpadding="5"
|+
|-
|(EQ 2)<br/ > 
<math>
u_{jk} = \frac {\left \| {y_j -g_jv_k} \right \|^{- \frac {2} {(q-1)}}} {\sum_{k=1}^C \left \|{y_j-g_jv_k} \right\|^{-\frac{2} {(q-1)}}}
</math>
 
|}
 
 
The minimization process also computes the centroids using current estimates of the membership functions.
 
In the single channel case:
 
<div>
 
{| border="1" cellpadding="5"
|+
|-
|(EQ 3)<br/ > 
<math>
v_k = \frac {\sum j \epsilon \Omega u^q_{jk}g_jy_i} {\sum j \epsilon \Omega u^q_{jk}g^2_j}
</math>
|}
 
 
In the multispectral case:
 
<div>
 
{| border="1" cellpadding="5"
|+
|-
|
(EQ 4)<br/ > 
<math>
v_k = \sum_s \sum_{k=1}^C \frac {\sum j \epsilon \Omega u^q_{jk}g_jy_i} {\sum j \epsilon \Omega u^q_{jk}g^2_j}
</math>
|}
 
 
 
where summation is over all classes k and all images s
 
The iteration continues until the user-specified maximum number of iterations occurs or until convergence is detected. Convergence occurs when all membership functions over all pixel locations ''j'' change by less than the tolerance value between two iterations. The default maximum iteration number is 100 for the single channel case and 200 for the multispectral case. The default tolerance is 0.01.
 
After entering the parameters for the algorithm in the Fuzzy C-Means dialog box (Figure 2), researchers select one of three choices for the output images:
 
* HARD ONLY
* FUZZY ONLY
* HARD &amp; FUZZY BOTH
 
Hard segmentation produces only one unsigned-byte output image. Pixels that do not meet threshold requirements are assigned the value of 0. The first class is assigned a value of 255/(''nClass''); the second class is assigned a pixel value of 2 x 255/(''nClass''), and so on. The last class has a value of 255.
 
Fuzzy segmentation produces one image, of the same type as the first source image, for every segmentation class. The membership function is scaled so that the minimum membership value scales to the first source image minimum value and the maximum membership value scales to the first source image maximum value. If boundary cropping is applied, all pixels outside the bounding box are assigned the minimum value of the first source image.
 
If researchers apply the multispectral version of the algorithm, they can add images to a list.
 
==== Adding images to the list ====
 
To add an image to the list:
 
# Click Load. The Open dialog box appears.
# Select an image.
 
; If the following are true, MIPAV adds the image to the list:
:* The image has the same dimensionality as the original image.
:* The length of each dimension is the same as that of the original image.
; Otherwise, an error message appears.
 
=== Removing images from the list ===
 
To remove an image from the list, click Remove.


{| width="90%" border="1" frame="hsides" frame="hsides"
{| width="90%" border="1" frame="hsides" frame="hsides"
Line 7: Line 120:
| width="9%" valign="top" |
| width="9%" valign="top" |
[[Image:noteicon.gif]]
[[Image:noteicon.gif]]
| width="81%" bgcolor="#B0E0E6" |
| width="81%" bgcolor="#B0E0E6" | '''Note:''' You cannot remove the original image (the first image in the list) that was present at the time you selected Algorithms &gt; Fuzzy C-means &gt; Multispectral. The Remove Image button is only enabled (active) when at least two images are in the list.
[http://mipav.cit.nih.gov/documentation/HTML Algorithms/FiltersWaveletThresholding.html For more information about the algorithm, refer to MIPAV Volume 2 User Guide on the MIPAV web site:{http://mipav.cit.nih.gov/documentation/HTML Algorithms/FiltersWaveletThresholding.html} ]
|}
|}


<br />
<br />


== Background ==
The multispectral case allows color images to be loaded. If the original image is color, then the initial dialog box includes, by default, three selected check boxes for red, green, and blue components. If the original image is not color, then the later loaded images cannot be color.
=== Outline of the algorithm ===


The image is expanded so that all dimensions are powers of 2 and there is zero padding going past each original boundary by the coefficient number equals 2.
With the single channel case, the signal threshold value is entered on the initial dialog box and the image centroids are entered on a later dialog box. The multispectral case does not have signal threshold on the initial dialog box. With the multispectral case, a later dialog box appears for every black-and-white image or for every selected component of every color image and the signal thresholds and initial centroids are entered on these later dialog boxes.


# The image is transformed into wavelet coefficients using the threshold type selected by the user.
==== Image types ====
# The signal reconstructed from wavelet coefficients.
# Then, an inverse wavelet transform is performed.
# The image is stripped down to its original size. The data is clamped so as not to exceed the bounds of the data type of the image into which it is imported.


{| width="90%" border="1" frame="hsides" frame="hsides"
The Fuzzy C-means algorithm runs on 2D and 3D datasets and can also be applied to RGB datasets. This algorithms cannot run to complex datasets.
 
==== Special notes ====
 
None.
 
==== References ====
 
Refer to the following references for more information about the Fuzzy C-means algorithm.
 
Dzung L. Pham, Chenyang Xu, and Jerry L. Prince, "A Survey of Current Methods in Medical Image Segmentation," Technical Report JHU/ECE 99-01 (Baltimore: Department of Electrical and Computer Engineering, The Johns Hopkins University, 2001).
 
Alberto F. Goldszal and Dzung L. Pham, "Volumetric Segmentation," Chapter 12 in ''Handbook of Medical Image Processing'', (San Diego: Academic Press, 2000).
 
Dzung L. Pham and Jerry L. Prince, "Adaptive Fuzzy Segmentation of Magnetic Resonance Images," ''IEEE Transactions on Medical Imaging'', Vol. 18, No. 9, September 1999, pp. 737-752.
 
<div>
 
{| border="1" cellpadding="5"
|+ <div>'''Figure 1. Fuzzy C-means algorithm processing''' </div>
|-
|-
| width="9%" valign="top" |
|
[[Image:noteicon.gif]]
<div><div align="left">[[Image:FuzzyC-Means3.jpg]]</div> </div>
| width="81%" bgcolor="#B0E0E6" | Note: the forward and inverse Daubechies wavelet transform routines are taken from Numerical Recipes in C, The Art of Scientific Computing 2nd edition by William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery, Cambridge University Press, 1997, Chapter 13.10, pp. 591 606.
|}
|}


<br />
</div>


== Image types ==
=== Applying the Fuzzy C-means algorithm ===


2D and 3D black and white images.
You can apply this algorithm on single images separately, or you can apply it on multispectral images.


== Applying the Wavelet Thresholding algorithm ==
==== On single images ====


To use this algorithm, do the following:
To run this algorithm, complete the following steps:


# To apply the algorithm, do the following:
# Start MIPAV if not already started. The MIPAV and the Output windows open.
# Open an image of interest.
# Open an image. After a few moments, the image appears.
# Navigate to Algorithms &gt; Filters Wavelet &gt; Thresholding.
# Select Algorithms &gt; Fuzzy C-means &gt; Multispectral. The Fuzzy C-means dialog box (Figure 2) opens.
# In the Wavelet Thresholding dialog box that appears, complete the following fields:
# Complete the fields.
#* In the Number of Terms list box, select 4, 12 or 20. Numbers of Terms here means the number of wavelet vanishing moments or an approximation order;
# Click OK.
#* In the Wavelet Threshold box, specify the threshold value;
#* To specify the threshold type, use the radio buttons: Hard, Soft, Nonnegative garrote, and SCAD;
#* To display the log magnitude wavelet image, check the corresponding box. Displaying this image will help you to adjust the algorithm settings;
#* Select the destination, use the New Image option to view the result image in a new frame, or use the Replace Image option o view the result image in the same frame.
# Press OK. The algorithm begins to run and the new image appears in the specified frame.


; The Threshold &amp; Initial Centroids dialog box appears.
; By default, MIPAV determines the value of the initial centroids by result of the total number of intensities divided by the number of classes. To change the values, click OK.


=== Wavelet Thresholding dialog box ===
<div>
<div>


{| border="1" cellpadding="5"
{| border="1" cellpadding="5"
|+ <div>'''Figure 1. Wavelet Thresholding dialog box ''' </div>
|+ <div>'''Figure 2. Fuzzy C-Means dialog box for a single image  ''' </div>
|-
|
<div>'''Number of desired classes''' </div>
|
<div>Indicates the number of groups into which the algorithm divides the dataset structures.  </div><div>By default, the number of desired classes is 3. </div>
| rowspan="3" colspan="1" |
<div><div><center>[[Image:dialogboxFuzzyC-meansSingle.jpg]]</center></div> </div><div> </div>
|-
|
<div>'''Desired exponent value''' </div>
|
<div>Determines the amount of "fuzziness" in the resulting segmentation.  </div><div>By default, the exponent value is 2. </div>
|-
|
<div>'''End tolerance''' </div>
|
<div>Indicates when convergence is reached. Generally, membership functions over all pixel locations change between iterations of the application of the fuzzy C-means algorithm. Convergence occurs if the change is equal to or less than the end tolerance level and when all membership functions over all pixel locations change by less than the tolerance value between two iterations. By default, the tolerance is 0.01. </div>
|-
|
<div>'''Maximum number of iterations''' </div>
| rowspan="1" colspan="2" |
<div>Indicates the maximum number of times the algorithm is applied. If convergence occurs, the system may apply the algorithm less times than the maximum number of iterations. By default, the maximum iteration value for single channel cases is 200.  </div>
|-
|
<div>'''Signal treshold''' </div>
| rowspan="1" colspan="2" |
<div>Determines the treshold. By default, the exponent value is 0.0. </div>
|-
|
<div>'''Background cropping''' </div>
| rowspan="1" colspan="2" |
<div>Finds the smallest bounding box in the image or delineated VOI outside of which all image pixel values are below the image threshold. </div>
|-
|
<div>'''Whole image''' </div>
| rowspan="1" colspan="2" |
<div>Applies the algorithm to the whole image. </div>
|-
|
<div>'''VOI region(s)''' </div>
| rowspan="1" colspan="2" |
<div>Applies the algorithm only to the delineated VOIs. </div>
|-
|
<div>'''HARD ONLY''' </div>
| rowspan="1" colspan="2" |
<div>Performs only hard segmentation on the image </div>
|-
|-
|
|
<div>'''Number of terms''' </div>
<div>'''FUZZY ONLY''' </div>
| rowspan="1" colspan="2" |
<div>Performs only fuzzy segmentation on the image. </div>
|-
|
|
<div>- this is the number of wavelet vanishing moments or an approximation order. Select 4, 12 or 20. </div>
<div>'''HARD &amp; FUZZY BOTH''' </div>
| rowspan="8" colspan="1" |
| rowspan="1" colspan="2" |
<div><div align="left">[[Image:FiltersWaveletThresholdingaq.jpg]]</div> </div>
<div>Performs both types of segmentation-hard and soft-on the image. </div>
|-
|-
|
|
<div>'''Wavelet threshold''' </div>
<div>'''OK''' </div>
| rowspan="1" colspan="2" |
<div>Performs the Fuzzy C-Means algorithm on the image based on your choices in this dialog box. </div>
|-
|
|
<div>- use to specify the threshold value </div>
<div>'''Cancel''' </div>
| rowspan="1" colspan="2" |
<div>Disregards any changes that you made in this dialog box and closes the dialog box.  </div>
|-
|-
|
<div>'''Help''' </div>
| rowspan="1" colspan="2" |
<div>Displays online help for this algorithm. </div>
|}
</div>
==== On multispectral images ====
To run this algorithm, complete the following steps:
# Start MIPAV if not already started. The MIPAV and the Output windows open.
# Open an image. After a few moments, the image appears.
# Select Algorithms &gt; Fuzzy C-means &gt; Multispectral. The Fuzzy C-means dialog box (Figure 3) opens.
# Complete the fields.
; To add an image to the list, click Load and then select the image in the Open dialog box. The system then adds the image to the list and then, if it has the same dimensions as the original image, opens it in a new window.
; To remove an image from the list, click Remove.
# Click OK.
; The Threshold &amp; Initial Centroids dialog box appears.
; By default, MIPAV determines the value of the initial centroids by result of the total number of intensities divided by the number of classes. To change the values, click OK.
{| width="90%" border="1" frame="hsides" frame="hsides"
|-
| width="9%" valign="top" |
[[Image:noteicon.gif]]
| width="81%" bgcolor="#B0E0E6" | '''Note:''' If you are applying this algorithm to several datasets, when you click OK another Threshold &amp; Initial Centroids window appears sequentially for each dataset. Click OK when complete. <font>MIPAV</font><font> a</font>pplies the algorithm to the datasets. The resultant images appear in new image windows.
|}
<br /><div>
{| border="1" cellpadding="5"
|+ <div>'''Figure 3. Fuzzy C-Means dialog box for multispectral images  ''' </div>
|-
|
<div>'''Number of desired classes''' </div>
|
<div>Indicates the number of groups into which the algorithm divides the dataset structures.  </div>
| rowspan="4" colspan="1" |
| rowspan="4" colspan="1" |
<div>'''Hard''' </div><div>'''Soft''' </div><div>Nonnegative garrote </div><div>SCAD </div>
<div><div align="left">[[Image:dialogboxFuzzyC-meansMultispectral2.jpg]]</div> </div>
| rowspan="4" colspan="1" |
|-
<div>- use these radio buttons specify the threshold type. </div>
|
<div>'''Desired exponent value''' </div>
|
<div>Determines the amount of "fuzziness" in the resulting segmentation.  </div>
|-
|
<div>'''Boundary noise cropping''' </div>
|
<div>Finds the smallest bounding box outside of which all first image pixel values are below the first image threshold. To save space, ''MIPAV'' copies values inside the bounding box to a smaller array and then uses the reduced array to performs calculations.  </div>
|-
|
<div>'''Signal threshold''' </div>
|
<div>Appears only when you select Algorithm &gt; Fuzzy C-means &gt; Single Channel.  </div><div>By default, ''MIPAV'' assigns the image minimum value and uses only pixels whose values equal or exceed the theshold used in the centroid calculation.  </div><div>If you select the HARD ONLY option, ''MIPAV'' sets the pixels whose values are less than the threshold to a segmentation value of 0. This means that the pixels are outside of the specified classes. </div>
|-
|-
|
<div>'''End tolerance''' </div>
| rowspan="1" colspan="2" |
<div>Indicates when convergence is reached. Generally, membership functions over all pixel locations change between iterations of the application of the fuzzy c-means algorithm. Convergence occurs if the change is equal to or less than the end tolerance level and when all membership functions over all pixel locations change by less than the tolerance value between two iterations. By default, the tolerance is 0.01. </div>
|-
|-
|
<div>'''Maximum number of iterations''' </div>
| rowspan="1" colspan="2" |
<div>Indicates the maximum number of times the algorithm is applied. If convergence occurs, the system may apply the algorithm less times than the maximum number of iterations. By default, the maximum iteration value for single channel cases is 100. The maximum number in multispectral cases is 200. </div>
|-
|-
|
<div>'''Background noise cropping''' </div>
| rowspan="1" colspan="2" |
<div>Finds the smallest bounding box in the image or delineated VOI outside of which all image pixel values are below the image threshold. </div>
|-
|-
|
|
<div>'''Display log magnitude wavelet image''' </div>
<div>'''Whole image''' </div>
| rowspan="1" colspan="2" |
<div>Applies the algorithm to the whole image. </div>
|-
|
|
<div>- check this box to display the log magnitude wavelet image. Displaying this image will help you to adjust the algorithm settings. </div>
<div>'''VOI region(s)''' </div>
| rowspan="1" colspan="2" |
<div>Applies the algorithm only to the delineated VOIs. </div>
|-
|-
|
|
<div>'''New image''' </div>
<div>'''HARD ONLY''' </div>
| rowspan="1" colspan="2" |
<div>Performs only hard segmentation on the image </div>
|-
|
|
<div>use this to view the result image in a new frame. </div>
<div>'''FUZZY ONLY''' </div>
| rowspan="1" colspan="2" |
<div>Performs only fuzzy segmentation on the image. </div>
|-
|
<div>'''HARD &amp; FUZZY BOTH''' </div>
| rowspan="1" colspan="2" |
<div>Performs both types of segmentation-hard and soft-on the image. </div>
|-
|
<div>'''Load''' </div>
| rowspan="1" colspan="2" |
<div>Loads the images that you select. </div>
|-
|-
|
|
<div>'''Replace image''' </div>
<div>'''Remove''' </div>
| rowspan="1" colspan="2" |
| rowspan="1" colspan="2" |
<div>use this to view the result image in the same frame. </div>
<div>Removes the images that you select. </div>
|-
|-
|
|
<div>'''OK''' </div>
<div>'''OK''' </div>
| rowspan="1" colspan="2" |
| rowspan="1" colspan="2" |
<div>Applies the algorithm according to the specifications in this dialog box. </div>
<div>Performs the FuzzyC-Means algorithm on the selected images based on your choices in this dialog box. </div>
|-
|-
|
|
<div>'''Cancel''' </div>
<div>'''Cancel''' </div>
| rowspan="1" colspan="2" |
| rowspan="1" colspan="2" |
<div>Disregards any changes that you made in the dialog box and closes this dialog box. </div>
<div>Disregards any changes that you made in this dialog box and closes the dialog box. </div>
|-
|-
|
|
<div>'''Help''' </div>
<div>'''Help''' </div>
| rowspan="1" colspan="2" |
| rowspan="1" colspan="2" |
<div>Displays online help for this dialog box. </div>
<div>Displays online help for this algorithm. </div>
|}
|}


[[Category:Help]]
[[Category:Help]]
[[Category:Help:Algorithms]]
[[Category:Help:Algorithms]]

Revision as of 18:31, 18 May 2012

Segmentation involves dividing an image into distinct classes or types. For example, researchers may segment the brain into three classes: gray matter, white matter, and cerebrospinal fluid. There are two types of segmentation: hard and soft, or fuzzy.

Hard segmentation

A pixel is assigned to only one class. In medical images, absolute classification of a pixel is often not possible because of partial volume effects where multiple tissues contribute to a pixel or because a voxel causes intensity blurring across boundaries.

Soft, or fuzzy, segmentation

This type allows for the uncertainty in the location of object boundaries. In fuzzy segmentation, a membership function exists for each class at every pixel location. At each pixel location a class membership function has the value of zero if the pixel does not belong to the class. At each pixel location a class membership function has a value of 1 if the pixel belongs, with absolute certainty, to the class. Membership functions can vary from 0 to 1, with the constraint that at any pixel location the sum of the membership functions of all the classes must be 1. The fuzzy membership function reflects the similarity between the data value at that pixel and the value of the class centroid. As a pixel data value becomes closer to the class centroid, the class membership function approaches unity.

Background

The Fuzzy C-Means algorithm is an unsupervised method. That is, it works without the use of a specialized set of data for determining parameters of an algorithm. This algorithm, which allows for fuzzy segmentation based on fuzzy set theory, generalizes the K-Means algorithm. The technique clusters data by iteratively computing a fuzzy membership function and mean value estimate for each tissue class. The algorithm minimizes the sum over all pixels j and all classes k of:

(EQ 1)

where u'jk is the membership value at pixel location j for class k such that the sum over k from k = 1 to k =C (nClass) for ujk = 1.

q is a weighing exponent on each membership value and determines the amount of "fuzziness" of the resulting segmentation. q must be greater than 1, is typically set to 2.
y'j is the observed single channel or multispectral image intensity at location j.
v'k is the centroid of class k
C is a number of classes (nClass)

Users provide initial centroid values or simply use default evenly spread pixel values generated by:

for (i = 0; i < nClass; i )
centroid[i] = minimum (maximum - minimum)*(i 1)/(nClass 1);

Minimization is achieved by an iterative process that performs two computations. First, the minimization process computes the membership functions using a current estimate of the centroids.

In the single channel case (select Algorithms > Segmentation > Fuzzy C-means > Single channel in the MIPAV window):

(EQ 2)


The minimization process also computes the centroids using current estimates of the membership functions.

In the single channel case:

(EQ 3)


In the multispectral case:

(EQ 4)


where summation is over all classes k and all images s

The iteration continues until the user-specified maximum number of iterations occurs or until convergence is detected. Convergence occurs when all membership functions over all pixel locations j change by less than the tolerance value between two iterations. The default maximum iteration number is 100 for the single channel case and 200 for the multispectral case. The default tolerance is 0.01.

After entering the parameters for the algorithm in the Fuzzy C-Means dialog box (Figure 2), researchers select one of three choices for the output images:

  • HARD ONLY
  • FUZZY ONLY
  • HARD & FUZZY BOTH

Hard segmentation produces only one unsigned-byte output image. Pixels that do not meet threshold requirements are assigned the value of 0. The first class is assigned a value of 255/(nClass); the second class is assigned a pixel value of 2 x 255/(nClass), and so on. The last class has a value of 255.

Fuzzy segmentation produces one image, of the same type as the first source image, for every segmentation class. The membership function is scaled so that the minimum membership value scales to the first source image minimum value and the maximum membership value scales to the first source image maximum value. If boundary cropping is applied, all pixels outside the bounding box are assigned the minimum value of the first source image.

If researchers apply the multispectral version of the algorithm, they can add images to a list.

Adding images to the list

To add an image to the list:

  1. Click Load. The Open dialog box appears.
  2. Select an image.
If the following are true, MIPAV adds the image to the list
  • The image has the same dimensionality as the original image.
  • The length of each dimension is the same as that of the original image.
Otherwise, an error message appears.

Removing images from the list

To remove an image from the list, click Remove.

Noteicon.gif

Note: You cannot remove the original image (the first image in the list) that was present at the time you selected Algorithms > Fuzzy C-means > Multispectral. The Remove Image button is only enabled (active) when at least two images are in the list.


The multispectral case allows color images to be loaded. If the original image is color, then the initial dialog box includes, by default, three selected check boxes for red, green, and blue components. If the original image is not color, then the later loaded images cannot be color.

With the single channel case, the signal threshold value is entered on the initial dialog box and the image centroids are entered on a later dialog box. The multispectral case does not have signal threshold on the initial dialog box. With the multispectral case, a later dialog box appears for every black-and-white image or for every selected component of every color image and the signal thresholds and initial centroids are entered on these later dialog boxes.

Image types

The Fuzzy C-means algorithm runs on 2D and 3D datasets and can also be applied to RGB datasets. This algorithms cannot run to complex datasets.

Special notes

None.

References

Refer to the following references for more information about the Fuzzy C-means algorithm.

Dzung L. Pham, Chenyang Xu, and Jerry L. Prince, "A Survey of Current Methods in Medical Image Segmentation," Technical Report JHU/ECE 99-01 (Baltimore: Department of Electrical and Computer Engineering, The Johns Hopkins University, 2001).

Alberto F. Goldszal and Dzung L. Pham, "Volumetric Segmentation," Chapter 12 in Handbook of Medical Image Processing, (San Diego: Academic Press, 2000).

Dzung L. Pham and Jerry L. Prince, "Adaptive Fuzzy Segmentation of Magnetic Resonance Images," IEEE Transactions on Medical Imaging, Vol. 18, No. 9, September 1999, pp. 737-752.

Figure 1. Fuzzy C-means algorithm processing
FuzzyC-Means3.jpg

Applying the Fuzzy C-means algorithm

You can apply this algorithm on single images separately, or you can apply it on multispectral images.

On single images

To run this algorithm, complete the following steps:

  1. Start MIPAV if not already started. The MIPAV and the Output windows open.
  2. Open an image. After a few moments, the image appears.
  3. Select Algorithms > Fuzzy C-means > Multispectral. The Fuzzy C-means dialog box (Figure 2) opens.
  4. Complete the fields.
  5. Click OK.
The Threshold & Initial Centroids dialog box appears.
By default, MIPAV determines the value of the initial centroids by result of the total number of intensities divided by the number of classes. To change the values, click OK.
Figure 2. Fuzzy C-Means dialog box for a single image
Number of desired classes
Indicates the number of groups into which the algorithm divides the dataset structures.
By default, the number of desired classes is 3.
DialogboxFuzzyC-meansSingle.jpg
Desired exponent value
Determines the amount of "fuzziness" in the resulting segmentation.
By default, the exponent value is 2.
End tolerance
Indicates when convergence is reached. Generally, membership functions over all pixel locations change between iterations of the application of the fuzzy C-means algorithm. Convergence occurs if the change is equal to or less than the end tolerance level and when all membership functions over all pixel locations change by less than the tolerance value between two iterations. By default, the tolerance is 0.01.
Maximum number of iterations
Indicates the maximum number of times the algorithm is applied. If convergence occurs, the system may apply the algorithm less times than the maximum number of iterations. By default, the maximum iteration value for single channel cases is 200.
Signal treshold
Determines the treshold. By default, the exponent value is 0.0.
Background cropping
Finds the smallest bounding box in the image or delineated VOI outside of which all image pixel values are below the image threshold.
Whole image
Applies the algorithm to the whole image.
VOI region(s)
Applies the algorithm only to the delineated VOIs.
HARD ONLY
Performs only hard segmentation on the image
FUZZY ONLY
Performs only fuzzy segmentation on the image.
HARD & FUZZY BOTH
Performs both types of segmentation-hard and soft-on the image.
OK
Performs the Fuzzy C-Means algorithm on the image based on your choices in this dialog box.
Cancel
Disregards any changes that you made in this dialog box and closes the dialog box.
Help
Displays online help for this algorithm.

On multispectral images

To run this algorithm, complete the following steps:

  1. Start MIPAV if not already started. The MIPAV and the Output windows open.
  2. Open an image. After a few moments, the image appears.
  3. Select Algorithms > Fuzzy C-means > Multispectral. The Fuzzy C-means dialog box (Figure 3) opens.
  4. Complete the fields.
To add an image to the list, click Load and then select the image in the Open dialog box. The system then adds the image to the list and then, if it has the same dimensions as the original image, opens it in a new window.
To remove an image from the list, click Remove.
  1. Click OK.
The Threshold & Initial Centroids dialog box appears.
By default, MIPAV determines the value of the initial centroids by result of the total number of intensities divided by the number of classes. To change the values, click OK.

Noteicon.gif

Note: If you are applying this algorithm to several datasets, when you click OK another Threshold & Initial Centroids window appears sequentially for each dataset. Click OK when complete. MIPAV applies the algorithm to the datasets. The resultant images appear in new image windows.

Figure 3. Fuzzy C-Means dialog box for multispectral images Â
Number of desired classes
Indicates the number of groups into which the algorithm divides the dataset structures.
DialogboxFuzzyC-meansMultispectral2.jpg
Desired exponent value
Determines the amount of "fuzziness" in the resulting segmentation.
Boundary noise cropping
Finds the smallest bounding box outside of which all first image pixel values are below the first image threshold. To save space, MIPAV copies values inside the bounding box to a smaller array and then uses the reduced array to performs calculations.
Signal threshold
Appears only when you select Algorithm > Fuzzy C-means > Single Channel.
By default, MIPAV assigns the image minimum value and uses only pixels whose values equal or exceed the theshold used in the centroid calculation.
If you select the HARD ONLY option, MIPAV sets the pixels whose values are less than the threshold to a segmentation value of 0. This means that the pixels are outside of the specified classes.
End tolerance
Indicates when convergence is reached. Generally, membership functions over all pixel locations change between iterations of the application of the fuzzy c-means algorithm. Convergence occurs if the change is equal to or less than the end tolerance level and when all membership functions over all pixel locations change by less than the tolerance value between two iterations. By default, the tolerance is 0.01.
Maximum number of iterations
Indicates the maximum number of times the algorithm is applied. If convergence occurs, the system may apply the algorithm less times than the maximum number of iterations. By default, the maximum iteration value for single channel cases is 100. The maximum number in multispectral cases is 200.
Background noise cropping
Finds the smallest bounding box in the image or delineated VOI outside of which all image pixel values are below the image threshold.
Whole image
Applies the algorithm to the whole image.
VOI region(s)
Applies the algorithm only to the delineated VOIs.
HARD ONLY
Performs only hard segmentation on the image
FUZZY ONLY
Performs only fuzzy segmentation on the image.
HARD & FUZZY BOTH
Performs both types of segmentation-hard and soft-on the image.
Load
Loads the images that you select.
Remove
Removes the images that you select.
OK
Performs the FuzzyC-Means algorithm on the selected images based on your choices in this dialog box.
Cancel
Disregards any changes that you made in this dialog box and closes the dialog box.
Help
Displays online help for this algorithm.