Home - ml-workgroup/image-segmentation-study-manager GitHub Wiki
Image Segmentation Study Manager (ISSM)
Welcome to the Image Segmentation Study Manager (ISSM) wiki!
Description
This project has been created to support medical staff in radiology on segmentation tasks e.g. in the field of breast diagnostic.
It provides a standalone application written in Python Flask to visualize the current status and guide the segmentation processes of scans (cases) in Nifti file format. Additionally this application implements it's own storing format of cases with a multitude of meta data stored in a SQLite database.
User Roles
To guide the process of segmentation this application implements different types of users to enable a hierarchial permission system. The current types are:
- Technical Administrator
- (Research-) Project Administrator
- Reviewer
- User
Besides the technical administrator all types are bound to specific projects.
Technical Administrator
The technical administrator(s) have all permissions available. Their task is to manage the userbase (add/edit/delete users, change their roles in/for projects, etc.) of the ISSM application and manage (add/delete) projects.
Project Administrator
When a project has been created, a registered user (not the user role 'User') of ISSM can be assigned as the project administrator. The project administrator's tasks include:
- assign (or remove) users to the project as Reviewer or User
- manage the data pool
- add/edit (metadata)/delete images (status = [created|deleted])
- purge segmentation data
- add/delete automatic segmentation (models)
- add/edit (metadata)/delete splits (subsets of the data pool which can be exported for external processing like machine learning tasks)
- add/edit (metadata)/delete metrics (TBD)
Reviewer
After being assigned as a reviewer in a project by an administrator, the reviewers tasks include:
- Queuing/Unqueuing images for manual segmentation (status = queued)
- Queues exist for the general segmentation pool of a project and for each individual user
- Review manual segmentation (status = [accepted|rejected])
- Assinging images to splits
- set/reset status of images (status = [created|queued|accepted|rejected] => Warning: Having images on status accepted while there is no validated or even non segmentation data at all might result in unwanted behaviour in splits)
User
After being assigned as a user in a project by an administrator, the user's tasks include:
- Claiming images from the project's segmentation pool (status = claimed)
- create/edit/delete manual segmentation of the image
- send finished manual segmentation (with message) to reviewer (status = ready for review)
Workflow
In general the workflow looks like in the diagram below. A project is created by a technical admin and several users are configured for the project. A project admin will upload an image and therefore create the first case of the project. Now the project reviewer (or anyone above this role) decides, that this image should be segmented and puts it in the segmentation pool from where a normal user (or anyone above this role) assigns it to himself. Now the assignee is able to submit a manual segmentation which is basicly the mask image and may add a comment to the segmentation for the reviewer. Afterwards a reviewer (or higher role) can review the segmentation and may reject or accept it.
Utility
This workflow helps managing all sizes of projects with segmentation data and the implementation is planned to be extended in near future with all above mentioned functions.
Prerequisites
This project makes use of Datatables and especially the commercial version Datatables Editor. In order to use the ISSM you need to have a license for the datatables editor and need to place the corresponding .js and .css files in the directory /app/static/datatable_editor.
If you want to run ISSM in docker you need to have the docker service installed in order to build and run the docker image.
Installation
As this is a project forked from the Flask-User Starter App v1.0 you can see the guide how to setup this project in the root README.md of the ISSM Github Project.
In order to work as expected you need to copy your licensed version of the datatables editor into the directory /app/static/datatable_editor.
For the docker setup see the dedicated wiki page Docker Setup.