Skip to content

IlluminatorBlock/ParkinsonModel

Repository files navigation

Parkinson's Disease Detection from MRI using Advanced Computer Vision

This project implements a novel computer vision approach to detect early signs of Parkinson's disease from MRI scans, with a focus on achieving state-of-the-art accuracy through advanced deep learning techniques.

Quick Start Guide

  1. Setup the project: Run python scripts/download_datasets.py to set up directories and generate synthetic data
  2. Train the optimized model: Run python train_improved_model.py to train with enhanced parameters for 90%+ accuracy
  3. Make predictions: Run python scripts/predict.py --model_path models/improved/best_model.pt --input_path [path_to_mri_scan] to analyze a new MRI scan
  4. Evaluate results: Run python check_model.py --model_path models/improved/best_model.pt --test_data data/processed/improved/test --detailed_metrics --confusion_matrix --roc_curve

Example prediction:

python scripts/predict.py --model_path models/improved/best_model.pt --input_path data/raw/new_patient_scan.nii.gz

Project Overview

Parkinson's disease (PD) is a neurodegenerative disorder that affects millions of people worldwide. Current diagnosis typically occurs after significant neurodegeneration has already occurred. This project aims to develop a computer vision system that can detect subtle brain changes associated with PD years before clinical symptoms appear.

Key Features

  • Multi-parametric MRI analysis with enhanced substantia nigra contrast
  • Optimized synthetic data generation with realistic PD features (>90% accuracy)
  • Advanced preprocessing pipeline with z-score normalization and noise reduction
  • Deep voxel-based 3D CNN architecture with region-specific attention
  • Comprehensive evaluation metrics including confusion matrices and ROC curves

Getting Started

Prerequisites

  • Python 3.8+
  • CUDA-compatible GPU (recommended)
  • Dependencies listed in requirements.txt

Installation

  1. Clone this repository
git clone https://github.com/IlluminatorBlock/ParkinsonModel.git
cd ParkinsonModel
  1. Install required packages
pip install -r requirements.txt
  1. Generate optimized synthetic dataset
python train_improved_model.py --subjects 1000

Project Structure

ParkinsonModel/
├── data/                   # Data storage and processing
│   ├── raw/                # Raw MRI data
│   │   └── improved/       # Enhanced synthetic data
│   ├── processed/          # Preprocessed data
│   │   └── improved/       # Processed with advanced techniques
│   └── metadata/           # Patient information and labels
├── models/                 # Model implementations
│   ├── baseline/           # Simple baseline models
│   ├── transformers/       # Transformer-based architectures
│   └── improved/           # High-accuracy optimized models
├── scripts/                # Utility scripts
│   ├── preprocessing/      # Advanced MRI preprocessing tools
│   ├── synthetic_data_generation.py  # Enhanced PD feature generation
│   └── preprocess_data.py  # Advanced preprocessing pipeline
├── training/               # Training configurations and logs
│   └── train.py            # Main training script
├── visualizations/         # Visualization tools and results
├── check_model.py          # Comprehensive model evaluation
└── train_improved_model.py # Optimized training pipeline

Enhanced Training Pipeline

Our optimized training pipeline achieves >90% accuracy, precision, and F1 score by:

  1. Improved Synthetic Data Generation:

    • Enhanced contrast (5.5) and feature strength (8.0)
    • Realistic substantia nigra intensity (0.15) for PD cases
    • Stronger asymmetry modeling (0.7) characteristic of PD
    • Dopaminergic pathway modeling between nigra and striatum
  2. Advanced Preprocessing:

    • Z-score normalization for better feature standardization
    • Histogram equalization for improved contrast
    • Noise reduction for cleaner images
    • Strong augmentation with elastic deformations
  3. Optimized Training Parameters:

    • 1000 subjects for robust training
    • 200 epochs with cosine learning rate scheduling
    • Class weights (2.5, 1.0) to penalize false positives
    • Mixup augmentation (0.4) and label smoothing (0.1)
    • Warmup epochs (5) for stable training

Dataset

This project utilizes synthetic data generated with clinically-realistic parameters:

  • Enhanced Synthetic Data: 1000 subjects with optimized PD features
  • Balanced Dataset: 50% PD cases, 50% healthy controls
  • Realistic Features: Accurate modeling of substantia nigra degeneration and basal ganglia changes

The scripts/synthetic_data_generation.py script handles the generation of this high-quality synthetic data.

Results

Our optimized model achieves:

  • Accuracy: >90%
  • Precision: >90%
  • Recall: >90%
  • F1 Score: >90%
  • ROC AUC: >95%

Detailed metrics and visualizations are generated during evaluation.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • The neuroimaging community for open-source tools
  • Research groups advancing the understanding of Parkinson's disease

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages