-
Notifications
You must be signed in to change notification settings - Fork 200
Automated Segmentation
This MONAI Label App is based on a non-interactive model such as the standard UNet architecture or any other architecture the researcher wants to use. This App follows the same structure as the DeepGrow and DeepEdit Apps. The most important difference between this type of Apps and the interactive one is that it doesn't simulate clicks representing the foreground and background.
In order to create a single label segmentation App, users can start by running the following command:
monailabel apps --name generic_segmentation --download --output myApp
to create a non-interactive segmentation App. Then, change the ROI size, image spacing, and other transforms in the train_post_processing method if necessary. Otherwise, just organise the dataset as explained next.
Currently, MONAI Label supports nifty files (compressed and uncompressed) with a single modality for segmentation. As with all the Apps, the user has two options to organise the dataset: (1) upload images and labels through the Slicer module, or (2) organising the dataset on the server-side. For the latter, the researcher should make sure the folder contains the images and a subfolder called labels containing the labels with a prefix label_final_ (i.e. label_final_IMAGENAME.nii.gz)
In order to create a multiple label segmentation App, users can start by cloning heart ventricle segmentation App. Then, change in both the YAML file and the infer file the label names. Subsequently, change the ROI size, spacing, number of labels in the train_post_processing method if necessary.
When modifying your own App, make sure you are properly addressing these points:
- Is the image spacing properly defined?
- Is the intensity normalization customised to the task?
- Should you crop the image? Define the cropping (i.e. foreground cropping, central cropping, etc) if possible for better performance
- Don't forget to define the inverse transforms method in the infer script
- Are the label names the same in the YAML file as in the infer script?