spinalcord¶
Spinal cord segmentation agnostic to MRI contrasts
The contrast agnostic spinal cord segmentation uses a 3D CNN model based on the nnUNet framework. Training data consists of healthy controls from the open-source Spine Generic Multi Subject database and pathologies from private datasets including DCM, MS, SCI (Acute, Intermediate and Chronic; Pre/Post-operative) patients. Segmentations have been tested with the following contrasts: [T1w, T2w, T2star, MTon_MTS, GRE_T1w, DWI, mp2rage_UNIT1, PSIR, STIR, EPI], but other contrasts that are close visual matches may also work well with this model.
Reference¶
@article{bedard2025towards,
title={Towards contrast-agnostic soft segmentation of the spinal cord},
author={Bédard, Sandrine and Karthik, Enamundram Naga and Tsagkas, Charidimos and Pravatà, Emanuele and Granziera, Cristina and Smith, Andrew and Weber II, Kenneth Arnold and Cohen-Adad, Julien},
journal={Medical Image Analysis},
pages={103473},
year={2025},
publisher={Elsevier}
}
Project URL: https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/
usage: sct_deepseg spinalcord [-i <file> [<file> ...]] [-o <str>] [-install]
[-custom-url CUSTOM_URL [CUSTOM_URL ...]]
[-largest {0,1}] [-fill-holes {0,1}]
[-remove-small REMOVE_SMALL [REMOVE_SMALL ...]]
[-qc <folder>] [-qc-dataset <str>]
[-qc-subject <str>] [-qc-plane <str>]
[-qc-seg <file>] [-h] [-v <int>] [-r {0,1}]
[-test-time-aug]
INPUT/OUTPUT¶
- -i
Image filename(s) to segment. If segmenting multiple files, separate filenames with a space.
- -o
Output file name. The chosen filename will be used as a base name, and model-specific suffixes will be added to the end depending on the type of output (e.g. ‘_cord.nii.gz’, ‘_gm.nii.gz’, etc.).
TASKS¶
- -install
Install models that are required for specified task.
Default:
False- -custom-url
URL(s) pointing to the
.zipasset for a model release. This option can be used with-installto install a specific version of a model. To use this option, navigate to the ‘Releases’ page of the model, find release you wish to install, and right-click + copy the URL of the.ziplisted under ‘Assets’. Example:sct_deepseg spinalcord -install -custom-url CUSTOM_URLsct_deepseg spinalcord -i t2.nii.gz
PARAMETERS¶
- -largest
Possible choices: 0, 1
Keep the largest connected object from each output segmentation; if not set, all objects are kept.
Default:
0- -fill-holes
Possible choices: 0, 1
If set, small holes in the segmentation will be filled in automatically.
Default:
0- -remove-small
Minimal object size to keep with unit (mm3 or vox). A single value can be provided or one value per prediction class. Single value example: 1mm3, 5vox. Multiple values example: 10 20 10vox (remove objects smaller than 10 voxels for class 1 and 3, and smaller than 20 voxels for class 2).
- -test-time-aug
Perform test-time augmentation (TTA) by flipping the input image along all axes and averaging the resulting predictions. Note: The time it takes to run the model will increase due to the additional predictions.
Default:
False
MISC ARGUMENTS¶
- -qc
The path where the quality control generated content will be saved.
- -qc-dataset
If provided, this string will be mentioned in the QC report as the dataset the process was run on.
- -qc-subject
If provided, this string will be mentioned in the QC report as the subject the process was run on.
- -qc-plane
Possible choices: Axial, Sagittal
Plane of the output QC. If Sagittal, it is highly recommended to provide the
-qc-segoption, as it will ensure the output QC is cropped to a reasonable field of view.Default:
'Axial'- -qc-seg
Segmentation file to use for cropping the QC. This option is useful when you want to QC a region that is different from the output segmentation. For example, it might be useful to provide a dilated cord segmentation to expand the QC field of view.
If
-qc-segis not provided, the default behavior will depend on the value of-qc-plane:‘Axial’: Without ‘-qc-seg’, a sensible crop radius between 15-40 vox will be automatically used, depending on the resolution and segmentation type.
‘Sagittal’: Without ‘-qc-seg’, the full image will be displayed by default. (For very large images, this may cause a crash, so using
-qc-segis highly recommended.)
- -v
Possible choices: 0, 1, 2
Verbosity. 0: Display only errors/warnings, 1: Errors/warnings + info messages, 2: Debug mode.
Default:
1- -r
Possible choices: 0, 1
Remove temporary files.
Default:
1