Difference between revisions of "Modules:FuzzySegmentationModule"

From Slicer Wiki
Jump to: navigation, search
(Created page with 'Return to Slicer 3.6 Documentation __NOTOC__ ===Module Name=== Fuzzy Tissue Classification {| border="0" |thumb|280px|Module UI | …')
 
 
(14 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
| style="text-align: center;" |
 
| style="text-align: center;" |
 
{| border="0"  
 
{| border="0"  
|[[Image:FCMInput-3-6.png|thumb|360px|Input Image with Mask]]
+
|[[Image:FCMInput-3-6.png|thumb|280px|Input Image with Mask]]
 
|-
 
|-
|[[Image:FCMResult-3-6.png|thumb|360px|Segmentation Results]]
+
|[[Image:FCMResultLabels-3-6.png|thumb|280px|Segmentation Results]]
 +
|-
 +
|[[Image:FCMResult-3-6.png|thumb|280px|Segmentation Results]]
 
|}
 
|}
 
|}
 
|}
Line 27: Line 29:
  
 
===Module Description===
 
===Module Description===
 +
 +
This module computes voxel by voxel tissue classification of an MR brain image using a fuzzy c-means algortihm. Bias field is modeled as a lower order polynomial. Bias field and tissue classification are estimated iteratively in an EM fashion. Internally, each voxel is assigned tissue membership function values, which range from 0 to 1. At any voxel, the sum of membership function of all classes is either 0 (outside of brain), or 1. The membership functions are converted in tissue labels to generate hard segmentation.
  
 
== Usage ==
 
== Usage ==
  
 
===Examples, Use Cases & Tutorials===
 
===Examples, Use Cases & Tutorials===
 +
 +
This module is typically used to assign tissue labels to an image. For example, in MR brain image analysis, many applications need to know which voxels belong to gray matter, white matter, and CSF.
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
 +
* '''Input/Output panels:'''
 +
 +
[[Image:FCM-IOPanels-3-6.png|thumb|right|280px|Input/Output panels]]
 +
This module takes two input volumes and generate two output volumes. '''Input Volume''' is the MR image to be segmented. '''Input Mask''' gives the mask within which segmentation is applied. '''Hard Segmentation''' is an output label map. And '''Bias Field''' is the estimated bias field.
 +
 +
* '''Parameters panel:'''
 +
[[Image:FCM-ParametersPanels-3-6.png|thumb|right|280px|Parameters panels]]
 +
 +
User can specify two parameters: '''NumberOfClasses''' tells the algorithm how many different tissues there are in the given mask. For brain, we use 3 -- gray matter, white matter, and CSF; '''BiasOption''' specifies how bias field is modeled -- 0: no bias correction; 1: global linear; 2: global quadratic; 3: region based linear; 4: region based quadratic.  From 0 to 4, computation time increases as the accuracy increases.
  
 
== Development ==
 
== Development ==
  
 
===Dependencies===
 
===Dependencies===
 +
 +
No other modules are required for this module. The mask can be generated using any skull stripping algorithm.
  
 
===Known bugs===
 
===Known bugs===
Line 44: Line 61:
 
===Usability issues===
 
===Usability issues===
  
None.
+
Developed and tested on T1 weighted images. Performance on images from other modality or with other MR contrasts may be limited.
  
 
===Source code & documentation===
 
===Source code & documentation===
  
Source Code:  
+
Source Code: [http://viewvc.slicer.org/viewcvs.cgi/trunk/BrainTissueClassification/TissueClassification.cxx?rev=6314&root=NAMICSandBox&view=log TissueClassification.cxx]
 +
 
 +
XML Description: [http://viewvc.slicer.org/viewcvs.cgi/trunk/BrainTissueClassification/TissueClassification.xml?rev=6314&root=NAMICSandBox&view=log TissueClassification.xml]
  
XML Description:  
+
Test: [http://viewvc.slicer.org/viewcvs.cgi/trunk/BrainTissueClassification/Testing/TissueClassificationTest.cxx?rev=6314&root=NAMICSandBox&sortby=author&view=log TissueClassificationTest.cxx]
  
 
Usage:
 
Usage:
 
<pre>
 
<pre>
 +
USAGE:
 +
 +
  ../Slicer3-ext/BrainTissueClassification-build/lib/Slicer3/Plugins/Tissu
 +
                                        eClassification
 +
                                        [--returnparameterfile
 +
                                        <std::string>]
 +
                                        [--processinformationaddress
 +
                                        <std::string>] [--xml] [--echo] [-b
 +
                                        <int>] [-c <int>] [--] [--version]
 +
                                        [-h] <std::string> <std::string>
 +
                                        <std::string> <std::string>
 +
 +
 +
Where:
 +
 +
  --returnparameterfile <std::string>
 +
    Filename in which to write simple return parameters (int, float,
 +
    int-vector, etc.) as opposed to bulk return parameters (image,
 +
    geometry, transform, measurement, table).
 +
 +
  --processinformationaddress <std::string>
 +
    Address of a structure to store process information (progress, abort,
 +
    etc.). (default: 0)
 +
 +
  --xml
 +
    Produce xml description of command line arguments (default: 0)
 +
 +
  --echo
 +
    Echo the command line arguments (default: 0)
 +
 +
  -b <int>,  --biasoption <int>
 +
    Option for bias correction (0: no bias correction; 1: global linear;
 +
    2: global quadratic; 3: region based linear; 4: region based
 +
    quadratic) (default: 0)
 +
 +
  -c <int>,  --class <int>
 +
    Number of classes (default: 3)
 +
 +
  --,  --ignore_rest
 +
    Ignores the rest of the labeled arguments following this flag.
 +
 +
  --version
 +
    Displays version information and exits.
 +
 +
  -h,  --help
 +
    Displays usage information and exits.
 +
 +
  <std::string>
 +
    (required)  Input T1 Image.
 +
 +
  <std::string>
 +
    (required)  Only voxels inside the mask are classified
 +
 +
  <std::string>
 +
    (required)  Output brain mask map.
 +
 +
  <std::string>
 +
    (required)  Estimated bias field
 +
 +
 +
  Description: This module computes voxel by voxel tissue classification
 +
  of an MR brain image using a fuzzy c-means algortihm. Bias field is
 +
  modeled as a lower order polynomial. Bias field and tissue
 +
  classification are estimated iteratively in an EM fashion. Internally,
 +
  each voxel is assigned tissue membership function values, which range
 +
  from 0 to 1. At any voxel, the sum of membership function of all classes
 +
  is either 0 (outside of brain), or 1. The membership functions are
 +
  converted in tissue labels to generate hard segmentation.
 +
 +
  Author(s): Xiaodong Tao, taox @ research . ge . com
 +
 +
  Acknowledgements: This work is part of the National Alliance for Medical
 +
  Image Computing (NAMIC), funded by the National Institutes of Health
 +
  through the NIH Roadmap for Medical Research, Grant U54 EB005149.
 +
  Implementation of the Fuzzy Classification was contributed by Dr.
 +
  Ming-Ching Chang from GE Research.
 +
 
</pre>
 
</pre>
  
Line 59: Line 155:
  
 
===Acknowledgment===
 
===Acknowledgment===
 +
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Implementation of the Fuzzy Classification was contributed by Dr. Ming-Ching Chang from GE Research.
 +
 +
[http://www.oasis-brains.org/ OASIS datasets] were used to generate images on this page.
  
 
===References===
 
===References===
 +
 +
* Ming-ching Chang, Xiaodong Tao “Subvoxel Segmentation and Representation of Brain Cortex Using Fuzzy Clustering and Gradient Vector Diffusion”, SPIE Medical Imaging, San Diego, CA, 2010.

Latest revision as of 15:08, 30 April 2010

Home < Modules:FuzzySegmentationModule

Return to Slicer 3.6 Documentation


Module Name

Fuzzy Tissue Classification

Module UI
Input Image with Mask
Segmentation Results
Segmentation Results

General Information

Module Type & Category

Type: CLI

Category: Segmentation

Authors, Collaborators & Contact

  • Author: Xiaodong Tao
  • Contact: taox at research.ge.com

Module Description

This module computes voxel by voxel tissue classification of an MR brain image using a fuzzy c-means algortihm. Bias field is modeled as a lower order polynomial. Bias field and tissue classification are estimated iteratively in an EM fashion. Internally, each voxel is assigned tissue membership function values, which range from 0 to 1. At any voxel, the sum of membership function of all classes is either 0 (outside of brain), or 1. The membership functions are converted in tissue labels to generate hard segmentation.

Usage

Examples, Use Cases & Tutorials

This module is typically used to assign tissue labels to an image. For example, in MR brain image analysis, many applications need to know which voxels belong to gray matter, white matter, and CSF.

Quick Tour of Features and Use

  • Input/Output panels:
Input/Output panels

This module takes two input volumes and generate two output volumes. Input Volume is the MR image to be segmented. Input Mask gives the mask within which segmentation is applied. Hard Segmentation is an output label map. And Bias Field is the estimated bias field.

  • Parameters panel:
Parameters panels

User can specify two parameters: NumberOfClasses tells the algorithm how many different tissues there are in the given mask. For brain, we use 3 -- gray matter, white matter, and CSF; BiasOption specifies how bias field is modeled -- 0: no bias correction; 1: global linear; 2: global quadratic; 3: region based linear; 4: region based quadratic. From 0 to 4, computation time increases as the accuracy increases.

Development

Dependencies

No other modules are required for this module. The mask can be generated using any skull stripping algorithm.

Known bugs

None.

Usability issues

Developed and tested on T1 weighted images. Performance on images from other modality or with other MR contrasts may be limited.

Source code & documentation

Source Code: TissueClassification.cxx

XML Description: TissueClassification.xml

Test: TissueClassificationTest.cxx

Usage:

USAGE: 

   ../Slicer3-ext/BrainTissueClassification-build/lib/Slicer3/Plugins/Tissu
                                        eClassification 
                                        [--returnparameterfile
                                        <std::string>]
                                        [--processinformationaddress
                                        <std::string>] [--xml] [--echo] [-b
                                        <int>] [-c <int>] [--] [--version]
                                        [-h] <std::string> <std::string>
                                        <std::string> <std::string>


Where: 

   --returnparameterfile <std::string>
     Filename in which to write simple return parameters (int, float,
     int-vector, etc.) as opposed to bulk return parameters (image,
     geometry, transform, measurement, table).

   --processinformationaddress <std::string>
     Address of a structure to store process information (progress, abort,
     etc.). (default: 0)

   --xml
     Produce xml description of command line arguments (default: 0)

   --echo
     Echo the command line arguments (default: 0)

   -b <int>,  --biasoption <int>
     Option for bias correction (0: no bias correction; 1: global linear;
     2: global quadratic; 3: region based linear; 4: region based
     quadratic) (default: 0)

   -c <int>,  --class <int>
     Number of classes (default: 3)

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

   <std::string>
     (required)  Input T1 Image.

   <std::string>
     (required)  Only voxels inside the mask are classified

   <std::string>
     (required)  Output brain mask map.

   <std::string>
     (required)  Estimated bias field


   Description: This module computes voxel by voxel tissue classification
   of an MR brain image using a fuzzy c-means algortihm. Bias field is
   modeled as a lower order polynomial. Bias field and tissue
   classification are estimated iteratively in an EM fashion. Internally,
   each voxel is assigned tissue membership function values, which range
   from 0 to 1. At any voxel, the sum of membership function of all classes
   is either 0 (outside of brain), or 1. The membership functions are
   converted in tissue labels to generate hard segmentation.

   Author(s): Xiaodong Tao, taox @ research . ge . com

   Acknowledgements: This work is part of the National Alliance for Medical
   Image Computing (NAMIC), funded by the National Institutes of Health
   through the NIH Roadmap for Medical Research, Grant U54 EB005149.
   Implementation of the Fuzzy Classification was contributed by Dr.
   Ming-Ching Chang from GE Research.

More Information

Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Implementation of the Fuzzy Classification was contributed by Dr. Ming-Ching Chang from GE Research.

OASIS datasets were used to generate images on this page.

References

  • Ming-ching Chang, Xiaodong Tao “Subvoxel Segmentation and Representation of Brain Cortex Using Fuzzy Clustering and Gradient Vector Diffusion”, SPIE Medical Imaging, San Diego, CA, 2010.