Inspiration

CardioAtlas began with a question: what if cardiovascular predictions could be understood through more than just numbers? While exploring machine learning for healthcare, we realized that predicting a condition is only one part of the problem. Understanding what influences a prediction and how it relates to the heart is equally important. We wanted to bring clinical data, AI explanations, and 3D visualization together in one place. That idea became CardioAtlas—a project through which we could explore how technology might make complex cardiovascular information easier to understand.

What it does

CardioAtlas is a cardiovascular prototype that estimates dataset-defined labels for coronary artery disease (CAD) and stenosis in three coronary arteries: LAD, LCX, and RCA. Machine Learning: Generates separate estimates for overall CAD and the three vessel-level labels. Interactive 3D Heart: Allows users to select and explore the corresponding coronary vessel groups on a reference anatomical model. Explainable AI: Shows which input features influence the model's outputs. CSV Input: Supports uploading clinical data in the expected format. Two Model Configurations: Supports inputs with and without the available echocardiographic features. Our aim is to connect clinical data, model predictions, and anatomical visualization rather than display isolated numbers.

How we built it

We started with the Z-Alizadeh Sani dataset, containing 303 records and 59 fields. We explored the data, performed preprocessing, and developed machine-learning models for four separate prediction targets. We used repeated, nested cross-validation to evaluate model performance and worked to prevent target leakage during preprocessing and model selection. Next, we connected the prediction pipeline to a web interface using a FastAPI service. We integrated a reference heart model using Three.js, allowing users to select mapped coronary vessel groups and explore their corresponding outputs. We also incorporated feature explanations to provide more context about the model's behaviour. Building these components separately was one thing; getting them to work together as a complete application was where much of our learning happened.

Challenges we ran into

Achieving reliable prediction accuracy: This was one of our biggest challenges. With only 303 records, achieving consistent performance across all four targets required repeated experimentation. We compared models, tuned their parameters, and evaluated them using repeated, nested cross-validation. Our results were stronger for CAD and LAD than for LCX and RCA, teaching us that improving accuracy also means understanding a model's limitations. Understanding coronary anatomy: Learning the medical terminology and anatomical roles of LAD, LCX, and RCA took time. We studied these structures to connect the model outputs to the appropriate vessel groups in the 3D visualization. These challenges taught us to be patient, investigate problems carefully, and keep improving instead of settling for a result that only looked good on the surface.

Accomplishments that we're proud of

We are proud to have brought several different components together into a working research prototype: machine-learning predictions, feature explanations, CSV input, and interactive 3D heart visualization. Our internal evaluation achieved a mean ROC-AUC of approximately 0.908 for CAD and 0.837 for LAD. LCX and RCA each achieved approximately 0.718. These results helped us identify both promising areas and targets that need further improvement. More than the scores, we are proud that we moved from an idea to an integrated application and learned how to connect machine learning with an interactive visual experience.

What we learned

This project taught us that building an AI solution involves much more than training a model. Data quality, evaluation, explainability, application integration, and honest communication of limitations all matter. We gained practical experience with clinical dataset preprocessing, machine-learning evaluation, FastAPI, and Three.js-based visualization. We also learned that a visually impressive prediction is not necessarily a reliable one, and that internal validation does not establish clinical readiness. Most importantly, we learned to treat unexpected results as opportunities to understand the problem better.

What's next for CardioAtlas

We want to continue improving CardioAtlas by evaluating the models on independent external datasets, investigating the weaker LCX and RCA results, obtaining independent review of the anatomical mappings, and improving the clarity of the feature explanations. Our long-term vision is to explore how explainable machine learning and interactive anatomical visualization can make complex cardiovascular data easier to interpret. CardioAtlas is still a research prototype, not a diagnostic tool, and there is more work to do before any clinical use could be considered.

For us, this project is more than a model or a 3D visualization. It is a learning journey that showed us how technology, persistence, and curiosity can come together to explore a real-world problem.

Built With

  • 3d-visualization
  • artificial-intelligence
  • cad-classification
  • cardiovascular-disease
  • clinical-data
  • coronary-artery-disease
  • coronary-stenosis
  • ecg
  • echocardiography
  • explainable-ai
  • fastapi
  • healthcare-ai
  • heart-anatomy
  • interactive-dashboard
  • machine-learning
  • medical-visualization
  • model-evaluation
  • predictive-modeling
  • prototype
  • scikit-learn
  • shap
  • tabular-data
  • three.js
  • uci-dataset
  • webgl
Share this project:

Updates

Submission history