DBP2:UNC:Regional Cortical Thickness Pipeline
Back to UNC Cortical Thickness Roadmap
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)
- 3.1 T1-weighted atlas deformable registration
- 4. Cortical Thickness
- Sparse asymmetric local cortical thickness
- Tool: CortThick (UNC Slicer3 module)
- 1. Tissue segmentation
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/
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
- 1. Tissue segmentation
itkEMSCLP --XMLFile EMSparam.xml
- 2. Skull stripping
- Input: Label.gipl, Image_Corrected_EMS.gipl
- Output: Image_Corrected_EMS_Stripped.gipl, BinaryMask.gipl (optional)
- 2. Skull stripping
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
- 3.1 Deformable registration of T1-weighted pediatric atlas
- 3. Deformable registration of pediatric regional atlas
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
- 3.2. Applying transformation to the parcellation map
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
- 4. Cortical Thickness
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)