Difference between revisions of "Cerebellum CNN"
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 | + | :* 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|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.
- Removing the neck should improve the results, such as using
- 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
- Install Singularity 2.6
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 isimage.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"