Personal tools
  • Help

arctic:MainPage

From NITRC Wiki

Jump to: navigation, search
ARCTIC Logo
ARCTIC Logo


Contents

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 developed: 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. Regional atlas deformable registration
    • 2.1 Skull stripping using previously computed tissue segmentation label image
      • Tool: SegPostProcess (UNC Slicer3 external module)
    • 2.2 T1-weighted atlas deformable registration
      • B-spline pipeline registration
      • Tool: RegisterImages (Slicer3 module)
    • 2.3. Applying transformation to the parcellation map
      • Tool: ResampleVolume2 (Slicer3 module)
  • 3. Cortical Thickness
    • Sparse asymmetric local cortical thickness
    • Tool: CortThick (UNC Slicer3 external module)
  • 4. Statistics
    • Generate spreesheats with volume informations
    • Tools: ImageMath, ImageStat (UNC Slicer3 external modules)
  • 5. Mesh Creation
    • Generation of white matter and grey matter meshes
    • Tool: ModelMaker (Slicer3 module)
  • 6. MRML scene creation
    • Creation of a MRML scene describing all the steps of the pipeline


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

ARCTIC Download

Executables and tutorial dataset

Available on NITRC : http://www.nitrc.org/projects/arctic/

ARCTIC is now directly available within 3D Slicer as an extension. Please read the documentation to install ARCTIC viaSlicer3 extension manager.


Release source code via svn

Required software/libraries

- Slicer Nighly Build

Download and install ARCTIC

  • Create and go to a ARCTIC/ directory
 mkdir ARCTIC
 cd ARCTIC
  • Download ARCTIC via svn :
 svn checkout https://www.nitrc.org/svn/arctic
  • Create and go to a ARCTIC-build/ directory
 mkdir ARCTIC-build
 cd ARCTIC-build
  • Start the project configuration with ccmake
 ccmake ../ARCTIC
  • Configure the project
 Press 'c' to start the configuration, Press "e" to exit help
 Set "CMAKE_BUILD_TYPE" -> RelWithDebInfo
 Set "Slicer3_DIR" -> "your Slicer3-nightly_build"/lib/Slicer3
 Press "c" to configure, Press "g" to generate the Makefile
  • Compile ARCTIC
 make


Complementary Downloads

Pediatric atlas

Available on MIDAS : http://www.insight-journal.org/midas/item/view/2277

Adult atlas

Available on MIDAS : http://www.insight-journal.org/midas/item/view/2328

Elderly atlas

Available on MIDAS : http://www.insight-journal.org/midas/item/view/2330


Tutorials

‏ ARCTIC tutorial : end-to-end Slicer3 module to perform automatic regional cortical thickness analysis

Previous versions : ‏ [v1.0]‏ [v1.1]

UNC Modules tutorial : UNC Slicer3 modules to perform regional cortical thickness analysis step by step

Online documentation within Slicer 3.6

http://www.slicer.org/slicerWiki/index.php/Modules:ARCTIC-Documentation-3.6

ARCTIC (Automatic Regional Cortical ThICkness) usage:

Prerequities

Add directories to the PATH variable

 -tcsh usage : setenv PATH ARCTIC-Executables-Directory:Slicer3-Plugins-Directory:Slicer3-Bin-Directory:${PATH}
 -bash usage : export PATH=ARCTIC-Executables-Directory:Slicer3-Plugins-Directory:Slicer3-Bin-Directory:${PATH}

Add libraries to the LD_LIBRARY_PATH variable

 -tcsh usage : setenv SLICERLIBPATH Slicer-nightly-build/lib
               setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${SLICERLIBPATH}/Python/lib:${SLICERLIBPATH}/Qdec:${SLICERLIBPATH}/RemoteIO:${SLICERLIBPATH}/Slicer3:${SLICERLIBPATH}/SlicerIO:${SLICERLIBPATH}/tclap:${SLICERLIBPATH}/TclTk/lib
               setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${SLICERLIBPATH}/igtl:${SLICERLIBPATH}/InsightToolkit:${SLICERLIBPATH}/ITKCommandIO:${SLICERLIBPATH}/KWWidgets:${SLICERLIBPATH}/LoadableModule:${SLICERLIBPATH}/MGHImageIO:${SLICERLIBPATH}/vtkTeem
               setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${SLICERLIBPATH}/bmModuleDescriptionParser:${SLICERLIBPATH}/FreeSurfer:${SLICERLIBPATH}/GenerateCLP:${SLICERLIBPATH}/GenerateLM:${SLICERLIBPATH}/ModuleDescriptionParser:${SLICERLIBPATH}/MRML
               setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${SLICERLIBPATH}/BatchMake:${SLICERLIBPATH}/IGT:${SLICERLIBPATH}/OpenIGTLink:${SLICERLIBPATH}/MRMLIDImageIO:${SLICERLIBPATH}/vtk-5.2:${SLICERLIBPATH}/vtkITK:${SLICERLIBPATH}/Teem-1.10.0
 -bash usage : export SLICERLIBPATH=Slicer-nightly-build/lib
               export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SLICERLIBPATH}/Python/lib:${SLICERLIBPATH}/Qdec:${SLICERLIBPATH}/RemoteIO:${SLICERLIBPATH}/Slicer3:${SLICERLIBPATH}/SlicerIO:${SLICERLIBPATH}/tclap:${SLICERLIBPATH}/TclTk/lib
               export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SLICERLIBPATH}/igtl:${SLICERLIBPATH}/InsightToolkit:${SLICERLIBPATH}/ITKCommandIO:${SLICERLIBPATH}/KWWidgets:${SLICERLIBPATH}/LoadableModule:${SLICERLIBPATH}/MGHImageIO:${SLICERLIBPATH}/vtkTeem
               export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SLICERLIBPATH}/bmModuleDescriptionParser:${SLICERLIBPATH}/FreeSurfer:${SLICERLIBPATH}/GenerateCLP:${SLICERLIBPATH}/GenerateLM:${SLICERLIBPATH}/ModuleDescriptionParser:${SLICERLIBPATH}/MRML
               export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SLICERLIBPATH}/BatchMake:${SLICERLIBPATH}/IGT:${SLICERLIBPATH}/OpenIGTLink:${SLICERLIBPATH}/MRMLIDImageIO:${SLICERLIBPATH}/vtk-5.2:${SLICERLIBPATH}/vtkITK:${SLICERLIBPATH}/Teem-1.10.0

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 -> Module Settings -> Add a preset button and then select the ARCTIC-Executables-Directory/

Command line execution

ARCTIC can be run with two different input modes.

Raw Image Mode

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

 ARCTIC --T1 Image_T1.gipl --segAtlasDir TissueSegmentationAtlasDirectory/ --atlas Atlas.gipl --atlasParcellation Parcellation.gipl

Complementary flags

 --T2 Image_T2.gipl / --pd Image_PD.gipl : T2 and/or Pd-weighted image(s) can be added to improve tissue segmentation
 --orientation RAI : if the orientation of your file(s) is different than the default value (RAI), add this flag to set the right orientation
 --segAtlasOrientation : if the orientation of your tissue segmentation atlas is different than the default value (RAI), add this flag to set the right orientation
 --atlasOrientation : if the orientation of your atlas/parcellation is different than the default value (RAI), add this flag to set the right orientation
 --atlasType T1 : if the type of your tissue segmentation atlas is different than T1 (default value) 
 --outputDir output_directory/ : if you want to select the output directory, add this flag and indicate the path an existing folder
 --SaveWM  WMCorticalThicknessMap.gipl / --SaveGM GMCorticalThicknessMap.gipl : those flags are used to save a volume with information of the average cortical thickness on WM/GM boundary(ies), the fileName needed is a path with the name of the output volume

Segmented Image Mode

Inputs: label image, regional atlas (parcellation map)

 ARCTIC --label label_image.gipl --rawImage raw_image.gipl --atlas Atlas.gipl --atlasParcellation Parcellation.gipl
 Notice : the "raw_image.gipl" file is a MRI image of the case. It can be a T1-weighted image as well as a T2 or a PD.

Complementary flags

 --WMLabel 1 / --GMLabel 2 / --CSFLabel 3 : if your label are different than the default value
 --outputDir output_directory/ : if you want to select the output directory, add this flag and indicate the path an existing folder
 --rawImageOrientation : if the orientation of your raw iamge is different than the default value (RAI), add this flag to set the right orientation
 --atlasOrientation : if the orientation of your atlas/parcellation is different than the default value (RAI), add this flag to set the right orientation
 --SaveWM  WMCorticalThicknessMap.gipl / --SaveGM GMCorticalThicknessMap.gipl : those flags are used to save a volume with information of the average cortical thickness on WM/GM boundary(ies), the fileName needed is a path with the name of the output volume

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

Output spreadsheets information

Cortical thickness information

These spreadsheets are located in the "CorticalThickness" directory.

WhiteMatDistanceMap_par_array.csv:

This spreadsheet contains lobar average cortical thickness measurements (in mm). It includes only sparse measurements on white matter boundary voxels. More precisely, it displays per lobe:  average cortical thickness, median, standard deviation, number of voxels used for cortical measurements, minimum cortical thickness and maximum cortical thickness.

Example:

Label Average Median Std Dev Nb Of Elem Min Max
0 nan 0 0 0 0 0
1 2.38 0.94 2.4 15096 0.47 8.04
2 2.45 0.94 2.42 14892 0.47 7.88
3 2.26 1.06 2.28 5722 0.47 8.73



WhiteMatDistanceMap_par_array_interp.csv:

This spreadsheet contains lobar average cortical thickness measurements (in mm). It includes sparse as well as interpolated measurements along the white matter boundary. More precisely, it displays per lobe:  average cortical thickness, median, standard deviation, number of voxels used for cortical measurements, minimum cortical thickness and maximum cortical thickness.

Example:

Label Average Median Std Dev Nb Of Elem Min Max
0 nan 0 0 0 0 0
1 2.5 0.61 2.54 70679 0.47 8.04
2 2.54 0.66 2.52 73057 0.47 7.88
3 2.69 0.82 2.63 33786 0.47 8.73



WhiteMatDistanceMap_par.csv:

This spreadsheet contains the list of all sparse cortical thickness measurements (in mm) per lobe. The first row displays the number of voxels which belong to each lobe.

Example:

0 15096 14892 5722
Lbl 0 Lbl 1 Lbl 2 Lbl 3
0 3.19 3.97 3.72
0 0.94 3.98 1.2
0 0.94 3.14 1.52
0 2.28 2.96 1.2


Volume information

These spreadsheets are located in the "Stat" directory.

TissueSegmentationVolumes.csv:

This spreadsheet displays tissue volumes in cubic millimeters.

Example:

WHITE MATTER 614982
GREY MATTER 890132
CSF 197927


ParcellationMapVolumes.csv:

This spreadsheet displays lobar tissue volumes in cubic millimeters. It contains as well lobar mean intensity, minimum intensity, maximum intensity and quantiles (1%, 5%, 33%, 50%, 66%, 95%, 99%) of the input T1w image.

Example:

LABEL VOLUME MEAN MIN MAX STD Q1 Q5 Q33 Q50 Q66 Q95 Q99
1 75056.3 2605.36 236.41 1928 4245 2138 2247 2492 2590 2686 3019 3265
2 77161.4 2602.62 221.65 1888 4054 2151 2268 2500 2590 2677 2979 3240
3 23317.3 2646.37 215.15 2088 3498 2238 2322 2539 2631 2719 3045 3226
Powered by MediaWiki
  • This page was last modified 15:16, 7 June 2011.
  • This page has been accessed 11,150 times.
  •