-
-
Load a image using drag & drop or select files
-
Then it's mask will be automatically found using the inference model, use show mask to see the mask of the brain tumor
-
Click on show graph now, it shall show a dash plotly for you to edit and work with the mask
-
Yeah, then it can zoomed, using closed freeform tool..it can be manipulated, and also can be saved
Inspiration
Being part of brain tumor segmentation team at university, this idea has been lingering behind in my head for reasonable amount of time to create a semi automated tool for annotation purposes in medical field in which a rough work is done by the computer and only the precision work is done by human experts.
What it does
It provides a computer aided brain tumor segmentation annotation tool for radiologists to reduce the errors and help with their work.
How we built it
Four main components on how I built of the project
- Model: Holds details regarding the model that was trained and other details. Model is written in pytorch(UNET) and used figshare dataset. This was the first step.
- segment_server: Flask server that serves the inference model using REST api. This was the second setup and was relatively easy.
vectorization_server: NodeJs-Express server that converts Raster images to Vector Image svg path. These svg path are the masks that can can overlaid on the orginal tumor for annotation purpose. This was horribly difficult as no good tools available in Python. This was the third step
annotation_client: Dash app that provides the front-end to work with the segmentation server and allows for manual annotation after automatic annotation is done by inference model.
Challenges we ran into
By far, the biggest was conversion of raster images to svg paths with no support available in python or julia (languages I'm comfortable in). That easily eat up half my time, then I had to create a vectorization_server rest api for conversion from raster images to vector images using potrace.js to get the svg paths in a way that was acceptable to dash app and plotly graphs.
Accomplishments that we're proud of and What we learned
I never did Flask server, Express server and not even Dash server ever before. I knew about brain tumor segmentation but not enough about these topics but I think I did fairly well with my deployements.
What's next for DL supported Brain Annotation Tool
Improvements in UI,UX is biggest one and to make it more accessible. Then availabilty of other models and improvements in accuracy. There is lot of space for improvement in speed of the process.

Log in or sign up for Devpost to join the conversation.