Skip to content

ankhafizov/olfactory-bulb-segmentation

Repository files navigation

Olfactory Bulb Segmentation

shield_aws


The goal of this project is to show the implementation of the paper Meshkov, Alexandr, et al. "Deep Learning-Based Segmentation of Post-Mortem Human’s Olfactory Bulb Structures in X-ray Phase-Contrast Tomography." Tomography 8.4 (2022): 1854-1868.

web

Launch

AWS server

Disclaimer: may be temporary not available.

https://ec2-52-73-12-215.compute-1.amazonaws.com/

Locally, using Docker

Pull this repository and execute:

docker-compose up

open:

http://0.0.0.0:5000

Locally, without Docker

Install python (3.8.12 is recomended) neccessary dependencies:

pip install -r http_client/requirements.txt -r sample_segmentation/requirements.txt -r layers_segmentation/requirements.txt

than open 3 console tab and execute in each tab separately

python http_client/run.py
python layers_segmentation/server.py
python sample_segmentation/server.py

open:

http://0.0.0.0:5000

Architecture

The app is developed using the microservice approach. Each server is launched in Docker (blue containers on the image below), which are interconnected in one docker-compose file (red one).

web

In AWS also Apache 2.4 was utilised as a reverse proxy for port 5000.

We hope that this scheme will be helpful if new features should be implemented. In that case, the corresponding code should be put in the Docker container, and connected to Central Processor (see http_client/app/views.py) afterwards.

Further investigations

  • enable CUDA for inference
  • add link to published paper and citation column
  • run flask WSGI as gunicorn
  • redirect internal service error to 400