Setting up custom annotation projects using MONAI Label and 3D Slicer #7086
-
|
I am a newbie to MONAI Label. I am aiming to setup custom annotation/segmentation projects with MR datasets using MONAI Label and 3D Slicer. We require the ability to create custom segments for each project. At the moment, I am deploying a MONAI Label instance under Docker - mounting the volume of our local project datastore to /workspace/dataset. I have the data structured in the format MONAI Label requires: using nii.gz files for volumes and have dataset/labels/original and dataset/labels/final created. Once the Docker container is running on our compute server, I access the MONAI Label Server from the 3D Slicer MONAI Label module. This is working as expected but I can't seem to figure out how to just have a custom list of segment names in the segment editor. I see that you need to specify a model with starting the server so I have chosen one model or all and have set the use_pretrained_model to false: "--conf models all", "--conf use_pretrained_model false". Is there a way to deploy a MONAI Label server without using any pretrained models and use the 3D Slicer interface to perform manual segmentations? i.e. "monailabel start_server --app=apps/radiology --studies=/workspace/dataset" (no --conf arguments)? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
I think you still need to define the network architecture and some hyperparameters which are included in cc @diazandr3s |
Beta Was this translation helpful? Give feedback.
-
|
@diazandr3s - one quick follow up. Are the keys in self.labels dictionary required to be lower-case? Just wondering if I will need to modified data that has already been segmented manually. For example, I have 3D Slicer scene files (.mrb) that contain volumetric data at segment names - SPLEEN, NOT-SPLEEN. Just wondering if I can set self.labels = {"SPLEEN": 1, "NOT-SPLEEN": 2} or if they are required to be lower case in configs/segmentation.py. |
Beta Was this translation helpful? Give feedback.
Thanks for the ping, @wyli.
@rjkowalski this is a good question. As @wyli mentioned, you have to define the network architecture, labels to segment, etc.
For instance, if using the segmentation model, these are the labels you'll see in Slicer: https://github.com/Project-MONAI/MONAILabel/blob/main/sample-apps/radiology/lib/configs/segmentation.py#L37-L63
and the network: https://github.com/Project-MONAI/MONAILabel/blob/main/sample-apps/radiology/lib/configs/segmentation.py#L82
You could start the MONAI Label server with no pre-trained models. But there must be one configuration. i.e.
--conf segmentationI suggest not to use all models as they have different labels.