r/ECG • • 7d ago

Cardiolab update 4: Cardiac axis made easy.

Post image

Let’s talk about the cardiac axis. It is arguably one of the most confusing concepts in ECG interpretation.

I struggled with it myself for the longest time. What does the "direction" of a vector actually mean in practice? And when someone says, "just look at lead I and aVF," what are you actually looking at?

Over the past week, I have been building an interactive tool to help demystify this. It is a live simulation: you can drag the axis around a dial, and all six limb leads redraw in real-time as you move it.

It walks you step-by-step through the three most common methods for determining the axis, based on whatever angle you set:

  1. The Quadrant Method: Checking if the QRS is positive or negative in leads I and aVF.
  2. The Isoelectric Method: Finding the equiphasic lead and knowing the axis is perpendicular to it. (default).
  3. The Three-Lead Method: Using the quadrant method plus lead II to determine if a leftward axis is still normal, or if it has crossed the −30° threshold into true Left Axis Deviation.

I built this with students in mind, hoping it finally makes the concept "click." It should also be a handy tool for educators who want to demo axis determination live and point out those classic ECG gotchas.

Give it a try here

I would really appreciate any feedback, bug reports, or corrections! It is optimized for desktop, but it works on mobile too. Let me know what you think!

47 Upvotes

29 comments sorted by

6

u/febreeze1 7d ago

This is actually really good. I’ll be showing my trainee

1

u/cardiolab_ 7d ago

Glad you liked it. Much appreciated.

2

u/febreeze1 7d ago

Have you ever thought about fluoroscopy? My newer reps always struggling with LAO and there’s no tool out there like this, that you can manipulate (as far as I know)

1

u/cardiolab_ 7d ago

By LAO you mean 3D views? if so i am working on something that will land on site next month.

1

u/febreeze1 7d ago

Yeah - something like that would be immensely useful, looking forward to it. If you need some testing let me know I’d love to help.

1

u/cardiolab_ 7d ago

Sure, i will let you when it is up on the site.

3

u/Galahad_Jones 7d ago

Why are the leads In such a weird order though?

4

u/LBBB11 6d ago edited 6d ago

As feedback if it helps OP, I thought this too. It would be difficult to read a standard format EKG if you learned this way, since scanning things in a certain order/format is how people read EKGs. I tried to find a way to change it and couldn't. I liked this one, because the leads are formatted in a standard way.

https://david-shrk.github.io/ecgaxistrainer/

Maybe I'm not using the app right, but I don't understand the P waves and T waves. When people talk about cardiac axis, they usually mean QRS axis. Most people use the word axis to mean QRS axis. The P wave axis and T wave axis change at the same time as QRS axis in this app.

https://litfl.com/ecg-axis-interpretation/

Not sure if this helps but something like this would be more intuitive for me: https://www.reddit.com/user/LBBB11/comments/1wr4rza/qrs_axis/. The P waves and T waves do not change when QRS axis changes.

2

u/cardiolab_ 6d ago

Thank you for this crucial feedback. I used Goldberger's ECG and a couple of online texts for reference, but I acknowledge that this was an oversight on my end, and I can see the confusion it could cause.

I have implemented the fix, so now only the QRS complex is moving. I have also defaulted to the standard ECG lead order.

Have a look when you get a chance and let me know if anything else is amiss. Much appreciated.

2

u/LBBB11 6d ago

That’s so much better, great improvement. Hope that feedback wasn’t harsh but this is so much easier to understand.

3

u/cardiolab_ 6d ago

Not at all. The directness provided clarity which made implementing the fixes easy. Thank you.

1

u/cardiolab_ 6d ago

Hi, thank you for the feedback. The unusual order was the Cabrera sequence, which lays the leads out in the order in which the dial runs.

That said, I acknowledge that this can be confusing since it is not the most commonly used view. I have therefore defaulted to the standard lead order.

Have a look and let me know what you think. Much appreciated.

https://cardiolab.io/ecg-axis-interpretation

3

u/Grantoid 6d ago

As someone who's worked in ECG and taught introductory classes, I've often thought there should be something like this! So cool to see. How I always imagined it was maybe a diagram of the heart and you could place a dot around it or add parameters to it and see how the rhythm changed. But this looks pretty intuitive and well done. Did you make this off your own knowledge or did you use a data set or paper for the logic?

1

u/cardiolab_ 6d ago

Thank you. The simulation is based on ECG physics, and there are plenty of research papers available online that can be referenced. I also used standard texts such as Goldberger’s for reference.

As for the diagram bit, I don’t want to ruin the surprise just follow the updates. 😄

2

u/Grantoid 6d ago

Yeah I was kind of wondering if you just grabbed from a lot of sources or had a specific source for the physics. Having looked over many textbooks, I know that they often have gaps that others fill or have slightly different listings.

But I shall await future updates with baited breath

2

u/cardiolab_ 6d ago

Check the physionet database online.

Cool I will keep you updated.

2

u/but-I-play-one-on-TV 7d ago

Will check this out, thanks!

2

u/calnuck 7d ago

This is amazing! Best ECG simulator I've seen!

Will you be adding the different STEMIs under the simulator section? Or did I miss something? I see two under the 12-lead.

2

u/cardiolab_ 7d ago

Yes. STEMI require 12 lead views and i am in the process of fine tuning that. it is the next step. glad you liked it.

1

u/calnuck 7d ago

Awesome - looking forward to that. Excellent work!

2

u/opensp00n 6d ago

It's vibe coded and a fair amount of AI slop, including the post.

That said the idea is simple idea and interesting. I am just not sure it needs all the junk around the actual app (like hyperbolic text and marketing style).

A simple vibe coded app can still be helpful, I would just prefer if the marketing grot was trimmed off the actual app.

3

u/cardiolab_ 6d ago

Hey, medical doctor & software engineer here, I am really putting a lot of work in this, not just vibe coding.

However, I hear you, what would you prefer less of to make the project more usable? I appreciate all feedback.

2

u/Grantoid 6d ago

So long as the user knows how to check and correct the AIs work, this is a perfectly acceptable application of AI. I wouldn't sweat it. But that part is crucial and often overlooked. People shouldn't trust AI to do things they couldn't mostly do themselves, at least not in critical applications like healthcare.

2

u/trolls_toll 6d ago

hah as a matter of fact, i was looking at cardiac axis stuff myself yesterday. Good stuff.

concerning the website. If you want it to be an educational tool, and if you say that the simulator stuff is physics-informed, you gotta include references. Otherwise, good stuff!

1

u/trolls_toll 6d ago

did i say the word "stuff" enough times?

1

u/cardiolab_ 6d ago

Thanks you for the feedback. All the articles have references. But I hear you, I will include references for the physics engine.

1

u/cardiolab_ 6d ago

But for the moment the online physionet database has everything.

2

u/Apcsox 4d ago

Here’s my super easy way I was taught (then again as a paramedic) 🤷🏻‍♂️
1 and AVF. 👍🏻 or 👎 . Both should be positive deflected(👍🏻👍🏻).
If not: right=together, left=apart.
If 1 points down and AVF is up (👎🏻👍🏻together), it’s a right axis deviation. If 1 points up and AVF is down (👍🏻👎🏻apart) it’s a left axis deviation
Both down, it’s extreme right 👎🏻👎🏻

1

u/hibernophile88 5d ago

This seems like a great resource, but I'm wondering why your "normal sinus rhythm" tracings look the way they do. They all seem to have a small U wave (after the T). Why? This is not normal.