Brain Tumor Detection

A deep learning-based application for detecting brain tumors from medical X-ray/MRI images using Convolutional Neural Networks (CNN). This project provides an intuitive GUI interface built with Tkinter for easy interaction and real-time predictions.

AI & Machine LearningPythonMIT

Abstract

Brain Tumor Detection is an open-source AI & Machine Learning project. A deep learning-based application for detecting brain tumors from medical X-ray/MRI images using Convolutional Neural Networks (CNN). This project provides an intuitive GUI interface built with Tkinter for easy interaction and real-time predictions. The model achieves high accuracy in binary classification, making it a valuable tool for preliminary screening and research purposes. It is built using Python. Key capabilities include: GUI-Based Interface: Easy-to-use Tkinter interface for non-technical users; Data Import: Automated data loading from structured directories; CNN Architecture: Multi-layer convolutional neural network with pooling. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

The model achieves high accuracy in binary classification, making it a valuable tool for preliminary screening and research purposes.

A deep learning-based application for detecting brain tumors from medical X-ray/MRI images using Convolutional Neural Networks (CNN). This project provides an intuitive GUI interface built with Tkinter for easy interaction and real-time predictions.

2. Objective

A deep learning-based application for detecting brain tumors from medical X-ray/MRI images using Convolutional Neural Networks (CNN). This project provides an intuitive GUI interface built with Tkinter for easy interaction and real-time predictions.

This project demonstrates how Python can be applied to a real-world AI & Machine Learning problem.

3. Key Features / Modules

  • GUI-Based Interface: Easy-to-use Tkinter interface for non-technical users
  • Data Import: Automated data loading from structured directories
  • CNN Architecture: Multi-layer convolutional neural network with pooling
  • Real-time Training: Live training progress with validation metrics
  • Image Testing: Upload and test individual brain scans
  • Data Augmentation: Automated image preprocessing and augmentation
  • High Accuracy: Achieves competitive accuracy on test datasets
  • Model Persistence: Trained models can be saved and reused

4. Technology Stack

Python
  • tensorflow - Neural network framework
  • keras - High-level deep learning API
  • tflearn - Additional deep learning utilities
  • scikit-learn - Machine learning utilities (confusion matrix, metrics)
  • opencv-python (cv2) - Computer vision operations
  • matplotlib - Visualization and plotting
  • Pillow (PIL) - Image manipulation
  • pydicom - DICOM medical image processing

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/TejaNaik15/Brain-Tumor-Detection.git
cd Brain-Tumor-Detection
pip install -r requirements.txt
tensorflow==2.12.0
keras==2.12.0
numpy==1.23.5
pandas==2.0.0
matplotlib==3.7.1
opencv-python==4.7.0.72
Pillow==9.5.0
pydicom==2.3.1
tflearn==0.5.0
scikit-learn==1.2.2
# For programmatic use
from main import LCD_CNN
from tkinter import Tk

root = Tk()
app = LCD_CNN(root)
root.mainloop()

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by TejaNaik15 and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship