Inspiration

Cardiovascular diseases can be difficult to understand when clinical information is presented only as numbers and medical terminology. I wanted to explore how machine learning and interactive 3D visualization could work together to make cardiac risk estimates easier to explore and understand.

This idea led to CardioVision3D, an educational prototype that combines cardiac risk prediction with an interactive 3D anatomical heart model.

What it does

CardioVision3D uses machine learning to estimate four outcomes:

Coronary Artery Disease (CAD): Overall CAD probability.

LAD: Left Anterior Descending artery stenosis probability.

LCX: Left Circumflex artery stenosis probability.

RCA: Right Coronary Artery stenosis probability.

Users can enter available clinical information through an organized form and view the model's estimated probabilities in a dashboard. The application also includes an interactive 3D heart that can be rotated and zoomed to explore the anatomy.

The project uses the extension of the Z-Alizadeh Sani dataset, which contains demographic, clinical, laboratory, ECG, and echocardiographic information.

How we built it

The machine learning workflow uses Python, pandas, NumPy, and scikit-learn to prepare clinical features, train classification models, evaluate their performance, and save the trained model artifacts.

The application has two interfaces: a Flask-based website built with HTML, CSS, and JavaScript, and a Streamlit interface for deployment. Three.js and WebGL provide the interactive 3D heart visualization, while Git and GitHub support version control and project hosting.

The predictive pipeline uses 55 input features. The CAD and vessel-specific targets are kept separate from the input features to help prevent target leakage during training.

Challenges we ran into

One major challenge was integrating the machine learning pipeline with an interactive web interface while preserving the correct feature names, data types, and preprocessing steps.

Another challenge was integrating a 3D anatomical model into the web application, resolving JavaScript module loading issues, and preparing the project for cloud deployment. Managing dependencies and ensuring that the model artifacts and feature schema remained consistent were also important parts of the development process.

Accomplishments that we're proud of

What we learned

Building CardioVision3D strengthened our understanding of machine learning workflows, data preprocessing, classification metrics, backend integration, interactive 3D visualization, GitHub, and cloud deployment.

We also learned the importance of evaluating each prediction target independently and communicating the limitations of machine learning results, particularly in healthcare-related applications.

What's next for CardioVision3D

Future improvements could include more detailed model explanations using SHAP or LIME, improved anatomical vessel mapping, additional validation on independent datasets, and stronger handling of missing clinical measurements.

Share this project:

Updates

Submission history