Difference between revisions of "DBP2:UNC:Local Cortical Thickness Pipeline"
(39 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: | + | [[Image:GAMBITLogo.png|thumb|250px|GAMBIT Logo]] |
== Objective == | == Objective == | ||
− | We would like to create end-to-end | + | 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 == | == 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) | ||
<div style="margin: 20px;"> | <div style="margin: 20px;"> | ||
<div style="width: 42%; float: left; padding-right: 3%;"> | <div style="width: 42%; float: left; padding-right: 3%;"> | ||
− | Input: RAW images (T1-weighted, T2-weighted, PD-weighted images) | + | Input: CSV file containing RAW images (T1-weighted, T2-weighted, PD-weighted images) |
− | * '''1. Tissue segmentation''' | + | * '''1. Individual pipeline''' |
− | ** Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme | + | ** '''1.1. Intensity inhomogeneity correction''' |
− | ** Tool: | + | *** N4 Bias field correction |
− | * ''' | + | *** Tool: N4ITKBiasFieldCorrection (Slicer3 module) |
− | ** | + | ** '''1.2. Tissue segmentation''' |
− | *** Tool: | + | *** Probabilistic atlas-based automatic tissue segmentation via an Expectation-Maximization scheme |
− | ** | + | *** Tool: ABC (UNC/Utah Slicer3 external module) |
− | *** B-spline | + | ** '''1.3. Atlas-based ROI segmentation:''' |
− | *** Tool: | + | *** 1.3.1. Skull stripping using previously computed tissue segmentation label image |
− | ** | + | **** Tool: SegPostProcessCLP (UNC Slicer3 external module) |
− | *** Tool: | + | *** 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: | + | **** Tool: BRAINSResample (Slicer3 module) |
− | * ''' | + | ** '''1.4. Label map and white matter map creation''' |
− | ** Largest component computation | + | *** 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: WMSegPostProcess (UNC Slicer3 external module) | + | *** Tool: CortThick (UNC Slicer3 external module) |
− | * ''' | + | ** '''1.6. White matter map post-processing''' |
− | ** Tool: GenusZeroImageFilter (UNC Slicer3 external module) | + | *** Largest component computation, smoothing, connectivity enforcement, inside filling |
− | * | + | *** Tool: WMSegPostProcess (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. Genus zero cortical surface creation and inflation''' |
− | ** Iteration stopped if vertices that have too high curvature (some extremities) | + | *** 1.7.1. Genus zero cortical image and surface creation |
− | ** Tool: MeshInflation (UNC Slicer3 external module) | + | **** Tool: GenusZeroImageFilter (UNC Slicer3 external module) |
− | * | + | *** 1.7.2. White matter surface inflation |
− | ** Correction of the white matter map image (corresponding to vertices that have high curvature) with connectivity enforcement | + | **** Iterative smoothing using relaxation operator (considering average vertex) and L2 norm of the mean curvature as a stopping criterion |
− | ** Tool: | + | **** Iteration stopped if vertices that have too high curvature (some extremities) |
− | ** Go back to step | + | **** 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) |
− | * '''8. | + | **** 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) |
− | ** Sulcal depth computation using genus zero surface and inflated one | + | ** '''1.10. Particles initialization for cortical correspondence''' |
− | ** Tool: MeshMath (UNC module) | + | *** Initializing particles on inflated genus-zero surface using 98-lobe parcellation map and genus zero surface |
− | * ''' | + | *** Tools: MeshMath, ParticleInitializer (UNC Slicer3 external modules) |
− | ** Initializing particles on inflated surface using parcellation map and genus zero surface | + | ** '''1.11. Surface area computation''' |
− | ** Tools: ParticleInitializer (UNC Slicer3 external modules) | + | *** 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 | ** Correspondence on inflated surfaces using particle system | ||
− | ** | + | ** '''2.1. Correspondence Preprocessing''' |
− | * ''' | + | *** Distance maps creation from inflated genus-zero surfaces with slight gaussian blurring |
− | ** Tool: QDEC Slicer module | + | *** 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: [http://www.math.mcgill.ca/keith/surfstat/ SurfStat], a Matlab toolbox | ||
</div> | </div> | ||
Line 74: | Line 92: | ||
| [[Image:MeshBasedCortThick_T1Image.jpg|thumb|175px|T1-weighted image]] | | [[Image:MeshBasedCortThick_T1Image.jpg|thumb|175px|T1-weighted image]] | ||
| [[Image:MeshBasedCortThick_T1CorrectedImage.jpg|thumb|175px|T1 corrected image]] | | [[Image:MeshBasedCortThick_T1CorrectedImage.jpg|thumb|175px|T1 corrected image]] | ||
+ | |} | ||
+ | {| | ||
| [[Image:MeshBasedCortThick_T1LabelImage.jpg|thumb|175px|Label image]] | | [[Image:MeshBasedCortThick_T1LabelImage.jpg|thumb|175px|Label image]] | ||
| [[Image:MeshBasedCortThick_T1WMMesh.jpg|thumb|175px|White matter mesh]] | | [[Image:MeshBasedCortThick_T1WMMesh.jpg|thumb|175px|White matter mesh]] | ||
Line 93: | Line 113: | ||
| [[Image:MeshBasedCortThick_SulcalDepth.jpg|thumb|200px|Sulcal depth on genus-zero cortical surface]] | | [[Image:MeshBasedCortThick_SulcalDepth.jpg|thumb|200px|Sulcal depth on genus-zero cortical surface]] | ||
| [[Image:MeshBasedCortThick_SulcalDepthInflated.jpg|thumb|200px|Sulcal depth on inflated genus-zero cortical surface]] | | [[Image:MeshBasedCortThick_SulcalDepthInflated.jpg|thumb|200px|Sulcal depth on inflated genus-zero cortical surface]] | ||
+ | |} | ||
+ | {| | ||
| [[Image:MeshBasedCortThick_Particles.jpg|thumb|200px|Particles on inflated genus-zero cortical surface]] | | [[Image:MeshBasedCortThick_Particles.jpg|thumb|200px|Particles on inflated genus-zero cortical surface]] | ||
|} | |} | ||
Line 101: | Line 123: | ||
== Download == | == Download == | ||
− | === Brain atlases === | + | 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 === |
− | :* | + | |
− | :*Elderly atlas: http://www.insight-journal.org/midas/item/view/ | + | Source code, executables and tutorial are available on [http://www.nitrc.org/projects/gambit NITRC] |
+ | |||
+ | === Complementary downloads === | ||
+ | |||
+ | ==== Brain atlases ==== | ||
+ | Four brain atlases are available on MIDAS and on NITRC: | ||
+ | :* [http://www.insight-journal.org/midas/item/view/2277 Pediatric atlas] | ||
+ | :* [http://www.insight-journal.org/midas/item/view/2328 Adult atlas] | ||
+ | :* [http://www.insight-journal.org/midas/item/view/2330 Elderly atlas] | ||
+ | :* [http://www.insight-journal.org/midas/item/view/2283 Primate atlas] | ||
+ | |||
+ | ==== Pediatric MRI Brain data ==== | ||
+ | [http://insight-journal.org/midas/community/view/24 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 [[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 118: | Line 163: | ||
=== Comparison to state of the art === | === Comparison to state of the art === | ||
− | We would like to compare our pipeline with FreeSurfer | + | We would like to compare our pipeline with state of the art, such as FreeSurfer. |
== Planning == | == Planning == | ||
Line 124: | Line 169: | ||
=== Done === | === Done === | ||
− | + | * Workflow for group analysis (Slicer3 external module using BatchMake): | |
− | * Development of UNC Slicer3 modules | + | ** Development of UNC Slicer3 modules |
− | * Modules applied on small pediatric dataset from the Autism study | + | ** Modules applied on small pediatric dataset from the Autism study |
− | + | * Pediatric and adult brain atlases available to the community via MIDAS | |
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
** T1-weighted atlas | ** T1-weighted atlas | ||
** Tissue segmentation probability maps | ** Tissue segmentation probability maps | ||
** Subcortical structures 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 == | == 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. [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. | ||
+ | *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 |
Latest revision as of 19:45, 8 June 2011
Home < DBP2:UNC:Local Cortical Thickness PipelineBack to UNC Cortical Thickness Roadmap
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.3.1. Skull stripping using previously computed tissue segmentation label image
- 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.7.1. Genus zero cortical image and surface creation
- 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)
- 1.1. Intensity inhomogeneity correction
- 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
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]
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