Check sct_label_vertebrae quality

Dear all,

What would be your procedure to check the quality of the label_vertebrae?

we have observed that in a few cases, the function misses its objective.
Sometimes we found cases where, even though the segmentation starts above c1, the first label(with value = 1) is found within the c2 space. Therefore, the following sct_process_segmentation -i ... -vert 2:3 -vertfile ..._seg_labeled is wrong, although the program can run.

Do you have any ideas on how to automatically detect this? When we had 20, 30, 50 patients we would do this manually but now we have a massive cohort and it can’t/shouldn’t be done this way.

thanks for your help!


Hi @Aran,

C2-C3 detection is not perfect. We found it fails in ~10% of the cases, depending on image quality.

Best practice is:

  • run sct_label_vertebrae with -qc flag
  • review all cases (takes 2s per subject)
  • for cases that fail, manually initialize C2-C3 (takes 5s per subject)
  • re-run the whole pipeline, accounting for the manual corrections

an example of the workflow is available here:


Dear Julien,

Could you tell us the difference between running sct_label_vertebrae with -qc flag and sct_qc -p sct_label_vertebrae?

After taking a look to the script you comment, the sct_qc routine in line 167 works perfectly!

Thank you very much


sct_qc -p sct_label_vertebrae does not perform labeling. It takes a labeled segmentation as input and displays it in a QC. It is only used for QC purpose, e.g., in case you run a pipeline over a large number of subjects, and some subjects include manual labeling, you want to make sure that the manual labeling was done correctly.

Hello Julien,

Just a tiny typo, i think this line should be changed to “results folder” :wink:

Amazing work,


1 Like

Thank you for reporting the typo! Fixed here.