BrainScan is a next-gen medical imaging analysis system that leverages AI to detect and classify brain tumors from MRI scans. Built with cutting-edge tech by Gen Z developers, this project makes medical analysis accessible and user-friendly.
-
Rakshith Ganjimut (@Rakshi2609)
- Project Lead
- Backend Development
- Model Architecture
-
Tanush Bhootra (@tanushbhootra576)
- Frontend Development
- UI/UX Design
- Integration Testing
This project is actively maintained by the team. We're continuously working on:
- Improving model accuracy
- Adding new features
- Enhancing the user interface
- Implementing feedback from healthcare professionals
We welcome contributions! Please feel free to submit Pull Requests or open Issues for any bugs/improvements.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- TJSO Initiative for supporting the project
- Dataset provided by [Dataset Source]
- TensorFlow team for the excellent deep learning framework
- Medical professionals who helped in validating the model's performance
- Open source community for various tools and libraries used in this projectields.io/badge/TensorFlow-2.15-orange.svg)](https://tensorflow.org)
BrainScan is an advanced medical imaging analysis system that leverages deep learning to assist in the detection and classification of brain tumors from MRI scans. Developed by Tanush Bhootra and Raksh, this project aims to provide healthcare professionals with a reliable tool for preliminary tumor analysis.
- Medical-grade classification system
- State-of-the-art deep learning model
- Modern web interface for easy access
- Detailed analysis and reporting
- Privacy-focused design
The system can analyze MRI scans and classify them into four distinct categories:
- π΄ Glioma
- π‘ Meningioma
- π’ No tumor
- π΅ Pituitary
- Advanced Deep Learning Model: Utilizes transfer learning with VGG16 architecture
- Multi-Class Classification: Detects four types of brain conditions with high accuracy
- Modern Web Interface: Built with React and Vite for a smooth user experience
- Real-time Processing: Instant classification results with confidence scores
- Responsive Design: Works seamlessly on both desktop and mobile devices
βββ Backend/
β βββ brain_tumor_classification.py # Training script
β βββ predict_brain_tumor.py # Prediction script
β βββ brain_tumor_app.py # GUI application
β βββ brain_tumor_model.h5 # Trained model
β βββ requirements.txt # Python dependencies
β
βββ Frontend/
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Application pages
β β βββ services/ # API services
β βββ public/ # Static assets
β βββ package.json # Node.js dependencies
- Pre-trained VGG16 network as feature extractor
- Custom classification layers:
- Flatten layer
- Dropout (30%)
- Dense layer (256 neurons, ReLU)
- Dropout (20%)
- Softmax output (4 classes)
- React 18 with Vite for fast development
- Tailwind CSS for responsive styling
- RESTful API integration
- Real-time image processing and display
-
Create and activate the virtual environment:
python -m venv brain_tumor_env .\brain_tumor_env\Scripts\Activate.ps1 -
Install dependencies:
pip install -r requirements.txt
-
Navigate to the frontend directory:
cd brain-tumor-frontend
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
Run the training script:
python brain_tumor_classification.pyThe script will:
- Load and preprocess the brain MRI images
- Display sample images from the training set
- Train the model using transfer learning with VGG16
- Save the trained model as 'brain_tumor_model.h5'
- Evaluate the model on the test set
The model achieves approximately 80% accuracy on the test set, demonstrating strong performance in medical image classification. Performance metrics include:
- Accuracy: ~80%
- Precision: ~78%
- Recall: ~76%
- F1-Score: ~77%
Intuitive drag-and-drop interface for MRI scan uploads
AI-powered analysis with detailed classification results
Note: Screenshots are for illustration. The actual interface may vary slightly based on the latest updates.
import requests
url = 'http://localhost:5000/predict'
files = {'image': open('mri_scan.jpg', 'rb')}
response = requests.post(url, files=files)
prediction = response.json()- Open the application in your browser
- Click "Upload Image" or drag and drop an MRI scan
- View the classification results and confidence scores
- Export or save the results as needed
- This model is intended for research and educational purposes only
- Always consult healthcare professionals for medical diagnoses
- Model performance may vary with different MRI equipment and scan qualities
- Regular model updates and retraining are recommended for optimal performance
Contributions are welcome! Please feel free to submit a Pull Request.
- Dataset provided by [Dataset Source]
- TensorFlow team for the excellent deep learning framework
- Medical professionals who helped in validating the model's performance
- For medical applications, this should be considered a research tool rather than a diagnostic tool
- Always consult medical professionals for actual diagnoses
- Implement cross-validation to ensure model robustness
- Add image preprocessing for better feature extraction
- Include more detailed metrics (precision, recall, F1 score)
- Add explainability features (heatmaps to show which regions influenced the prediction)
- Deploy as a web application for easier access

