SlicerLiver is an extension for the medical research software 3D Slicer providing tools for analysis, quantification and therapy planning for hepatic interventions.
The extension provides a fast and accurate solution for:
- Computation and visualization of liver vascular territories (liver segments).
- Definition of surgical resection in 3D using deformable surfaces, as well as the visualization of resection margins (risk areas).
- Download and install 3D Slicer according to your operating system from here : https://download.slicer.org/.
- Open Slicer.
- Press Ctrl+4 to open the extension manager. Or click the blue upper-right icon with the letter
E
. - Once the Extension Manager pops up, make sure to select the
Install Extensions
tab. - On the upper-right search box write "Liver"
- Click
Install
and give okay to install other extensions if asked. - Restart Slicer.
- Once 3D Slicer restarts, click the search icon on the left of the module selector and write 'Liver'. Click
Switch to module
.
To test the extension, the LiverVolume and LiverSementation data can be loaded from the Sample Data module, after installing Slicer-Liver. To properly load the data in the plugin, it is advised to first open the extension and afterwards to navigate to the Sample module and to load the data.
The extension is separated in the following three sections:
- Distance Map Computation: projection of the safety margins in real-time onto the resection surface, which allows the user to modify the resection proposal until the safety requirement are met.
- Resections: computation of the first approximation (planar Bézier) of the resection surface which can be subsequently modified through 16 control points.
- Liver Segments: calculation and visualization of liver vascular territories (liver segments).
Each section is oriented towards one part of the liver resection planning workflow but, if desired, can work independently of the other ones. At the end of the workflow, the distance map, resection plan and liver segments can be saved to a given output directory.
The computation of the Distance Map can be done using the following steps:
- Select the
Reference Volume
CT data. - Select the
Segmentation
, i.e the binary labelmap representation which stores the segmentation of the liver, tumour and vascular territories. - Select the
Tumor
segmentation. - Select the
Liver
segmentation. - Create new VectorVolume for
Output Distance Map
. - Finally, click on
Compute Distance Map
.
The liver resection can be planned through the following process:
- Create a new Liver Resection for
Resection
. - Select the labelmap (the same used in step 2 for the Distance Map Computation) for
Liver Segmentation
. - Select the
Liver
segmentation. - Optional: the user has the possibility to select the Distance Map computed at the end of the first section thought the collapsible button
Distance Map
. - In the 3D View, slide the contour surrounding the liver in the desired position through the MarkupSlidingContour.
- The initial resection plane will appear after dropping the mouse.
- The resection can be deformed using the control points (4x4). It is also possible to modify the
Resection grid
,Resection margin
andUncertainty margin
as desired. - Check
Preview resection
checkbox if you want to visualize the final resection plan.
There are multiple options to create visualizations for the resection (color, opacity, configurable grid, etc).
Our approach to liver segments definition consist of the defintion of a segment by the centerline connecting user-defined sets of points. These centerlines will be the base for computation of liver segments in image space. The computation is based on shortest-distance mapping. The Liver segments can be defined using the following steps:
- Select the
Segmentation
. - Select the hepatic/portal segmentation for
Segment
. - You can hide the liver segmentation for better visibility in the 3D view by going to: Modules > search for Data > click on Switch to Module > Click on the eye botton next to the liver segmentation.
- Switch to Liver module again.
- Create a new Point List for
Vessels points
. - Click the arrow button next to
Vessel points
," and place fixed landmark points on the hepatic/portal segmentation. These points will be useful for extracting the centralines of user-defined vessel branches. - Once all the points are placed, Click
Add Vessel Centerline Segments
. - Repeat steps 5 and 6 for creating new Point List, i.e extracting new centerlines.
- Click on
Calculate Vascular Segments
.
- If you want to visualize the liver segments in the 3D view:
- Click the search icon on the left of the module selector and write 'Data'. Click switch to module.
- Select the created VascularSegments labelmap and right click to
Convert label map to segmentation node
. - Click again the search icon and go to
Segmentations
module. - Select the new VascularSegmentations as
Active segmentation
. - Click on
Show 3D
.
Slicer-Liver depends on the VMTK which can be installed in Slicer3D using the extension manager or built following the steps for developers here: https://github.com/vmtk/SlicerExtension-VMTK#for-developers.
SLICER_BUILD_DIR=/path/to/Slicer-SuperBuild
git clone https://github.com/ALive-research/Slicer-Liver.git
cmake -DSlicer_DIR:PATH=SLICER_BUILD_DIR/Slicer-build -S ../Slicer-Liver
make -j5
make package
-
To enable the developer mode go to :
- Edit > Application Settings > Developer
-
Then check the
Enable developer mode
check box. The application may need to be restarted for this modification to be taken into account. -
To run the unit tests, open the Slicer-Liver extension, expand the
Reload & Test
menu and click on theReload and Test
button. -
To visualize the test results, open the Python console by going to: View > Python Interactor.
-
The number and the result of the tests will be displayed in the console. Should any of the test fail, please don't hesitate to open an issue or contact us through the Slicer forum.
- Rafael Palomar (Oslo University Hospital / NTNU, Norway)
- Ole Vegard Solberg (SINTEF, Norway)
- Geir Arne Tangen (SINTEF, Norway)
- Gabriella D'Albenzio (Oslo University Hospital)
- Ruoyan Meng (NTNU)
- Javier Pérez de Frutos (SINTEF, Norway)
- Héctor Martínez (Universidad de Córdoba)
- Francisco Javier Rodríguez Lozano (Universidad de Córdoba)
- Joaquín Olivares Bueno (Universidad de Córdoba)
- José Manuel Palomares Muñoz (Universidad de Córdoba)
Contact: [email protected]
This software is open source distributed under the 3-Clause BSD License
This software has partially been funded by The Research Council of Norway through the ALive project (grant nr. 311393).