Difference between revisions of "DBP2:UNC:Regional Cortical Thickness Pipeline"

From NAMIC Wiki
Jump to: navigation, search
Line 13: Line 13:
 
We would like to create an end-to-end application within Slicer3 allowing individual and group analysis of regional cortical thickness.
 
We would like to create an end-to-end application within Slicer3 allowing individual and group analysis of regional cortical thickness.
  
This page describes the related pipeline with its basic components.
+
This page describes the related pipeline with its basic components, as well as its validation.
  
== General information ==
+
 
 +
== Pipeline overview ==
  
 
A Slicer3 high-level module for individual cortical thickness analysis has been developped: ARCTIC (Automatic Regional Cortical ThICkness)  
 
A Slicer3 high-level module for individual cortical thickness analysis has been developped: ARCTIC (Automatic Regional Cortical ThICkness)  
 
=== Main pipeline description (steps) ===
 
  
 
Input: RAW images (T1-weighted, T2-weighted, PD-weighted images)
 
Input: RAW images (T1-weighted, T2-weighted, PD-weighted images)
  
 
:* '''1. Tissue segmentation'''
 
:* '''1. Tissue segmentation'''
 +
:** Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme.
 
:** Tool: itkEMS (UNC Slicer3 external module)
 
:** Tool: itkEMS (UNC Slicer3 external module)
 
:* '''2. Skull stripping'''
 
:* '''2. Skull stripping'''
 +
:** Skull stripping using previously computed tissue segmentation label image
 
:** Tool: SegPostProcess (UNC Slicer3 external module)
 
:** Tool: SegPostProcess (UNC Slicer3 external module)
:* '''3. Deformable registration of pediatric regional atlas'''
+
:* '''3. Regional atlas deformable registration'''
:** 3.1 Deformable registration of T1-weighted pediatric atlas
+
:** 3.1 T1-weighted atlas deformable registration
 +
:*** B-spline pipeline registration
 
:***Tool: RegisterImages (Slicer3 module)  
 
:***Tool: RegisterImages (Slicer3 module)  
 
:** 3.2. Applying transformation to the parcellation map
 
:** 3.2. Applying transformation to the parcellation map
 
:*** Tool: ResampleVolume2 (Slicer3 module)
 
:*** Tool: ResampleVolume2 (Slicer3 module)
 
:* '''4. Cortical Thickness'''
 
:* '''4. Cortical Thickness'''
 +
:** Sparse asymmetric local cortical thickness
 
:** Tool: CortThick (UNC Slicer3 module)
 
:** Tool: CortThick (UNC Slicer3 module)
  
Line 38: Line 41:
 
The user can thus compute an individual regional cortical thickness analysis by running the 'RegionalCortThickPipeline' module, either within Slicer3 or as a command line.
 
The user can thus compute an individual regional cortical thickness analysis by running the 'RegionalCortThickPipeline' module, either within Slicer3 or as a command line.
  
 +
 +
== Download ==
 +
 +
Executable and tutorial dataset: http://www.nitrc.org/projects/arctic/
 +
 +
Pediatric atlases: http://insight-journal.org/midas/
 +
 +
<center>
 +
{|
 +
|[[Image:T1Image.jpg|thumb|250px|T1-weighted skull-stripped image]]
 +
|valign="center"|[[Image:Parcellation.jpg|thumb|250px|Parcellation image]]
 +
|valign="center"|[[Image:WMThickness.jpg|thumb|250px|Cortical thickness on WM surface]]
 +
|valign="center"|[[Image:ThicknessInformation.jpg|thumb|250px|Cortical thickness information]]
 +
|}
 +
</center>
 +
 +
== ARTIC (Automatic Regional Cortical ThICkness) usage: ==
  
  
=== Before using the pipeline ===
+
=== Prerequities ===
  
Add the executables in the PATH.
+
Add directories to the PATH variable
   -tcsh usage : setenv PATH ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Drectory:${PATH}
+
   -tcsh usage : setenv PATH ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Directory:${PATH}
   -bash usage : export PATH=ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Drectory:${PATH}
+
   -bash usage : export PATH=ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Directory:${PATH}
   notice : For an execution within Slicer3D, it is not necessary to add "Slicer3D-Plugins-Directory" in the PATH.
+
   Notice : To execute ARCTIC within Slicer3D, it is not necessary to add "Slicer3D-Plugins-Directory" in the PATH.
  
Set the pipeline environment variable
+
Set an environment variable
 
   -tcsh usage : setenv BatchmakeWrapper_Dir Batchmake-Wrapper-Directory
 
   -tcsh usage : setenv BatchmakeWrapper_Dir Batchmake-Wrapper-Directory
 
   -bash usage : export BatchmakeWrapper_Dir=Batchmake-Wrapper-Directory
 
   -bash usage : export BatchmakeWrapper_Dir=Batchmake-Wrapper-Directory
  
Set the pipeline as a Slicer3D module
+
Set ARCTIC as a Slicer3D module
 
   Within Slicer3D : View->Applications Settings->Add a preset and then select the ARCTIC-Executables-Directory/
 
   Within Slicer3D : View->Applications Settings->Add a preset and then select the ARCTIC-Executables-Directory/
  
=== Usage (Command Line) ===
+
=== Command line execution ===
  
 
Inputs: T1-weighted image, T1-weigthed atlas, regional atlas (parcellation map)  
 
Inputs: T1-weighted image, T1-weigthed atlas, regional atlas (parcellation map)  
  
'''A. Pipeline command line'''
+
   ARCTIC --T1 Image_T1.gipl --segAtlasDir TissueSegmentationAtlasDirectory/  
   RegionalCortThickPipeline --T1 Image_T1.gipl --segAtlasDir TissueSegmentationAtlasDirectory/  
 
 
   --atlas Atlas.gipl --atlasParcellation Parcellation.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap
 
   --atlas Atlas.gipl --atlasParcellation Parcellation.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap
  
'''B. Step by step command line'''
+
=== Step by step command line execution ===
 +
 
 
:* '''1. Tissue segmentation'''
 
:* '''1. Tissue segmentation'''
 
:**Input: EMSparam.xml
 
:**Input: EMSparam.xml
Line 72: Line 92:
 
   SegPostProcessCLP Label.gipl  Image_Corrected_EMS_Stripped.gipl --skullstripping  Image_Corrected_EMS.gipl
 
   SegPostProcessCLP Label.gipl  Image_Corrected_EMS_Stripped.gipl --skullstripping  Image_Corrected_EMS.gipl
 
:* '''3. Deformable registration of pediatric regional atlas'''
 
:* '''3. Deformable registration of pediatric regional atlas'''
:** 3.1 Deformable registration of T1-weighted pediatric atlas
+
:**3.1 Deformable registration of T1-weighted pediatric atlas
 
:***Input: Atlas.gipl, Image_Corrected_EMS_Stripped.gipl
 
:***Input: Atlas.gipl, Image_Corrected_EMS_Stripped.gipl
 
:***Output: Atlas_Registered.gipl, Atlas_Registered_Transform.txt
 
:***Output: Atlas_Registered.gipl, Atlas_Registered_Transform.txt
 
   RegisterImages Image_Corrected_EMS_Stripped.gipl Atlas.gipl –resampledImage  Atlas_Registered.gipl –saveTransform Atlas_Registered_Transform.txt –registration PipelineBSpline
 
   RegisterImages Image_Corrected_EMS_Stripped.gipl Atlas.gipl –resampledImage  Atlas_Registered.gipl –saveTransform Atlas_Registered_Transform.txt –registration PipelineBSpline
:** 3.2. Applying transformation to the parcellation map
+
:**3.2. Applying transformation to the parcellation map
 
:***Input: Parcellation.gipl,  Atlas_Registered_Transform.txt, Image_Corrected_EMS_Stripped.gipl
 
:***Input: Parcellation.gipl,  Atlas_Registered_Transform.txt, Image_Corrected_EMS_Stripped.gipl
 
:***Output:  Parcellation_Registered.gipl
 
:***Output:  Parcellation_Registered.gipl
Line 84: Line 104:
 
:**Output: CortThick_Result_Dir/, WMCorticalThicknessMap, GMCorticalThicknessMap
 
:**Output: CortThick_Result_Dir/, WMCorticalThicknessMap, GMCorticalThicknessMap
 
   CortThickCLP CortThick_Result_Dir/ --par  Parcellation_Registered.gipl --inputSeg Label.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap
 
   CortThickCLP CortThick_Result_Dir/ --par  Parcellation_Registered.gipl --inputSeg Label.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap
 +
 +
 +
== Pipeline validation ==
  
 
=== Analysis on a small pediatric dataset ===
 
=== Analysis on a small pediatric dataset ===
  
Tests have been computed on a small pediatric dataset, including 2 years old and 4 years old cases
+
Tests have been computed on a small pediatric dataset which includes 2 year-old and 4 year-old cases.
:* 16 Autistic cases  
+
:* 16 autistic cases  
 
:* 1 developmental delay
 
:* 1 developmental delay
 
:* 3 normal control
 
:* 3 normal control
  
=== Pearson correlation analysis ===
+
=== Comparison to state of the art ===
 
 
We would like to perform a regional statistical analysis (Pearson correlation analysis) to compare our method with FreeSurfer.
 
 
 
The study is in progress and the dataset includes 90 cases (2 and 4 years old).
 
 
 
Two studies will be done : 1 for the 2 years old cases and 1 for the 4 ones.
 
 
 
  
 +
We would like to compare our pipeline with FreeSurfer. We have thus started to perform a regional statistical analysis using Pearson's correlation coefficient on a pediatric dataset including 90 cases.
  
 +
Two distinct groups are considered: 2 year-old cases and 4 year-old cases.
  
  
<center>
+
== Planning ==
{|
 
|[[Image:T1Image.jpg|thumb|250px|T1-weighted skull-stripped image]]
 
|valign="center"|[[Image:Parcellation.jpg|thumb|250px|Parcellation image]]
 
|-
 
|valign="center"|[[Image:WMThickness.jpg|thumb|250px|Cortical thickness on WM surface]]
 
|valign="center"|[[Image:ThicknessInformation.jpg|thumb|250px|Cortical thickness information]]
 
|}
 
</center>
 
  
 
=== Done ===
 
=== Done ===
Line 119: Line 129:
  
 
=== In progress ===
 
=== In progress ===
:* Pediatric atlases (T1-weighted image, parcellation map, probability maps) available to the community (MIDAS : NAMIC stuff)
+
:* Pediatric atlases available to the community through MIDAS
:* Regional analysis to compare our method with results from FreeSurfer
+
:* Comparison to FreeSurfer: pearson correlation analysis
:* ARCTIC executables (UNC external modules for Slicer3D), Source code (SVN) and Tutorial dataset available on NITRC
+
:* ARCTIC available to the community through NITRC: executables (UNC external modules for Slicer3), source code (SVN) and Tutorial dataset
  
 
=== Future work ===
 
=== Future work ===
 
:* Workflow for group analysis (KWWidgets application using BatchMake)
 
:* Workflow for group analysis (KWWidgets application using BatchMake)

Revision as of 23:31, 13 December 2008

Home < DBP2:UNC:Regional Cortical Thickness Pipeline

Back to UNC Cortical Thickness Roadmap


Screenshot of the application
Pipeline description

Objective

We would like to create an end-to-end application within Slicer3 allowing individual and group analysis of regional cortical thickness.

This page describes the related pipeline with its basic components, as well as its validation.


Pipeline overview

A Slicer3 high-level module for individual cortical thickness analysis has been developped: ARCTIC (Automatic Regional Cortical ThICkness)

Input: RAW images (T1-weighted, T2-weighted, PD-weighted images)

  • 1. Tissue segmentation
    • Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme.
    • Tool: itkEMS (UNC Slicer3 external module)
  • 2. Skull stripping
    • Skull stripping using previously computed tissue segmentation label image
    • Tool: SegPostProcess (UNC Slicer3 external module)
  • 3. Regional atlas deformable registration
    • 3.1 T1-weighted atlas deformable registration
      • B-spline pipeline registration
      • Tool: RegisterImages (Slicer3 module)
    • 3.2. Applying transformation to the parcellation map
      • Tool: ResampleVolume2 (Slicer3 module)
  • 4. Cortical Thickness
    • Sparse asymmetric local cortical thickness
    • Tool: CortThick (UNC Slicer3 module)

All the tools used in the current pipeline are Slicer3 modules, some of them being UNC external modules. The user can thus compute an individual regional cortical thickness analysis by running the 'RegionalCortThickPipeline' module, either within Slicer3 or as a command line.


Download

Executable and tutorial dataset: http://www.nitrc.org/projects/arctic/

Pediatric atlases: http://insight-journal.org/midas/

T1-weighted skull-stripped image
Parcellation image
Cortical thickness on WM surface
Cortical thickness information

ARTIC (Automatic Regional Cortical ThICkness) usage:

Prerequities

Add directories to the PATH variable

 -tcsh usage : setenv PATH ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Directory:${PATH}
 -bash usage : export PATH=ARCTIC-Executables-Directory:Slicer3D-Plugins-Directory:Batchmake-Directory:${PATH}
 Notice : To execute ARCTIC within Slicer3D, it is not necessary to add "Slicer3D-Plugins-Directory" in the PATH.

Set an environment variable

 -tcsh usage : setenv BatchmakeWrapper_Dir Batchmake-Wrapper-Directory
 -bash usage : export BatchmakeWrapper_Dir=Batchmake-Wrapper-Directory

Set ARCTIC as a Slicer3D module

 Within Slicer3D : View->Applications Settings->Add a preset and then select the ARCTIC-Executables-Directory/

Command line execution

Inputs: T1-weighted image, T1-weigthed atlas, regional atlas (parcellation map)

 ARCTIC --T1 Image_T1.gipl --segAtlasDir TissueSegmentationAtlasDirectory/ 
 --atlas Atlas.gipl --atlasParcellation Parcellation.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap

Step by step command line execution

  • 1. Tissue segmentation
    • Input: EMSparam.xml
    • Output: Image_Corrected_EMS.gipl, Label.gipl
 itkEMSCLP --XMLFile EMSparam.xml
  • 2. Skull stripping
    • Input: Label.gipl, Image_Corrected_EMS.gipl
    • Output: Image_Corrected_EMS_Stripped.gipl, BinaryMask.gipl (optional)
 SegPostProcessCLP Label.gipl  Image_Corrected_EMS_Stripped.gipl --skullstripping  Image_Corrected_EMS.gipl
  • 3. Deformable registration of pediatric regional atlas
    • 3.1 Deformable registration of T1-weighted pediatric atlas
      • Input: Atlas.gipl, Image_Corrected_EMS_Stripped.gipl
      • Output: Atlas_Registered.gipl, Atlas_Registered_Transform.txt
  RegisterImages Image_Corrected_EMS_Stripped.gipl Atlas.gipl –resampledImage  Atlas_Registered.gipl –saveTransform Atlas_Registered_Transform.txt –registration PipelineBSpline
    • 3.2. Applying transformation to the parcellation map
      • Input: Parcellation.gipl, Atlas_Registered_Transform.txt, Image_Corrected_EMS_Stripped.gipl
      • Output: Parcellation_Registered.gipl
  ResampleVolume2 Parcellation.gipl Parcellation_Registered.gipl -f Atlas_Registered_Transform.txt -i nn -R Image_Corrected_EMS_Stripped.gipl
  • 4. Cortical Thickness
    • Input: Parcellation_Registered.gipl, Label.gipl
    • Output: CortThick_Result_Dir/, WMCorticalThicknessMap, GMCorticalThicknessMap
  CortThickCLP CortThick_Result_Dir/ --par  Parcellation_Registered.gipl --inputSeg Label.gipl --SaveWM  WMCorticalThicknessMap  --SaveGM GMCorticalThicknessMap


Pipeline validation

Analysis on a small pediatric dataset

Tests have been computed on a small pediatric dataset which includes 2 year-old and 4 year-old cases.

  • 16 autistic cases
  • 1 developmental delay
  • 3 normal control

Comparison to state of the art

We would like to compare our pipeline with FreeSurfer. We have thus started to perform a regional statistical analysis using Pearson's correlation coefficient on a pediatric dataset including 90 cases.

Two distinct groups are considered: 2 year-old cases and 4 year-old cases.


Planning

Done

  • Workflow for individual analysis (Slicer3 external module using BatchMake)
  • 2 Tutorials with application example on a small dataset : "How to use the UNC modules to compute the regional cortical thickness" and "How to use ARCTIC"

In progress

  • Pediatric atlases available to the community through MIDAS
  • Comparison to FreeSurfer: pearson correlation analysis
  • ARCTIC available to the community through NITRC: executables (UNC external modules for Slicer3), source code (SVN) and Tutorial dataset

Future work

  • Workflow for group analysis (KWWidgets application using BatchMake)