Hi everyone! I’m interested in developing a liver segmentation extension enabled by self-supervised learning (Vision Transformer as the backbone structure) for 3D slicer. I’m still fine-tuning the model and it is now able to achieve a dice score as high as 0.95 on the validation dataset. Does my plan sounds reasonable to you? I would appreciate any suggestions from the community
Thanks in advance!
That sounds very useful, yes.
I’m curious if it could work together with what
@RafaelPalomar and team have been putting together.
That sounds fantastic!
@LingFeng I have a team working on liver resection and ablation applications. We are currently working on our first release for a liver resection planning extension. We are also looking into segmentation.
I would suggest that you join
project week. You are welcome to join the Slicer-Liver project for further discussion.
It may be worth reaching out to
@Thibault_Pelletier who worked on SlicerRVXLiverSegmentation extension and see how your work could complement and/or leverage that extension.
@jcfr for the suggestion!
@Thibault_Pelletier, would you or someone in your team like to join the Slicer-Liver project during Project Week?
Unfortunately I will not be available to participate during the project week.
I can most certainly make some time to discuss what we did in our extension and how we could work together moving forward.
I will also forward the invitation to the other members of the RVesselX project. Hopefully some will be available to participate for the NA-MIC week
@LingFeng and @RafaelPalomar regarding the liver segmentation using machine learning, we have added an extra segment editor effect which does just that to our extension.
The code for the extension is accessible here :
The specifics of the ML model and the associated Slicer integration is available here :
This file has been truncated.
from SegmentEditorEffects import *
from monai.inferers.utils import sliding_window_inference
from monai.networks.layers import Norm
from monai.networks.nets.unet import UNet
from monai.transforms import (AddChanneld, Compose, Orientationd, ScaleIntensityRanged, Spacingd, ToTensord)
from monai.transforms.compose import MapTransform
from monai.transforms.post.array import AsDiscrete, KeepLargestConnectedComponent
import numpy as np
from slicer.ScriptedLoadableModule import *
from slicer.util import VTKObservationMixin
On our end, we used a UNET model implemented using MONAI and trained on the Medical Decathlon and IRCAD dataset for CT volumes reaching DICE scores of about .95 as well.
Hope this helps.