Regularized Fast Marching (RFM) is a Python module for 3D Slicer dedicated to the semi-automatic segmentation of 3D medical images. In order to perform the segmentation of one or several organs of interest, the user first clicks on the location of different markups in the 3D image volume using the 3D Slicer interface. The segmentation is then performed based on a fast-marching algorithm. Following the methodology of [1], a regularization term is calculated at the first segmentation run to limit as much as possible the crossing of narrow bridges between irrelevant neighboring anatomical structures. The user can segment as many organs of interest as wanted, as long as he or she specifies their name/abbreviation/color/transparency in a predefined csv file, which has to be stored in the "Resources" directory of the RFM module. This work has been accepted at the IEEE International Symposium on Biomedical Imaging (ISBI) 2021 [2].
Start 3D Slicer, open the Extensions Manager, install "RegularizedFastMarching" extension, and restart the application.
The RFM module can be open from the toolbar "Welcome to Slicer" → "Segmentation" → "Regularized Fast Marching".
First, you have to load the 3D image volume to be segmented into 3D Slicer. The volume can be loaded using the "File" → "Add data" function from the main menu. For testing, "MRBrainTumor1" sample data set can be loaded using "Sample data" module.
Second, the csv file containing different information about the organs to segment has to be created. This file lists the organs of interest, their abbreviation to appear as annotation of the markup, their segmentation color and their label number. It is stored in "Resource" → "SegmentationFastMarching" → "SeedsLabels", where three examples of such files are already given. For instance, the file (SeedsNamesLabels_brain.csv (2)) contains the following labels: 1-Tumour, 2-Eye Right, 3-Eye Left and 4-Background. It is up to the user to add new application specific csv files in this directory.
If already known, different markups of the structures to segment can be loaded if they are located in the directory "Resource" → "SegmentationFastMarching" → "Seeds". For the BrainTumor example, three markups of the tumor and the eyes can be loaded (3.2) from the "three.seed (3.1)" file. Note that the information of this csv file can be retrieved in the "Segmentation editor" module of the "Markups" with "Name" corresponding to the annotation and "Description" corresponding to the label number.
Adding new markups, can be made with iterative [right-clicks + pressing keyboard touch "w"]. The label given to a new markup will be the one selected in the dropdown list of the Labels (4). The user can also constrain the segmentation propagation by placing a background markup with a right-click + keyboard touch "x". This is particularly useful when there is little intensity gradients at the boundary of an organ.
The parameters to tune are shown in (5). For the brain tumor example, they are:
- The distance is tuned to 170.
- The mask margin is set at 20 voxels to cover the tumor in the image volume.
- The regularization weight is set at 0.015.
- The regularization diameter is at 4 voxels to compute the regularization map.
- The eyes have low intensity values and the minimum threshold for which the spreading cannot go below is set at 10.
By pressing the button "Segment" (6), the user can see the regularization map appearing temporarily before the rFM segmentation result is displayed.
All markups can be moved or erased. For easy use, each markups belonging to the same organ/label can be delete at a time by clicking on the button "Clear this organ" (7). All markups are saved under a .seed file which name can be changed in the dedicated space (8).
Segmentation result is saved by default with the parameter values chosen by the user (9). The segmentation can be saved in different files by labels and/or intensities; a csv file can also be generated by checking the corresponding checkboxes (10), and then by clicking on the "Save segmentation" (11). Note than the segmentations files are saved under seg.nrrd format corresponding to the master volume space chosen in the Input Volume.
The MRBrainTumor1 volume in Sample Data module is a post-contrast T1-weighted MRI of a brain tumor. Example RFM segmentation result of this volume:
Table of segmentation detail (min, max, mean and SD values) on each segmentation label appears under the segmentation display window.
Aldrick FAURE1,2; Laurent RISSER2,3; Soléakhéna KEN1,4,5
1Institut Universitaire du Cancer de Toulouse Oncopole – Institut Claudius Regaud, Département de Physique Médicale, Toulouse, France
2Institut de Mathématiques de Toulouse, CNRS, Toulouse, France
3Artificial and Natural Intelligence Toulouse Institute (3IA ANITI), Toulouse, France
4Centre de Recherches en Cancérologie de Toulouse (CRCT) Team 11, INSERM, Toulouse, France
5Institut de Recherche en Informatique de Toulouse (IRIT), Team MINDS (coMputational imagINg anD viSion), Toulouse, France
The authors would like to thank Sandra Lebreton for her first implementation of the rFM segmentation algorithm in C++.
[1]: Risser, L., Ken, S., Lebreton, S., Grossiord, E., Kanoun, S. and Malgouyres, F. (2018), "Regularized multi-label fast marching and application to whole-body image segmentation" Proc. of ISBI, pp. 1323-1326. doi: 10.1109/ISBI.2018.8363815.
[2]: Faure, A., Risser, L., Ken, S. (2021), "Slicer RFM: a 3D Slicer module for the semi-interactive segmentation of 3D images." Accepted.



