The Restorable Segmentation Synthesis (RSS) Tool is software in Python that generates synthetic segmentation contours with user-specified parameters to control segmentation errors on pre-defined truth contours. The RSS tool offers a graphical user interface (GUI) and command-line functions that can be inserted into a user’s own code. The GUI allows for visualization of the synthesis segmentation, interactive tuning of the parameters, and display of several segmentation evaluation results. Both GUI and command-line functions allow batch processing.
The RSS tool provides image restorable segmentation synthesis function. This function was designed such that the average across the synthetic contours asymptotically converges to the original truth contour. This allows evaluation of truthing methods by simulation of multiple observers’ segmentations that can be fused with a truthing method to define a reference standard (truth). More importantly, the RSS tool enables the creation of benchmark datasets to compare different truthing methods and can also be used for data augmentation in training AI for medical imaging.
The RSS tool supports multiple activities by end users and AI developers including:
- Investigating properties of segmentation performance metrics and informing segmentation metric selection.
- Investigating truthing methods and informing truthing method selection by allowing users to assess the impact of different augmentation methods for combining multiple segmentation (truth) masked provided by a set of truthers.
- Augmenting segmentation masks for improving training of AI segmentation models.
The intended users of this RSS tool include AI segmentation algorithm developers and reviewers. The clinical use cases include AI-based segmentation applied to Digital Pathology and Radiology image datasets.
This section will help you to install the packages needed for RSS-tool.
RSS-tool was developed and tested in the Environment of Python 3.8.
And it depends on the core packages listed in the Requirements:
numpy
opencv-python
scipy
scikit-image
scikit-learn
pillow
simpleitk~=2.1.1
matplotlib~=3.4.3
labelfusion~=1.0.14
tqdm
pandas
- Download the whole repository from its GitHub and put all files as their original structure in a folder (named "RSS-tool").
https://github.com/didsr/RSS-tool
-
Use GUI
-
Use Command-line Functions
- All main functions are in the files
IPfunctions.py,LabelFusion.py, andseg_measures.py. - Use
from <FileName> import <FunctionName>in Python to include the functions into your codes. - Details of available functions can be found in the "The Use of Codes (Core Functions)" chapter in the User's Manual: Link.
- All main functions are in the files
User's Manual: Link
If you find that RSS-tool is useful or if you use it in your project, please cite this code and the paper:
https://didsr.github.io/RSS-tool/
The paper to be published.
For any questions/suggestions/collaborations regarding this tool, please contact Shuyue Guan ([email protected]) or Weijie Chen ([email protected]).
- This project was supported in part by an appointment to the ORISE Research Participation Program at the Center for Devices and Radiological Health, U.S. Food and Drug Administration, administered by the Oak Ridge Institute for Science and Education through an interagency agreement between the U.S. Department of Energy and FDA/CDRH.

