Container for a Python web app predicting MKI category of neuroblastoma (nb) using YOLO model.
Contributors: H.T. - developed the model & wrote the main processing scripts/ M.S. - made the web app.
Instructions for running containers in a local environment (written by M.S.)
-
Pull the image on the target machine. Note: Use the "latest" tag.
- $ docker pull mayushibata/nb:latest
- $ docker images # Verify that the image has been pulled successfully.
-
Run the container. Note: The port number for the container is fixed at 5000.
- $ docker run -p (MACHINE_PORT):5000 -d (IMAGE_ID) # (MACHINE_PORT): Port number for handling app requests on the container's host machine. e.g. 30000
- $ docker ps # Verify that the container status is "Up".
-
Use the app
- Enter http://(MACHINE_IP):(MACHINE_PORT) (e.g.192.0.2.1:30000) in the web browser. # (MACHINE_PORT): The port number specified in step 2.
- Use the app. Note: The job may take up to 180 seconds.
-
Pause and restart the container.
- $ docker stop (CONTAINER_ID) # Pause. (CONTAINER_ID): Identify by executing $ docker ps -a
- $ docker start (CONTAINER_ID) # Restart.
Overview of the application (written by H.T.)
This system uses a YOLO-based object detection model to classify the MKI (Mitotic-Karyorrhectic Index) of neuroblastoma samples.
This automated process offers a fast and consistent method for MKI classification, supporting more efficient and accurate neuroblastoma prognosis.
How It Works:
- The system randomly selects images from a folder and extracts them until it detects a total of 5000 tumor cells.
- For each image, the YOLO model identifies and counts mitotic (M) and karyorrhectic (K) cells.
- It calculates the MKI value based on the total number of M and K cells.
- The sample is classified into one of the following MKI categories:
- Low: MKI < 0.02 (fewer than 100 M+K cells per 5000 tumor cells)
- Intermediate: 0.02 ≤ MKI ≤ 0.04 (100–200 M+K cells per 5000 tumor cells)
- High: MKI > 0.04 (more than 200 M+K cells per 5000 tumor cells)