ECG Axis Lab is a visual-first web application for exploring ECG lead geometry and frontal-plane projections. It is designed for educational purposes, learning, and transparent signal exploration—not for clinical diagnosis.
- Transparent: All mathematics are simple, documented, and inspectable
- Visual: Focus on geometric relationships and spatial understanding
- Adaptive: Responds gracefully to available lead data
- Non-diagnostic: Never classifies, diagnoses, or makes clinical recommendations
- Learner-focused: Includes simulation and teaching modes
- Waveform viewer
- Single-axis projection
- Optional beat/QRS selection
- No multi-lead geometry
- Both waveforms displayed
- Both lead axes shown
- Limited 2D vector estimate (marked as partial)
- Einthoven triangle rendering
- Triple-lead projection relationships
- Frontal vector estimate
- Hexaxial reference system
- Full frontal-plane geometry
- Robust vector estimation
- Projection comparison
- All waveforms viewable
- Geometry focus remains on frontal leads
- Precordial context
- Signal waveform visualization (Plotly)
- CSV/JSON upload and parsing
- Normalized lead handling
- Frontal-plane vector estimation (least-squares)
- Einthoven triangle detection
- Adaptive geometry rendering (SVG)
- Built-in demo data
- Simulation mode
- Data summary panel
- Drag-and-drop CSV upload
- Advanced preprocessing pipelines
- Export functionality
- Beat annotation
- Time-series animation
- Multi-patient comparison
- Offline mode
- PDF/image parsing
- Delineation algorithms
- Diagnostic classifiers
- Clinical validation
- User lands on homepage
- Clicks "Enter App"
- Selects a demo from sidebar
- Waveforms and geometry displayed
- Modifies simulation parameters
- Observes changed projections
- User uploads CSV or JSON file
- System auto-detects leads
- Reconstruction computed
- Results displayed
- User can manipulate via simulation mode
- User sets vector angle (slider)
- User sets magnitude (slider)
- Specifies which leads to show
- Synthetic ECG generated
- Geometric projection visualized
- User understands lead-vector relationship
- Rhythm classification (normal sinus, atrial fib, etc.)
- Axis categories ("normal", "left deviation", etc.)
- Pathology labels ("posterior MI", "LVH", etc.)
- Machine learning predictions
- Clinical decision support
- Real-time monitoring
- Integration with hospital systems
- Robustness: Handles single lead to 12-lead inputs without crashing
- Clarity: UI is intuitive; controls are obvious
- Accuracy: Vector estimates match synthetic ground truth within tolerance
- Speed: User interactions < 500ms latency
- Usability: New user can load demo and adjust parameters in < 30 seconds
- Documentation: Code is well-commented; API is self-documenting
- Page load: < 2 seconds
- Waveform rendering (500-1000 samples): < 100ms
- Vector reconstruction: < 50ms
- Simulation generation: < 100ms
- JSON parsing: < 50ms
- No data sent to third parties
- All APIs CORS-enabled for localhost development
- No authentication required (educational tool)
- No data persistence (client-side session only)
- No analytics or tracking
- Clean, readable typography
- High-contrast color scheme
- Keyboard navigation support (future)
- Semantic HTML
- Modern Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile-responsive design (optional for MVP)