A comprehensive healthcare data and medical image processing application for managing patient health data, analyzing biomedical signals, processing medical images, and creating interactive visualizations.
MediAnalyze Pro is a desktop application built with PyQt5 that provides healthcare professionals and researchers with tools to:
- Manage and analyze patient health metrics
- Process and analyze biomedical signals (ECG/EEG)
- Process medical images (X-ray, MRI, CT scans)
- Generate comprehensive data visualizations
- Perform statistical analysis and correlation studies
Phase 1-2: Foundation & Database
- Project structure and setup
- SQLite database with 6 tables (patients, health_metrics, medical_images, biomedical_signals, correlation_results, spectrum_analysis)
- Complete CRUD operations with relationships
Phase 3-4: Data Management
- CSV data loading with auto-delimiter detection
- Data validation (medical value ranges, data types)
- Bulk data import with progress tracking
- Flexible data retrieval with filtering
- Data export to CSV
Phase 5: Signal Processing
- Synthetic ECG/EEG signal generation
- Signal loading from CSV/TXT/DAT files
- Signal preprocessing (normalization, filtering, noise reduction)
- FFT spectrum analysis (magnitude, power spectrum, PSD)
Phase 6: Image Processing
- Medical image loading (PNG, JPEG, BMP, TIFF, DICOM)
- Image processing operations (grayscale, blur, edge detection, thresholding, CLAHE)
- Image metadata extraction and database storage
Phase 7: Visualization
- Time-series plots
- Scatter plots with correlation analysis
- Correlation heatmaps
- FFT spectrum plots
- Image comparison viewer
Phase 8-13: GUI Application
- Data Management Tab: CSV import, patient CRUD operations, data retrieval
- Health Analysis Tab: Data filtering, correlation analysis (Pearson/Spearman), time-series analysis
- Spectrum Analysis Tab: Signal loading, synthetic generation, FFT analysis with multiple visualizations
- Image Processing Tab: Image upload, processing operations, side-by-side comparison
- Data Visualization Tab: Comprehensive visualization interface for all data types
- Language: Python 3.8+
- GUI: PyQt5
- Database: SQLite (SQLAlchemy ORM)
- Data Processing: NumPy, Pandas, SciPy
- Image Processing: OpenCV, Pillow
- Visualization: Matplotlib, Seaborn
- Python 3.8 or higher
- pip package manager
- make (optional, for Makefile commands)
-
Clone the repository:
git clone <repository-url> cd "MediAnalyze Pro"
-
Run full setup (creates venv and installs dependencies):
make setup
-
Activate virtual environment:
source venv/bin/activate # On macOS/Linux # OR venv\Scripts\activate # On Windows
-
Run the application:
make run
-
Clone the repository:
git clone <repository-url> cd "MediAnalyze Pro"
-
Create and activate virtual environment:
python3 -m venv venv source venv/bin/activate # On macOS/Linux # OR venv\Scripts\activate # On Windows
-
Install dependencies:
pip install -r requirements.txt # OR make install # (if venv is active)
# Launch GUI application
make run
# Run all tests
make test
# Run tests with coverage report
make test-cov
# Initialize database
make init-db
# Clean temporary files
make clean
# View all available commands
make help# Launch GUI application
python run_gui.py
# Run all tests
pytest
# Run specific test file
pytest tests/test_database.py
# Run with coverage
pytest --cov=src tests/
# Initialize database
python -m src.database.init_dbMediAnalyze Pro/
├── src/
│ ├── database/ # Database models, CRUD operations
│ ├── data_processing/ # Data loading, filtering, correlation
│ ├── signal_processing/ # FFT analysis, signal generation
│ ├── image_processing/ # Image operations, metadata
│ ├── visualization/ # Plotting functions
│ └── gui/ # PyQt5 GUI components
│ └── tabs/ # Feature tabs (5 tabs implemented)
├── data/ # Data storage (images, signals, processed data)
├── tests/ # Unit and integration tests
├── datasets/ # Sample datasets
├── run_gui.py # Application entry point
└── requirements.txt # Python dependencies
- Use Data Management tab to import CSV files with health data
- View, insert, update, or delete patient records
- Retrieve and filter data from the database
- Load health metrics from database
- Apply filters (Moving Average, Threshold, Outlier Removal)
- Compute correlations between metrics (Pearson/Spearman)
- Generate time-series visualizations
- Load signal files or generate synthetic ECG/EEG signals
- Configure FFT parameters (window function, frequency range)
- View time-domain, frequency-domain, and power spectrum plots
- Upload medical images (X-ray, MRI, CT)
- Apply processing operations (blur, edge detection, thresholding, etc.)
- Compare original vs processed images side-by-side
- View image metadata
- Select visualization type (Time-Series, Scatter, Heatmap, FFT, Image Comparison)
- Load data from database, CSV, signal files, or images
- Configure visualization parameters
- Generate and export visualizations
Comprehensive unit tests are available for all modules:
- Database operations
- Data processing (loading, filtering, correlation)
- Signal processing
- Image processing
- Visualization
- GUI components
Run tests with: pytest