ECG Anomaly Detection

  • Tech Stack: Python, Streamlit, PyTorch, OpenCV, wfdb, scipy, neurokit2, matplotlib, FPDF
  • Github URL: Project Link

Overview

The ECG Analysis System is a comprehensive web application built with Streamlit that provides advanced electrocardiogram (ECG) signal analysis and classification capabilities. The system offers multiple methods for ECG analysis through an intuitive user interface with a beautiful design.

Features

  • Multi-modal ECG Analysis: Analyze ECG data from both signal files and images
  • Signal-based Detection: Process ECG signal files for heart condition classification
  • Image-based Detection: Extract and analyze ECG patterns from uploaded ECG images
  • Advanced Visualization: View processed ECG signals with detailed annotations
  • GradCAM Visualization: Understand model decisions through gradient-based class activation mapping
  • Comprehensive Reporting: Generate detailed PDF reports of analysis results

Technologies Used

  • Frontend: Streamlit with custom CSS for an interactive user experience
  • Signal Processing: wfdb, scipy, neurokit2 for ECG signal analysis
  • Image Processing: OpenCV, Pillow for ECG image preprocessing
  • Machine Learning: PyTorch, torchvision, timm for deep learning models
  • Visualization: Matplotlib, seaborn for data visualization
  • Reporting: FPDF for PDF report generation