Cerebellum CNN

From IACL
Revision as of 19:23, 5 June 2020 by Aaron (talk | contribs) (Updated with the new publication.)
Jump to navigation Jump to search

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

Cerebellum Parcellation with Convolutional Neural Networks

Automatic cerebellum anatomical parcellation using U-Net with locally constrained optimization (ACAPULCO) is our current cerebellum parcellation method. The associated publication is:

  • S. Han, A. Carass, Y. He, and J.L. Prince, "Automatic Cerebellum Anatomical Parcellation using U-Net with Locally Constrained Optimization", NeuroImage, 218:116819, 2020. (doi)

It can be downloaded as a Singularity image. The download is 1.3GB. If you use it please cite the NeurooImage paper. 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"