Difference between revisions of "Cerebellum CNN"

From IACL
Jump to navigation Jump to search
Line 13: Line 13:
 
* The image is rigidly registered to the [http://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009 ICBM2009c] nonlinear symmetric template using the ANTs package.
 
* The image is rigidly registered to the [http://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009 ICBM2009c] nonlinear symmetric template using the ANTs package.
 
* The cerebellum of an MNI-registered MPRAGE image is parcellated using the method described in "Shuo Han, et al., Cerebellum parcellation with convolutional neural networks, SPIE 2019 Medical Imaging Image Processing".
 
* The cerebellum of an MNI-registered MPRAGE image is parcellated using the method described in "Shuo Han, et al., Cerebellum parcellation with convolutional neural networks, SPIE 2019 Medical Imaging Image Processing".
:* Removing the neck should improve the results, such as using "robustfov" from [https://fsl.fmrib.ox.ac.uk/fslcourse/lectures/practicals/intro2/index.html fsl], but it is not done in this Singularity image.
+
:* Removing the neck should improve the results, such as using <code>robustfov</code> from [https://fsl.fmrib.ox.ac.uk/fslcourse/lectures/practicals/intro2/index.html fsl], but it is not done in this Singularity image.
 
* The parcellation is transformed back to the original space using ANTs with the "MultiLabel" interpolation.
 
* The parcellation is transformed back to the original space using ANTs with the "MultiLabel" interpolation.
 
* Generate .png files of slices in the axial, coronal, and sagittal views for quality control.
 
* Generate .png files of slices in the axial, coronal, and sagittal views for quality control.
 +
 +
{{h3|File structure}}
 +
 +
The processing will create subfolders '''<code>n4/</code>''', '''<code>mni/</code>''', '''<code>parc/</code>''', and '''<code>pics/</code>''' under the output folder. The final parcellation result is directly under the output folder.
 +
* '''<code>*n4.nii.gz</code>''' is the bias field corrected image
 +
* '''<code>*n4_mni.nii.gz</code>''' is the image in the MNI space
 +
* '''<code>*n4_mni_seg.nii.gz</code>''' is the parcellation from the deep networks
 +
* '''<code>*n4_mni_seg_post.nii.gz</code>''' is the post-processed result.
 +
* '''<code>*n4_mni_seg_post_inverse.nii.gz</code>''' is <u>the final post-processed result in the original space</u>.
 +
* The subfolder '''<code>pics/final/</code>''' contains the axial, coronal, and sagittal slices of the file '''<code>*n4_mni_seg_post_inverse.nii.gz</code>'''.
  
 
{{h3|Installation}}
 
{{h3|Installation}}
Line 23: Line 33:
 
* The Singularity image can only run on '''CPU''' although [https://www.tensorflow.org TensorFlow] and [https://keras.io Keras] are used, because the Singularity image only contains the CPU version of TensorFlow.  
 
* The Singularity image can only run on '''CPU''' although [https://www.tensorflow.org TensorFlow] and [https://keras.io Keras] are used, because the Singularity image only contains the CPU version of TensorFlow.  
  
* Assume that the Singularity image is ~/cerebellum-parcellation.simg, the image to parcellate is image.nii.gz, and the output folder is ~/output
+
* Assume that the Singularity image is <code>~/cerebellum-parcellation.simg</code>, the image to parcellate is <code>image.nii.gz</code>, and the output folder is <code>~/output</code>
 +
 
 
  singularity run ~/cerebellum-parcellation.simg -i ~/image.nii.gz -o ~/output
 
  singularity run ~/cerebellum-parcellation.simg -i ~/image.nii.gz -o ~/output
  
* If the image.nii.gz is under /path/to/image which is not under your home directory
+
* If the <code>image.nii.gz</code> is under <code>/path/to/image</code> which is not under your home directory
  
 
  singularity run -B /path/to/image:/mnt ~/cerebellum-parcellation.simg -i /mnt/image.nii.gz -o /mnt/output
 
  singularity run -B /path/to/image:/mnt ~/cerebellum-parcellation.simg -i /mnt/image.nii.gz -o /mnt/output
Line 33: Line 44:
 
  singularity run ~/cerebellum-parcellation.simg -h
 
  singularity run ~/cerebellum-parcellation.simg -h
  
{{h3|File structure}}
 
 
The processing will create subfolders '''"n4"''', '''"mni"''', '''"parc"''', and '''"pics"'' under the output folder. The final parcellation result is directly under the output folder.
 
* '''"*n4.nii.gz"''' is the bias field corrected image
 
* '''"*n4_mni.nii.gz"''' is the image in the MNI space
 
* '''"*n4_mni_seg.nii.gz"''' is the parcellation from the deep networks
 
* '''"*n4_mni_seg_post.nii.gz"''' is the post-processed result.
 
* '''"*n4_mni_seg_post_inverse.nii.gz"''' is the final post-processed result in the original space.
 
* The subfolder '''"pics/final"''' contains the axial, coronal, and sagittal slices of the file '''"*n4_mni_seg_post_inverse.nii.gz"'''.
 
  
 
{{h3|Cerebellum labels}}
 
{{h3|Cerebellum labels}}

Revision as of 17:57, 16 April 2020

<meta name="title" content="Cerebellum Parcellation with Convolutional Neural Networks"/>

Cerebellum Parcellation with Convolutional Neural Networks

This work originally appeared at Proceedings of SPIE Medical Imaging (SPIE-MI 2019), San Diego, CA, February 16 - 21, 2019. It can be downloaded as a Singularity image. The download is 1.3GB. If you use this work please cite:

  • S. Han, Y. He, A. Carass, S.H. Ying, and J.L. Prince, "Cerebellum parcellation with convolutional neural networks", Proceedings of SPIE Medical Imaging (SPIE-MI 2019), San Diego, CA, February 16 - 21, 2019. (doi).

If you have any questions, please email Shuo Han at shan50@jhu.edu.

What the Singularity image can do

The Singularity performs the following steps:

  • ROBEX is used to estimate a brain mask. This mask is then smoothed to generate a brain weight image. The mask is not used for skull-stripping. It is only used for the bias field correction below.
  • N4 from ANTs is used to perform the bias field correction. The bias field is estimated using the weight image calculated above.
  • The image is rigidly registered to the ICBM2009c nonlinear symmetric template using the ANTs package.
  • The cerebellum of an MNI-registered MPRAGE image is parcellated using the method described in "Shuo Han, et al., Cerebellum parcellation with convolutional neural networks, SPIE 2019 Medical Imaging Image Processing".
  • Removing the neck should improve the results, such as using robustfov from fsl, but it is not done in this Singularity image.
  • The parcellation is transformed back to the original space using ANTs with the "MultiLabel" interpolation.
  • Generate .png files of slices in the axial, coronal, and sagittal views for quality control.

File structure

The processing will create subfolders n4/, mni/, parc/, and pics/ under the output folder. The final parcellation result is directly under the output folder.

  • *n4.nii.gz is the bias field corrected image
  • *n4_mni.nii.gz is the image in the MNI space
  • *n4_mni_seg.nii.gz is the parcellation from the deep networks
  • *n4_mni_seg_post.nii.gz is the post-processed result.
  • *n4_mni_seg_post_inverse.nii.gz is the final post-processed result in the original space.
  • The subfolder pics/final/ contains the axial, coronal, and sagittal slices of the file *n4_mni_seg_post_inverse.nii.gz.

Installation

Example Usage

  • The Singularity image can only run on CPU although TensorFlow and Keras are used, because the Singularity image only contains the CPU version of TensorFlow.
  • Assume that the Singularity image is ~/cerebellum-parcellation.simg, the image to parcellate is image.nii.gz, and the output folder is ~/output
singularity run ~/cerebellum-parcellation.simg -i ~/image.nii.gz -o ~/output
  • If the image.nii.gz is under /path/to/image which is not under your home directory
singularity run -B /path/to/image:/mnt ~/cerebellum-parcellation.simg -i /mnt/image.nii.gz -o /mnt/output
  • Print help
singularity run ~/cerebellum-parcellation.simg -h


Cerebellum labels

   "12":  "Corpus_Medullare",
   "33":  "Left_Lobules_I-III",
   "36":  "Right_Lobules_I-III",
   "43":  "Left_Lobule_IV",
   "46":  "Right_Lobule_IV",
   "53":  "Left_Lobule_V",
   "56":  "Right_Lobule_V",
   "63":  "Left_Lobule_VI",
   "60":  "Vermis_VI",
   "66":  "Right_Lobule_VI",
   "73":  "Left_Lobule_VIIAf",
   "76":  "Right_Lobule_VIIAf",
   "74":  "Left_Lobule_VIIAt",
   "70":  "Vermis_VII",
   "77":  "Right_Lobule_VIIAt",
   "75":  "Left_Lobule_VIIB",
   "78":  "Right_Lobule_VIIB",
   "83":  "Left_Lobule_VIIIA",
   "80":  "Vermis_VIII",
   "86":  "Right_Lobule_VIIIA",
   "84":  "Left_Lobule_VIIIB",
   "87":  "Right_Lobule_VIIIB",
   "93":  "Left_Lobule_IX",
   "90":  "Vermis_IX",
   "96":  "Right_Lobule_IX",
   "103": "Left_Lobule_X",
   "100": "Vermis_X",
   "106": "Right_Lobule_X"