Skip to content

ScanHippoHealth: MRI segmentation using 3D-Unet on Medical Segmentation Decathlon data. Flask app with secure authentication, predicting and displaying six slices of input MRI alongside masks for precise hippocampus segmentation. Contributions welcome to enhance medical image analysis for better diagnostics.

License

Deepa1172/Capstone-ScanHippoHealth

Repository files navigation

ScanHippoHealth 🧠💊

ScanHippoHealth Logo

ScanHippoHealth is a sophisticated MRI segmentation project specifically designed for the segmentation of the Hippocampus. The project utilizes the dataset provided by the Medical Segmentation Decathlon for Generalizable 3D Semantic Segmentation.

Overview

The project employs a 3D-Unet architecture for accurate segmentation. The architecture diagram can be found below-

Architecture Diagram

Features 🚀

  • User Authentication: Secure (Input Validations) login, logout, and registration functionalities are integrated.
  • Data Security: User passwords are hashed and salted using the bcrypt library before storage in the MYSQL database.
  • MRI Segmentation: Users can upload MRI images in .nii.gz format through the user-friendly Flask application.
  • Prediction and Visualization: The model predicts the MRI images and displays six slices of the input image along with the corresponding mask. This aids in visualizing the segmentation results. The displayed output showcases six slices due to the nature of the input MRI, which constitutes a 3D volume, making it unfeasible to display entirely.

How to Use 🔎

  1. Clone the Repository

    git clone https://github.com/Sanjay71013/ScanHippoHealth-Medical-MRI-Segmentation.git
  2. Create Virtual Environment

    python -m venv .venv
  3. Activate Virtual Environment

    .venv\Scripts\activate.bat
  4. Install Dependencies

    pip install -r requirements.txt
  5. Setup your own Database and create a table named "accounts" in MySQL Workbench

    CREATE DATABASE db;
    USE db;
    
    CREATE TABLE IF NOT EXISTS accounts( 
    id int(11) NOT NULL AUTO_INCREMENT, 
    username varchar(50) NOT NULL, 
    password varchar(255) NOT NULL, 
    email varchar(100) NOT NULL unique, 
    PRIMARY KEY (id) 
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  6. Create a .env file to store your database "MYSQL_HOST", "MYSQL_USER", "MYSQL_PASSWORD", "MYSQL_DB" and "APP_SECRET_KEY"

  7. Run the Application

    python app.py

Screenshots 📸

Login Page

Login Page

Registration Page

Registration Page

Creating a User

Creating a User

Successfully Registered

Successfully Registered

Database After Registration

Database After Registration

Input Validation and User Validation in Login Page

Input and User Validation

Home Page of ScanHippoHealth

Home Page

About ScanHippoHealth (1)

About ScanHippoHealth

About ScanHippoHealth (2)

About ScanHippoHealth

Upload Option for MRI Image

Upload MRI Image

Predicted Image and Mask Slices

Predicted Image and Mask

Contributing 🤝

Current contributors are Sanjay Mythili, Deepashree Vaideeswar. Contributions are welcome! Feel free to open issues or submit pull requests.

License 🪪

This project is licensed under MIT License.

About

ScanHippoHealth: MRI segmentation using 3D-Unet on Medical Segmentation Decathlon data. Flask app with secure authentication, predicting and displaying six slices of input MRI alongside masks for precise hippocampus segmentation. Contributions welcome to enhance medical image analysis for better diagnostics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published