Tips for helping sct_propseg's CSF segmentation?


Dear people of the SCT community,

Does anyone have tips for improving the results of CSF segmentations using propseg? The cord segmentations for my dataset look pretty good already, but CSF segmentations seem pretty rough at times. I’ve fiddled with changing parameters such as -max-deformation and the like, as advised in the documentation for helping the cord segmentation but I’ve not noticed much improvement on the CSF segmentations.


Segmentation holds pretty well in C1 and C2, but at C3 it begins to show signs of trouble (see above, excuse the low quality image) as the spinal canal transitions towards a less rounded shape.

It is possible that my images are not ideal (we are using images that have been cropped and resampled with JIM - because we wished to recycle some measurements that had been done upon this set) and I may be pushing the algorithm - still, any advice will be appreciated.



Hi @Andres_Garcia

Thank you for the feedback. We are aware of the limitations of CSF segmentation using sct_propseg. We are planning to create a more robust method using deep learning. A ticket has been opened here.



Many thanks for your quick response, Julien.

Despite the limitations, are there any parameters I can adjust or extra processing steps I could take to try and improve the results?

For instance, I find that first segmenting the cord with an increased -max-deformation and -max-area and then using the resulting centerline as the -init-centerline for a second segmentation gives me the best results for cord segmentations (with this set) without needing to provide a manual init. But as I said, as much as I try to play with -max-deformation and whatnot, I cannot seem to get the CSF segmentation to budge much (other than cutting it when the cord segmentation itself ends short from propagation failure) - it seems pretty rigid.

Could you offer some insight as to how the CSF segmentation works in propseg, perhaps? (I don’t seem to be able to find much about it in the documentation. I apologize in advance in case I’ve missed it) I’ve done some tests and it seems that CSF and cord segmentations have no intersection, which suggests that you are growing the CSF mask from the outermost layer of the segmented cord (and perhaps there isn’t much deformation, ocurring here). Is the stopping condition something to do with contrast level? (I’ve shied away from touching -min-contrast and -d. Perhaps those could help me here?)



CSF segmentation is using the same algorithm as for cord segmentation, i.e., propagation of tubular mesh in the superior-inferior direction. More information about the algorithm can be found in De Leener et al. TMI 2015.

You could play around with some of the parameters (e.g. min-contrast), but in general the performance of CSF segmentation is poor on T1w images. Results are much better on T2w scans.



I see! The paper really did help dispell some of my confusions. I apologize again for my ignorance on this matter.

It seems then, that a deepseg CSF option is really what would help me here, given my choice of images - very much looking forward to that in the future.

Thanks again, Julien.

Feature request: CSF segmentation (and maybe probabilistic maps) for deepseg