NeuroSight is a web-based application that uses deep learning to classify brain tumors from MRI scans. It can identify three types of brain tumors:
- Glioma
- Meningioma
- Pituitary Tumor
- User-friendly web interface
- Real-time image processing
- High-accuracy tumor classification
- Confidence rate display for each tumor type
- Responsive design for both desktop and mobile devices
| Component | Technologies |
|---|---|
| Frontend | HTML, TailwindCSS, JavaScript |
| Backend | Flask (Python) |
| Machine Learning | TensorFlow/Keras |
| Image Processing | PIL, NumPy |
-
Clone the repository:
git clone https://github.com/penzulo/neurosight.git cd neurosight -
Install required packages:
pip install flask tensorflow pillow numpy werkzeug
-
Download the pre-trained model: Place
brain_tumor_classifier.kerasin the root directory.
-
Start the server:
python server.py
-
Open a web browser and navigate to:
http://localhost:5000 -
Upload an MRI scan on the home page and view classification results.
This system leverages a Convolutional Neural Network (CNN) trained on brain MRI scans. Key details:
- Image Format: 512x512 RGB
- Output: Classification probabilities for tumor types
- Automatic Preprocessing: Resize and preprocess uploaded images
GET /- Home pageGET /upload- Upload pagePOST /predict- Processes uploaded images and returns predictionsGET /results/<filename>- Displays the results page
The application includes error handling for:
- Invalid file uploads
- Missing files
- Server processing errors
- Model prediction errors
Contributions are welcome! Feel free to fork the project and submit a pull request.
