Advanced Brain Tumor Detection using AI-powered MRI Analysis
๐ TRY LIVE DEMO | ๐ง Upload & Analyze Brain Scans Instantly
NeuroView is a comprehensive web application designed for medical professionals to analyze brain MRI scans using custom-built artificial intelligence. The platform provides accurate, fast, and user-friendly tumor detection with detailed visual insights to support clinical decision-making.
๐ Try NeuroView Live - No installation required!
NeuroView combines cutting-edge machine learning with an intuitive interface to deliver:
- High Accuracy: 93.52% classification accuracy on test data
- Multi-class Detection: Identifies Glioma, Meningioma, Pituitary tumors, and No Tumor cases
- Real-time Analysis: Fast processing of MRI scans with immediate results
- Visual Insights: Annotated images with highlighted tumor regions and confidence scores
- Clinical Focus: Designed specifically for medical environments and workflows
- Advanced machine learning models analyze MRI brain scans with high precision
- Identifies potential tumor regions in seconds
- Multi-class classification for different tumor types
- Clean, medical-environment-friendly design
- Drag-and-drop file upload
- Real-time progress indicators
- Mobile-responsive design
- Confidence scores and class probabilities
- Interactive result displays
- Historical scan collection and management
- Comprehensive analysis reports
- Web application accessible from any browser
- Android mobile app available for on-the-go analysis
- Responsive design for tablets and mobile devices
NeuroView is live and ready to use!
๐ Visit NeuroView
Simply visit the website to:
- Upload brain MRI scans instantly
- Get AI-powered tumor analysis in seconds
- View detailed results with confidence scores
- Access your analysis history
No installation required - start analyzing brain scans immediately!
Want to run NeuroView locally or contribute to development?
- Node.js 18+
- npm or yarn
- Flask backend server (Python 3.8+)
-
Clone the repository
git clone https://github.com/yourusername/neuroview.git cd neuroview
-
Install dependencies
npm install # or yarn install
-
Set up environment variables
# Create .env.local file NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:5001 NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Run the development server
npm run dev # or yarn dev
-
Open your browser Navigate to http://localhost:3000
- Framework: Next.js 15.4.4
- UI Library: React 19.1.0
- Styling: Tailwind CSS 4
- Components: Headless UI
- Font: Funnel Display (Google Fonts)
- API: Flask (Python)
- Database: Supabase
- ML Framework: Custom Neural Network (built from scratch)
- Image Processing: PIL/OpenCV
- Frontend: Vercel/Netlify compatible
- Backend: Flask server deployment
- Database: Supabase cloud
-
Upload MRI Scan
- Visit neuroview-brainscans.vercel.app
- Navigate to the Input page or click "Upload"
- Drag and drop or browse for JPEG/PNG files
- Supported formats: JPEG, PNG
- File limit: 1 image per analysis
-
Analysis Process
- Click "Start Analysis" to begin processing
- AI model analyzes the uploaded scan in real-time
- Results display automatically upon completion
-
View Results
- Prediction result with tumor type classification
- Confidence score with visual progress bar
- Class probabilities for all tumor types
- Annotated image with highlighted regions
-
Manage Collection
- Access previous analyses in the Collection page
- Filter results by tumor type (Glioma, Meningioma, Pituitary, No Tumor)
- View detailed analysis for each scan
- Image Formats: JPEG, PNG
- File Size: Optimized for standard MRI scan resolutions
- Color: Grayscale MRI images (color images are automatically converted)
NeuroView uses a custom-built neural network designed specifically for brain tumor classification:
- Input Layer: 4,096 features (64x64 pixel MRI scans)
- Hidden Layer 1: 128 neurons with Leaky ReLU activation
- Hidden Layer 2: 64 neurons with Leaky ReLU activation
- Output Layer: 4 neurons (softmax) for multi-class classification
- Regularization: L2 regularization (ฮป = 0.01) and Dropout (0.4)
- Dataset: 7,023 brain MRI images
- Classes: Glioma, Meningioma, Pituitary, No Tumor
- Training Split: 5,712 images (81.3%)
- Test Split: 1,311 images (18.7%)
- Optimization: Adam optimizer with exponential learning rate decay
- Performance: 93.52% test accuracy, 93.61% validation accuracy
- Built from Scratch: No pre-trained models used
- Custom Architecture: Designed specifically for brain imaging data
- Robust Regularization: Prevents overfitting with dropout and L2 penalties
- Class Balancing: Weighted loss function handles class imbalances
The Flask backend provides the following endpoints:
// Get all analyzed images
GET / api / auto;
// Analyze new image
POST / api / auto;
// Form data: file (image file), name (optional)
// Get specific image by ID
POST / api / auto;
// JSON: { "id": "image_id" }
Supabase tables store:
- Images: Metadata, upload timestamps, file URLs
- Predictions: AI analysis results, confidence scores, class probabilities
- Users: User management and authentication (if enabled)
neuroview/
โโโ app/ # Next.js App Router
โ โโโ components/ # React components
โ โ โโโ AnalysisDisplay.js # Results visualization
โ โ โโโ Gallery.js # Image collection
โ โ โโโ Header.js # Navigation
โ โ โโโ UploadForm.js # File upload
โ โ โโโ ...
โ โโโ collection/ # Collection page
โ โโโ input/ # Upload & analysis page
โ โโโ development/ # Technical overview
โ โโโ layout.js # Root layout
โ โโโ page.js # Landing page
โโโ public/ # Static assets
โ โโโ *.png # UI icons and images
โ โโโ demo neuroview.gif
โโโ styles/ # Global styles
โโโ utils/ # API utilities
โ โโโ flaskAPI.js # Backend integration
โโโ package.json # Dependencies
โโโ README.md # This file
Create a .env.local
file in the root directory:
# API Configuration
NEXT_PUBLIC_API_BASE_URL=http://localhost:5001
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# Optional: Enable authentication
NEXT_PUBLIC_ENABLE_AUTH=false
๐ Production (Live):
- Live Website: neuroview-brainscans.vercel.app
- Hosting: Vercel deployment
- API: Production Flask backend
- Database: Supabase cloud database
- Ready to use: No setup required!
๐ ๏ธ Local Development:
- API runs on
http://localhost:5001
- Next.js dev server on
http://localhost:3000
- Hot reloading enabled
- Requires local setup (see Local Development Setup above)
NeuroView is also available as an Android application:
- Download: Android APK
- Features: Full upload and analysis capabilities
- Compatibility: Android 6.0+
- Offline: Results are cached locally
For detailed technical information about the AI model, training process, and evaluation metrics, visit the Development Overview page:
- Custom Neural Network: Built entirely from scratch without pre-trained models
- Dataset: Brain Tumor MRI Dataset by Masoud Nickparvar (7,023 images)
- Preprocessing: Images converted to pixel values and stored in CSV format
- Training: Manual forward/backward propagation with custom optimization
- Evaluation: Comprehensive confusion matrix and classification reports
We welcome contributions to NeuroView! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- UI/UX Improvements: Enhance the user interface and experience
- Model Enhancements: Improve accuracy or add new features
- Documentation: Expand guides and technical documentation
- Testing: Add unit tests and integration tests
- Mobile: Enhance the Android app or create iOS version
- Accessibility: Improve accessibility features
- Follow existing code style and patterns
- Write clear commit messages
- Add tests for new features
- Update documentation as needed
- Ensure responsive design compatibility
This project is licensed under the MIT License - see the LICENSE file for details.
- Brain Tumor MRI Dataset by Masoud Nickparvar
- Sources: Figshare, SARTAJ, and Br35H datasets
- Total Images: 7,023 human brain MRI images
- Classes: Glioma, Meningioma, Pituitary, No Tumor
- Next.js - React framework for production
- Tailwind CSS - Utility-first CSS framework
- Supabase - Open source Firebase alternative
- Headless UI - Unstyled, accessible UI components
- AI Model Architecture & Training
- Frontend Development & UI/UX Design
- Backend API Development
- Mobile Application Development
- Data Augmentation: Image rotation, zooming, and noise injection
- 3D CNN Integration: Process entire MRI volumes instead of 2D slices
- Transfer Learning: Incorporate medical imaging pre-trained components
- Real-time Collaboration: Multi-user analysis and sharing
- Advanced Visualizations: 3D tumor visualization and measurement tools
- Integration with hospital PACS systems
- Support for additional imaging modalities
- Automated report generation
- Clinical decision support features
If you encounter any issues or have questions:
- Check the Documentation: Review this README and in-app help
- Search Issues: Look through existing GitHub issues
- Create New Issue: Open a detailed issue report
- Discussion: Use GitHub Discussions for general questions
NeuroView - Empowering medical professionals with AI-driven brain tumor detection for faster diagnoses and better patient outcomes.
Built with โค๏ธ for the medical community