2020 – 2021AI/ML

Cardiac Hypertrophy Diagnosis

Machine LearningHealthcareResearch

Final-year research project combining machine learning and a web application to predict cardiac hypertrophy and enlargement from electrocardiogram (ECG) records.

2
ML Model Architectures
ECG
Signal Input Type
R&D
Final Year Dissertation
Full Stack
Angular + Flask

Cardiac hypertrophy and enlargement are serious conditions that require timely diagnosis from ECG readings. Manual interpretation is time-consuming and depends heavily on specialist availability. An automated screening tool could assist clinicians by flagging abnormal patterns earlier in the diagnostic workflow.

The project was delivered in two phases. First, machine learning models — including Random Forest and Convolutional Neural Networks — were trained on ECG datasets using SciPy and Biosppy for signal processing. Second, an Angular web application with a Flask API backend was built to upload ECG records, run predictions, and present results to users in a clear clinical interface.

This research and development project was my undergraduate final-year dissertation. The goal was to design, develop, and evaluate a system capable of predicting cardiac hypertrophy and heart enlargement from ECG signal data — bridging clinical diagnostics with accessible software tooling.

What we built into the product

ECG Signal Processing

Preprocessing and feature extraction from raw ECG records

ML Classification

Random Forest and CNN models for hypertrophy detection

Clinical Web UI

Angular frontend for uploading records and viewing predictions

Research API

Flask backend serving model inference endpoints

PythonFlaskAngularTypeScriptRandom ForestCNNSciPyBiosppy

Research Methodology The first phase focused on **signal processing and model training**. ECG records were preprocessed using Biosppy and SciPy, with features extracted for classification. Both Random Forest and Convolutional Neural Network approaches were evaluated to compare traditional feature-based learning against deep learning on raw signal patterns. The second phase wrapped the trained models in a production-style web application. The Angular frontend handled file uploads and result visualisation, while the Flask API managed model loading, inference, and response formatting. This two-tier architecture separated research experimentation from the user-facing diagnostic workflow.

Cardiac Hypertrophy Diagnosis | Naveen Fernando