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 restorable segmentation synthesis, ensuring the average across the synthetic contours asymptotically converges to the original ground truth contour. This allows evaluation of truthing methods by simulation of multiple observers’ segmentations. These can then 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 tasks to evaluate segmentation algorithms.
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 contours for generative AI models to potentially improve the training and robustness of AI models.
The clinical applications areas include the AI development/validation of medical imaging AI in domains such as Digital Pathology and Radiology imaging.
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 (shuyue.guan@fda.hhs.gov) or Weijie Chen (weijie.chen@fda.hhs.gov).
- 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.

