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

From NAMIC Wiki
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
  Back to [[DBP2:UNC:Cortical_Thickness_Roadmap | UNC Cortical Thickness Roadmap]]
 
  Back to [[DBP2:UNC:Cortical_Thickness_Roadmap | UNC Cortical Thickness Roadmap]]
  
[[Image:MeshBasedCortThick_CorticalThickness.jpg|thumb|250px|Cortical thickness on white matter cortical surface]]
+
[[Image:GAMBITLogo.png|thumb|250px|GAMBIT Logo]]
  
 
== Objective ==
 
== Objective ==
Line 21: Line 21:
  
 
* '''1. Individual pipeline'''
 
* '''1. Individual pipeline'''
** '''1.1. Tissue segmentation'''
+
** '''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
 
*** 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.2. Atlas-based ROI segmentation:''' subcortical structures, lateral ventricles, parcellation
+
** '''1.3. Atlas-based ROI segmentation:'''
*** 1.2.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.2.2. T1-weighted atlas deformable registration
+
*** 1.3.2. T1-weighted atlas registration
**** B-spline pipeline registration
+
**** B-spline based or demons deformable atlas registration
**** Tool: RegisterImages (Slicer3 module)
+
**** Tool: BRAINSFit, BRAINSDemonWarp (Slicer3 modules)
*** 1.2.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.3. 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.4. Cortical thickness computation'''
+
*** Asymmetric cortical thickness on label map
*** Asymmetric cortical thickness
+
*** Tool: CortThick (UNC Slicer3 external module)
*** Tool: UNCCortThick(UNC Slicer3 external module)
+
** '''1.6. White matter map post-processing'''
** '''1.5. White matter map post-processing'''
+
*** Largest component computation, smoothing, connectivity enforcement, inside filling
*** Largest component computation
 
*** Smoothing: Level set smoothing or weighted average filter
 
*** Connectivity enforcement (6-connectivity)
 
*** White matter filling
 
 
*** Tool: WMSegPostProcess (UNC Slicer3 external module)
 
*** Tool: WMSegPostProcess (UNC Slicer3 external module)
** '''1.6. Genus zero white matter map image and surface creation'''
+
** '''1.7. Genus zero cortical surface creation and inflation'''
*** Tool: GenusZeroImageFilter (UNC Slicer3 external module)
+
*** 1.7.1. Genus zero cortical image and surface creation
** '''1.7. 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.7.2. 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 bis(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.7.3. (Optional). White matter image fixing if necessary
*** Tool: FixImage (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.6
+
**** Tool: WMImageFixing (UNC Slicer3 external module)
** '''1.8. Sulcal depth'''
+
**** 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
 
*** Sulcal depth computation using genus-zero surface and inflated one
*** Tool: MeshMath (UNC module)
+
*** Tool: MeshMath (UNC Slicer3 external module)
** '''1.9. Surface area computation'''
 
*** Lobar surface area measurement on smoothed genus-zero surface
 
*** Tool: MeshMath (UNC module)
 
 
** '''1.10. Particles initialization for cortical correspondence'''
 
** '''1.10. 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 72: 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 using template
+
*** Re-meshing of folded and inflated meshes using template
 
*** Tool: ParticleCorrespondencePostProcessing (UNC Slicer3 external module)
 
*** Tool: ParticleCorrespondencePostProcessing (UNC Slicer3 external module)
** '''2.4. Cortical thickness interpolation'''
+
** '''2.4. Scalar attributes interpolation'''
*** Cortical thickness interpolation on surface in correspondence
+
*** Cortical thickness and sulcal depth interpolation on surface in correspondence
 
*** Tool: MeshMath (UNC module)
 
*** Tool: MeshMath (UNC module)
 
* '''3. Group statistical analysis'''
 
* '''3. Group statistical analysis'''
** Tool: QDEC Slicer module or StatNonParamPDM
+
** Tool: QDEC, a FreeSurfer/Slicer module
 
+
** Tool: [http://www.math.mcgill.ca/keith/surfstat/ SurfStat], a Matlab toolbox
 
 
  
 
</div>
 
</div>
Line 141: Line 143:
 
==== Tutorials ====
 
==== Tutorials ====
 
• '''GAMBIT tutorial''' : end-to-end Slicer3 module to perform group-wise automatic mesh-based analysis of cortical thickness [[Media:GAMBIT_TutorialContestSummer2010.ppt|‏ [ppt]]][[Media:GAMBIT_TutorialContestSummer2010.pdf|‏ [pdf]]]
 
• '''GAMBIT tutorial''' : end-to-end Slicer3 module to perform group-wise automatic mesh-based analysis of cortical thickness [[Media:GAMBIT_TutorialContestSummer2010.ppt|‏ [ppt]]][[Media:GAMBIT_TutorialContestSummer2010.pdf|‏ [pdf]]]
 +
 +
 +
<center>
 +
{|
 +
|[[Image:GAMBIT QC CorticalThickness.png|thumb|600px|Cortical thickness overlayed on inflated cortical surfaces]]
 +
|valign="center"|[[Image:GAMBIT_QC_SulcalDepth.png|thumb|600px|Sucal depth overlayed on inflated cortical surfaces]]
 +
|}
 +
</center>
  
 
== Pipeline validation ==
 
== Pipeline validation ==
Line 180: Line 190:
 
== References ==
 
== References ==
  
*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 2010 abstract
+
*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)
*I. Oguz, M. Niethammer, J. Cates, R. Whitaker, T. Fletcher, C. Vachet, and M. Styner, Cortical Correspondence with Probabilistic Fiber Connectivity, Information Processing in Medical Imaging, IPMI 2009, LNCS, 21:651-63
+
*Oguz I., Niethammer M., Cates J., Whitaker R., Fletcher T., Vachet C., Styner M. [http://www.na-mic.org/publications/item/view/1671 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
 
*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
+
*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, P. Fletcher, M. Styner, H. Hazlett, R. Whitaker, Particle-based shape analysis of multi-object complexes, MICCAI 2008, 477-85
+
*J. Cates J., Fletcher P.T., Styner M., Hazlett H.C., Whitaker R. [http://www.na-mic.org/publications/item/view/1473 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
 
*Cates, J., Fletcher, P., Whitaker, R.: Entropy-based particle systems for shape correspondence. MFCA Workshop, MICCAI 2006, 90–99

Latest revision as of 19:45, 8 June 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. Scalar attributes interpolation
      • Cortical thickness and sulcal depth interpolation on surface in correspondence
      • Tool: MeshMath (UNC module)
  • 3. Group statistical analysis
    • Tool: QDEC, a FreeSurfer/Slicer module
    • Tool: SurfStat, a Matlab toolbox
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