spinalcordtoolbox / manual-correction

Scripts for the manual correction of spinal cord labels
MIT License
4 stars 0 forks source link

3DSlicer exploration - versioning strategy #96

Open maxradx opened 5 months ago

maxradx commented 5 months ago

A feature from manual_correction script is to save a .json file to track records of annotator/segmentation process when a segmentation mask is created. Segmentation mask versions are also greatly managed by git.

However, manual segmentations / manual corrections are often performed without standard-of-procedures and by both medical imaging expert and non-expert (e.g. students). Even for expert-considered individuals, manual segmentation is laborious and subject to high variability: a radiology training curriculum is very different and far from a pixel/voxel annotation task! This has been shown to reveal a high variability in the ground-truth segmentation used for deep-learning models training. Another consideration is the lack of resources for performing manual segmentations.

In that context, some revision steps are often required to achieve the best consensus about how the lesion should be considered as input data for deep-learning model training. Managing versions with git has several advantages, but a limitation is the ability to easily display different versions at the same time. This could be useful in manual correction steps (e.g. correction from segmentation provided from a pre-existing segmentation model) or for revising an already completed annotation (e.g. by a student) and avoiding restarting manual segmentation from scratch.

3DSlicer exploration has been done with promising results. As a matter of facts, it is possible from a 3DSlicer module to easily manage different version in display at the same time and select the one required to save. Example video (visual only) of 3DSlicer versioning that can be achieved from python script.

TO DO: