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

From NAMIC Wiki
Jump to: navigation, search
Line 26: Line 26:
 
** '''1.2. Tissue segmentation'''
 
** '''1.2. Tissue segmentation'''
 
*** Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme
 
*** Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme
*** Tool: itkEMS (UNC Slicer3 external module)
+
*** Tool: ABC (UNC/Utah Slicer3 external module)
** '''1.3. Atlas-based ROI segmentation:''' subcortical structures, lateral ventricles, parcellation
+
** '''1.3. Atlas-based ROI segmentation:'''
 
*** 1.3.1. Skull stripping using previously computed tissue segmentation label image
 
*** 1.3.1. Skull stripping using previously computed tissue segmentation label image
**** Tool: SegPostProcess (UNC Slicer3 external module)  
+
**** Tool: SegPostProcessCLP (UNC Slicer3 external module)
 
*** 1.3.2. T1-weighted atlas registration
 
*** 1.3.2. T1-weighted atlas registration
 
**** B-spline based or demons deformable atlas registration
 
**** B-spline based or demons deformable atlas registration
**** Tool: BRAINSFit, BRAINSDemonWarp, BRAINSResample (Slicer3 modules)
+
**** Tool: BRAINSFit, BRAINSDemonWarp (Slicer3 modules)
*** 1.23.3. Applying transformations to the structures
+
*** 1.3.3. Applying transformations to the atlas masks (absolute white matter mask, grey matter mask, CSF to white matter mask, exclusion mask) and parcellations maps
**** Tool: ResampleVolume2 (Slicer3 module)
+
**** Tool: BRAINSResample (Slicer3 module)
** '''1.4. White matter map creation'''
+
** '''1.4. Label map and white matter map creation'''
*** Brainstem and cerebellum extraction
+
*** Combine several masks to create label map used for cortical thickness computation
*** Adding subcortical structures except amygdala and hippocampus
+
*** Tool: LabelSegPostProcess (UNC Slicer3 external module)
*** Tool: ImageMath (UNC Slicer3 external module)
+
** '''1.5. Cortical thickness computation'''
** '''1.5. White matter map post-processing'''
+
*** Asymmetric cortical thickness on label map
*** Largest component computation
+
*** Tool: CortThick (UNC Slicer3 external module)
*** Smoothing: Level set smoothing or weighted average filter
+
** '''1.6. White matter map post-processing'''
*** Connectivity enforcement (6-connectivity)
+
*** Largest component computation, smoothing, connectivity enforcement, inside filling
*** White matter filling
 
 
*** Tool: WMSegPostProcess (UNC Slicer3 external module)
 
*** Tool: WMSegPostProcess (UNC Slicer3 external module)
** '''1.6. Cortical thickness computation'''
+
** '''1.7. Genus zero cortical surface creation and inflation'''
*** Asymmetric cortical thickness on white matter map
+
*** 1.7.1. Genus zero cortical image and surface creation
*** Tool: UNCCortThick (UNC Slicer3 external module)
+
**** Tool: GenusZeroImageFilter (UNC Slicer3 external module)
** '''1.7. Genus zero white matter map image and surface creation'''
+
*** 1.7.2. White matter surface inflation
*** Tool: GenusZeroImageFilter (UNC Slicer3 external module)
+
**** Iterative smoothing using relaxation operator (considering average vertex) and L2 norm of the mean curvature as a stopping criterion
** '''1.8. White matter surface inflation'''
+
**** Iteration stopped if vertices that have too high curvature (some extremities)
*** Iterative smoothing using relaxation operator (considering average vertex) and L2 norm of the mean curvature as a stopping criterion
+
**** Tool: MeshInflation (UNC Slicer3 external module)
*** Iteration stopped if vertices that have too high curvature (some extremities)
+
*** 1.7.3. (Optional). White matter image fixing if necessary
*** Tool: MeshInflation (UNC Slicer3 external module)
+
**** Correction of the white matter map image (corresponding to vertices that have high curvature) with connectivity enforcement
** '''1.8 bis(Optional). White matter image fixing if necessary'''
+
**** Tool: WMImageFixing (UNC Slicer3 external module)
*** Correction of the white matter map image (corresponding to vertices that have high curvature) with connectivity enforcement
+
**** Go back to step 1.7.1
*** Tool: FixImage (UNC Slicer3 external module)
+
** '''1.8. Cortical thickness attribute computation'''
*** Go back to step 1.6
+
*** Cortical thickness interpolation on genus-zero surface
** '''1.9. Sulcal depth'''
+
*** Tools: MeshCortThick, MeshMath (UNC Slicer3 external modules)
 +
** '''1.9. Sulcal depth computation'''
 
*** Sulcal depth computation using genus-zero surface and inflated one
 
*** Sulcal depth computation using genus-zero surface and inflated one
*** Tool: MeshMath (UNC module)
+
*** Tool: MeshMath (UNC Slicer3 external module)
** '''1.10. Surface area computation'''
+
** '''1.10. Particles initialization for cortical correspondence'''
*** Lobar surface area measurement on smoothed genus-zero surface
 
*** Tool: MeshMath (UNC module)
 
** '''1.11. Particles initialization for cortical correspondence'''
 
 
*** Initializing particles on inflated genus-zero surface using 98-lobe parcellation map and genus zero surface
 
*** Initializing particles on inflated genus-zero surface using 98-lobe parcellation map and genus zero surface
*** Tool: ParticleInitializer (UNC Slicer3 external module)
+
*** Tools: MeshMath, ParticleInitializer (UNC Slicer3 external modules)
 +
** '''1.11. Surface area computation'''
 +
*** Local surface area measurement on smoothed genus-zero surface
 +
*** Tool: MeshMath (UNC Slicer3 external module)
 
* '''2. Particle-based shape correspondence'''
 
* '''2. Particle-based shape correspondence'''
 
** Correspondence on inflated surfaces using particle system
 
** Correspondence on inflated surfaces using particle system
** '''2.1. Preprocessing'''
+
** '''2.1. Correspondence Preprocessing'''
 
*** Distance maps creation from inflated genus-zero surfaces with slight gaussian blurring
 
*** Distance maps creation from inflated genus-zero surfaces with slight gaussian blurring
 
*** Tool: ParticleCorrespondencePreProcessing (UNC Slicer3 external module)
 
*** Tool: ParticleCorrespondencePreProcessing (UNC Slicer3 external module)
Line 75: Line 75:
 
*** Particle-based shape correspondence optimization (using sulcal depth) with Procrustes alignement
 
*** Particle-based shape correspondence optimization (using sulcal depth) with Procrustes alignement
 
*** Tool: ShapeWorksRun (Utah Slicer3 external module)
 
*** Tool: ShapeWorksRun (Utah Slicer3 external module)
** '''2.3. Postprocessing'''
+
** '''2.3. Correspondence Postprocessing'''
 
*** Re-meshing of folded and inflated meshes using template
 
*** Re-meshing of folded and inflated meshes using template
 
*** Tool: ParticleCorrespondencePostProcessing (UNC Slicer3 external module)
 
*** Tool: ParticleCorrespondencePostProcessing (UNC Slicer3 external module)

Revision as of 18:31, 27 May 2011

Home < DBP2:UNC:Local Cortical Thickness Pipeline
Back to  UNC Cortical Thickness Roadmap
GAMBIT Logo

Objective

We would like to create an end-to-end application within Slicer3 allowing group-wise automatic mesh-based analysis of cortical thickness as well as other surface measurements (surface area...)

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


Pipeline overview

A Slicer3 high-level module for group-wise cortical thickness analysis has been developed: GAMBIT (Group-wise Automatic Mesh Based analysis of cortIcal Thickness)

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

  • 1. Individual pipeline
    • 1.1. Intensity inhomogeneity correction
      • N4 Bias field correction
      • Tool: N4ITKBiasFieldCorrection (Slicer3 module)
    • 1.2. Tissue segmentation
      • Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme
      • Tool: ABC (UNC/Utah Slicer3 external module)
    • 1.3. Atlas-based ROI segmentation:
      • 1.3.1. Skull stripping using previously computed tissue segmentation label image
        • Tool: SegPostProcessCLP (UNC Slicer3 external module)
      • 1.3.2. T1-weighted atlas registration
        • B-spline based or demons deformable atlas registration
        • Tool: BRAINSFit, BRAINSDemonWarp (Slicer3 modules)
      • 1.3.3. Applying transformations to the atlas masks (absolute white matter mask, grey matter mask, CSF to white matter mask, exclusion mask) and parcellations maps
        • Tool: BRAINSResample (Slicer3 module)
    • 1.4. Label map and white matter map creation
      • Combine several masks to create label map used for cortical thickness computation
      • Tool: LabelSegPostProcess (UNC Slicer3 external module)
    • 1.5. Cortical thickness computation
      • Asymmetric cortical thickness on label map
      • Tool: CortThick (UNC Slicer3 external module)
    • 1.6. White matter map post-processing
      • Largest component computation, smoothing, connectivity enforcement, inside filling
      • Tool: WMSegPostProcess (UNC Slicer3 external module)
    • 1.7. Genus zero cortical surface creation and inflation
      • 1.7.1. Genus zero cortical image and surface creation
        • Tool: GenusZeroImageFilter (UNC Slicer3 external module)
      • 1.7.2. White matter surface inflation
        • Iterative smoothing using relaxation operator (considering average vertex) and L2 norm of the mean curvature as a stopping criterion
        • Iteration stopped if vertices that have too high curvature (some extremities)
        • Tool: MeshInflation (UNC Slicer3 external module)
      • 1.7.3. (Optional). White matter image fixing if necessary
        • Correction of the white matter map image (corresponding to vertices that have high curvature) with connectivity enforcement
        • Tool: WMImageFixing (UNC Slicer3 external module)
        • Go back to step 1.7.1
    • 1.8. Cortical thickness attribute computation
      • Cortical thickness interpolation on genus-zero surface
      • Tools: MeshCortThick, MeshMath (UNC Slicer3 external modules)
    • 1.9. Sulcal depth computation
      • Sulcal depth computation using genus-zero surface and inflated one
      • Tool: MeshMath (UNC Slicer3 external module)
    • 1.10. Particles initialization for cortical correspondence
      • Initializing particles on inflated genus-zero surface using 98-lobe parcellation map and genus zero surface
      • Tools: MeshMath, ParticleInitializer (UNC Slicer3 external modules)
    • 1.11. Surface area computation
      • Local surface area measurement on smoothed genus-zero surface
      • Tool: MeshMath (UNC Slicer3 external module)
  • 2. Particle-based shape correspondence
    • Correspondence on inflated surfaces using particle system
    • 2.1. Correspondence Preprocessing
      • Distance maps creation from inflated genus-zero surfaces with slight gaussian blurring
      • Tool: ParticleCorrespondencePreProcessing (UNC Slicer3 external module)
    • 2.2. Correspondence optimization
      • Particle-based shape correspondence optimization (using sulcal depth) with Procrustes alignement
      • Tool: ShapeWorksRun (Utah Slicer3 external module)
    • 2.3. Correspondence Postprocessing
      • Re-meshing of folded and inflated meshes using template
      • Tool: ParticleCorrespondencePostProcessing (UNC Slicer3 external module)
    • 2.4. Cortical thickness interpolation
      • Cortical thickness interpolation on surface in correspondence
      • Tool: MeshMath (UNC module)
  • 3. Group statistical analysis
    • Tool: QDEC Slicer module or StatNonParamPDM
T1-weighted image
T1 corrected image
Label image
White matter mesh
T1-weigthed atlas with subcortical structures
ROI segmentation on T1-weigthed stripped image
Genus-zero cortical surface
Inflated cortical surface
Cortical thickness on genus-zero cortical surface
Cortical thickness on inflated genus-zero cortical surface
Sulcal depth on genus-zero cortical surface
Sulcal depth on inflated genus-zero cortical surface
Particles on inflated genus-zero cortical surface

Download

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 'GAMBIT' module, either within Slicer3 or as a command line.

GAMBIT download

Source code, executables and tutorial are available on NITRC

Complementary downloads

Brain atlases

Four brain atlases are available on MIDAS and on NITRC:

Pediatric MRI Brain data

Data of 2 autistic children and 2 normal controls (male, female) scanned at 2 years with follow up at 4 years from a 1.5T Siemens scanner. Files include structural data, tissue segmentation label map and subcortical structures segmentation.

Tutorials

GAMBIT tutorial : end-to-end Slicer3 module to perform group-wise automatic mesh-based analysis of cortical thickness ‏ [ppt]‏ [pdf]


Cortical thickness overlayed on inflated cortical surfaces
Sucal depth overlayed on inflated cortical surfaces

Pipeline validation

Analysis on a small pediatric dataset

Tests will be 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 state of the art, such as FreeSurfer.

Planning

Done

  • Workflow for group analysis (Slicer3 external module using BatchMake):
    • Development of UNC Slicer3 modules
    • Modules applied on small pediatric dataset from the Autism study
  • Pediatric and adult brain atlases available to the community via MIDAS
    • T1-weighted atlas
    • Tissue segmentation probability maps
    • Subcortical structures probability maps
    • LBinary mask images
  • GAMBIT available to the community via NITRC: executables (UNC external modules for Slicer3) and tutorial dataset
  • Tutorial with application example on a small dataset
  • GAMBIT source code (CVS) available to the community

In progress

  • Step 1.7: Parameter exploration on autism dataset to improve inflation-fixing steps
  • Step 2: Particle correspondence testing with pediatric surfaces (Meeting with Josh Cates at UNC - February 2010)
  • New version of GAMBIT including quality control through MRML scene, and WM, GM models generation
  • GAMBIT executable can be downloaded directly within Slicer3 using the extension wizard

References

  • C. Vachet, H.C. Hazlett, M. Niethammer, I. Oguz, J.Cates, R. Whitaker, J. Piven, M. Styner, Group-wise Automatic Mesh-Based Analysis of Cortical Thickness, Proc. SPIE 7962, 796227 (2011)
  • Oguz I., Niethammer M., Cates J., Whitaker R., Fletcher T., Vachet C., Styner M. Cortical Correspondence with Probabilistic Fiber Connectivity. Inf Process Med Imaging. 2009;21:651-63. PMID: 19694301. PMCID: PMC2751643.
  • C. Vachet, H.C. Hazlett, M. Niethammer, I. Oguz, J.Cates, R. Whitaker, J. Piven, M. Styner, Mesh-based Local Cortical Thickness Framework, UNC Radiology Research Day 2009 abstract
  • Oguz, I., Cates, J., Fletcher, T., Whitaker, R., Cool, D., Aylward, S., Styner, M., Cortical correspondence using entropy-based particle systems and local features, IEEE Symposium on Biomedical Imaging ISBI 2008. 1637-1640.
  • J. Cates J., Fletcher P.T., Styner M., Hazlett H.C., Whitaker R. Particle-Based Shape Analysis of Multi-object Complexes. Int Conf Med Image Comput Comput Assist Interv. 2008;11(Pt 1):477-485. PMID: 18979781. PMCID: PMC2753605.
  • Cates, J., Fletcher, P., Whitaker, R.: Entropy-based particle systems for shape correspondence. MFCA Workshop, MICCAI 2006, 90–99