give me 10 images on ecg findings in mi
ECG findings in myocardial infarction ST elevation
ECG NSTEMI Q waves T wave inversion myocardial infarction










| Type | Key Finding | Leads Affected |
|---|---|---|
| Anterior STEMI | ST elevation | V1–V4 |
| Anterolateral STEMI | ST elevation + lateral | V1–V6, I, aVL |
| Inferior STEMI | ST elevation | II, III, aVF |
| Inferolateral STEMI | ST elevation | II, III, aVF, V5–V6 |
| NSTEMI | ST depression ± T inversion | Diffuse / aVR elevation |
| Evolving MI | Pathological Q waves + T inversion | Territory-specific |
| Wellens' Syndrome | Biphasic/deep T inversion | V2–V5 |
| Posterior MI | Tall R + ST depression | V1–V3 (mirror image) |
can you create a ppt for this. iclude all images
mkdir -p /home/daytona/workspace/ecg-mi-ppt && node /home/daytona/skills/shared/…
~/ecg-mi-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
const fs = require("fs");
const images = JSON.parse(fs.readFileSync("/home/daytona/workspace/ecg-mi-ppt/images.json", "utf8"));
// Color palette — dark cardiology theme
const BG_DARK = "0A1628"; // deep navy
const BG_CARD = "112240"; // slightly lighter navy for cards
const ACCENT = "E63946"; // ECG red
const ACCENT2 = "457B9D"; // calm blue
const WHITE = "FFFFFF";
const LIGHT_GRAY = "A8B2C1";
const GOLD = "F4A261";
const slides_data = [
{
title: "Acute Inferior STEMI",
subtitle: "\"Shark Fin\" Morphology",
territory: "RCA / LCx Territory",
leads: "Leads II, III, aVF",
points: [
"ST elevation with tombstone / shark-fin fusion of QRS–ST–T",
"Reciprocal ST depression in I and aVL",
"V1–V3 depression suggests posterior wall involvement",
"ST elevation in III > II points to RCA occlusion"
],
imgIndex: 0
},
{
title: "Acute Anterior STEMI",
subtitle: "LAD Occlusion — Classic Pattern",
territory: "LAD Territory",
leads: "Leads V1 – V4",
points: [
"Prominent ST elevation across V1–V6 (most marked V2–V4)",
"Mild ST elevation also in I, II, III, aVF",
"Loss of R-wave progression in anterior leads",
"Reciprocal depression may appear in inferior leads"
],
imgIndex: 1
},
{
title: "Anterolateral STEMI",
subtitle: "Proximal LAD with Diagonal Branch Involvement",
territory: "LAD (proximal) Territory",
leads: "Leads V1–V6, I, aVL",
points: [
"ST elevation in V1–V6 + I + aVL — hyperacute T waves",
"Reciprocal ST depression in inferior leads II, III, aVF",
"Diagonal branch occlusion adds high lateral involvement",
"Largest zone of LAD territory at risk"
],
imgIndex: 2
},
{
title: "Inferior STEMI",
subtitle: "Tombstone Morphology",
territory: "RCA Territory",
leads: "Leads II, III, aVF",
points: [
"Massive convex ST elevation — \"tombstone\" appearance",
"Deep reciprocal depression in V1–V3 and aVL",
"Sinus tachycardia with rightward axis deviation",
"Consider RV infarction: check right-sided leads (V4R)"
],
imgIndex: 3
},
{
title: "Inferolateral STEMI",
subtitle: "Sinus Bradycardia — Vagal Response",
territory: "RCA or LCx Territory",
leads: "Leads II, III, aVF + V5–V6",
points: [
"ST elevation in inferior + lateral leads (V5–V6)",
"Hyperacute T waves with reciprocal depression in V1–V4, aVL",
"Sinus bradycardia (~45–50 bpm) — vagal RCA response",
"LCx: inferior > lateral; RCA: lateral > inferior"
],
imgIndex: 4
},
{
title: "Evolving Anteroseptal MI",
subtitle: "Pathological Q Waves + T Inversion",
territory: "LAD (Septal) Territory",
leads: "Leads V1–V4, I, aVL",
points: [
"Pathological Q waves in V1–V2 (transmural necrosis)",
"Residual ST elevation in V1–V3",
"Deep T-wave inversions I, aVL, V2–V4",
"Represents progression: acute → subacute phase of anterior MI"
],
imgIndex: 5
},
{
title: "Subacute Inferior MI",
subtitle: "Evolving Q Waves + Symmetric T Inversion",
territory: "Inferior Wall (RCA / SCAD)",
leads: "Leads II, III, aVF, V5–V6",
points: [
"Pathological Q waves with symmetric T-wave inversions in II, III, aVF",
"T inversion extending to lateral leads V5–V6",
"Typical of late-presenting STEMI or post-SCAD",
"No ongoing ST elevation — hours to days after event"
],
imgIndex: 6
},
{
title: "Old Inferior MI + RBBB",
subtitle: "Pre and Post Coronary Stenting",
territory: "Inferior Wall — Chronic",
leads: "Leads II, III, aVF + V1 (RBBB)",
points: [
"Pathological Q waves in II, III, aVF — permanent infarct scar",
"RBBB: widened QRS + rSR' pattern in V1",
"Pre-stenting: ST depression + T inversion (ongoing ischemia)",
"Post-stenting: ischemic changes resolve; Q waves + RBBB persist"
],
imgIndex: 7
},
{
title: "NSTEMI",
subtitle: "Diffuse ST Depression — Global Subendocardial Ischemia",
territory: "Diffuse / Left Main – Proximal LAD",
leads: "I, aVL, V4–V6, II, III, aVF + aVR elevation",
points: [
"Diffuse horizontal/downsloping ST depression across multiple leads",
"Reciprocal ST elevation in aVR — hallmark of global ischemia",
"Suggests left main or proximal LAD occlusion",
"No ST elevation — troponin elevation confirms NSTEMI"
],
imgIndex: 8
},
{
title: "Wellens' Syndrome",
subtitle: "Spontaneously Reperfused LAD — Critical Pre-Infarction Warning",
territory: "Proximal LAD Territory",
leads: "Leads V2 – V5",
points: [
"Resolving ST elevation with deep terminal T-wave inversions (Type B)",
"No pathological Q waves — myocardium still viable",
"Pain-free at presentation — patient may appear stable",
"URGENT: catheterization needed; stress test is CONTRAINDICATED"
],
imgIndex: 9
}
];
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "ECG Findings in Myocardial Infarction";
pres.author = "Orris Medical";
// ─── TITLE SLIDE ───────────────────────────────────────────────────────────
{
let s = pres.addSlide();
// Background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: BG_DARK } });
// Red accent bar left
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.12, h: "100%", fill: { color: ACCENT } });
// ECG-style decorative line (horizontal squiggle simulation with thin rect)
s.addShape(pres.ShapeType.rect, { x: 0.25, y: 2.7, w: 9.5, h: 0.03, fill: { color: ACCENT }, line: { color: ACCENT } });
// Title
s.addText("ECG FINDINGS IN", {
x: 0.5, y: 1.1, w: 9, h: 0.7,
fontSize: 22, bold: true, color: LIGHT_GRAY,
charSpacing: 8, align: "center", fontFace: "Arial"
});
s.addText("MYOCARDIAL INFARCTION", {
x: 0.5, y: 1.7, w: 9, h: 1.0,
fontSize: 38, bold: true, color: WHITE,
charSpacing: 4, align: "center", fontFace: "Arial"
});
// Subtitle
s.addText("A Visual Guide to STEMI, NSTEMI & Evolving MI Patterns", {
x: 0.5, y: 2.85, w: 9, h: 0.5,
fontSize: 15, color: ACCENT2, align: "center", italic: true, fontFace: "Arial"
});
// Bottom bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.2, w: "100%", h: 0.425, fill: { color: ACCENT } });
s.addText("10 Illustrative ECG Cases | Emergency Cardiology Education", {
x: 0.5, y: 5.22, w: 9, h: 0.38,
fontSize: 12, color: WHITE, align: "center", bold: true, fontFace: "Arial"
});
// Small tags
const tags = ["STEMI", "NSTEMI", "Q WAVES", "T INVERSION", "WELLENS'", "RECIPROCAL CHANGES"];
tags.forEach((tag, i) => {
const col = i < 3 ? 0 : 3;
const row = i % 3;
s.addShape(pres.ShapeType.roundRect, {
x: 0.55 + col * 1.65, y: 3.55 + row * 0.45, w: 1.5, h: 0.33,
fill: { color: BG_CARD }, line: { color: ACCENT2, w: 1 },
rectRadius: 0.05
});
s.addText(tag, {
x: 0.55 + col * 1.65, y: 3.55 + row * 0.45, w: 1.5, h: 0.33,
fontSize: 9, color: ACCENT2, align: "center", bold: true, fontFace: "Arial", margin: 0
});
});
}
// ─── CONTENT SLIDES ────────────────────────────────────────────────────────
slides_data.forEach((d, idx) => {
let s = pres.addSlide();
const img = images[d.imgIndex];
// Background
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: BG_DARK } });
// Left accent bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.08, h: "100%", fill: { color: ACCENT } });
// Header bar
s.addShape(pres.ShapeType.rect, { x: 0.08, y: 0, w: 9.92, h: 0.85, fill: { color: BG_CARD } });
// Slide number badge
s.addShape(pres.ShapeType.ellipse, { x: 0.12, y: 0.1, w: 0.6, h: 0.6, fill: { color: ACCENT } });
s.addText(`${idx + 1}`, {
x: 0.12, y: 0.1, w: 0.6, h: 0.6,
fontSize: 16, bold: true, color: WHITE, align: "center", valign: "middle", margin: 0, fontFace: "Arial"
});
// Title
s.addText(d.title, {
x: 0.85, y: 0.08, w: 7.0, h: 0.42,
fontSize: 20, bold: true, color: WHITE, fontFace: "Arial", margin: 0
});
s.addText(d.subtitle, {
x: 0.85, y: 0.48, w: 7.0, h: 0.3,
fontSize: 12, color: ACCENT2, italic: true, fontFace: "Arial", margin: 0
});
// Territory badge (top right)
s.addShape(pres.ShapeType.roundRect, {
x: 7.95, y: 0.1, w: 1.9, h: 0.62,
fill: { color: ACCENT }, line: { color: ACCENT }, rectRadius: 0.08
});
s.addText(d.territory, {
x: 7.95, y: 0.1, w: 1.9, h: 0.62,
fontSize: 8.5, color: WHITE, align: "center", valign: "middle", bold: true, fontFace: "Arial", margin: 2
});
// ── ECG IMAGE (left panel) ──
if (img && img.base64 && !img.error) {
s.addImage({
data: img.base64,
x: 0.15, y: 0.95, w: 5.6, h: 3.5
});
}
// Image border
s.addShape(pres.ShapeType.rect, {
x: 0.15, y: 0.95, w: 5.6, h: 3.5,
fill: { type: "none" }, line: { color: ACCENT2, w: 1.5 }
});
// ── RIGHT PANEL ──
// Leads box
s.addShape(pres.ShapeType.roundRect, {
x: 5.9, y: 0.95, w: 3.95, h: 0.55,
fill: { color: BG_CARD }, line: { color: GOLD, w: 1.5 }, rectRadius: 0.06
});
s.addText([
{ text: "KEY LEADS: ", options: { bold: true, color: GOLD } },
{ text: d.leads, options: { color: WHITE } }
], {
x: 5.9, y: 0.95, w: 3.95, h: 0.55,
fontSize: 10, fontFace: "Arial", valign: "middle", margin: 6
});
// Key findings header
s.addText("KEY ECG FINDINGS", {
x: 5.9, y: 1.62, w: 3.95, h: 0.3,
fontSize: 10, bold: true, color: ACCENT, charSpacing: 2, fontFace: "Arial", margin: 0
});
// Bullet points
d.points.forEach((pt, i) => {
// bullet dot
s.addShape(pres.ShapeType.ellipse, {
x: 5.9, y: 2.02 + i * 0.58, w: 0.12, h: 0.12,
fill: { color: ACCENT2 }
});
s.addText(pt, {
x: 6.1, y: 1.94 + i * 0.58, w: 3.7, h: 0.52,
fontSize: 10.5, color: LIGHT_GRAY, fontFace: "Arial",
valign: "middle", wrap: true, margin: 0
});
});
// Bottom caption bar
s.addShape(pres.ShapeType.rect, { x: 0.08, y: 4.55, w: 9.92, h: 1.075, fill: { color: BG_CARD } });
s.addShape(pres.ShapeType.rect, { x: 0.08, y: 4.55, w: 9.92, h: 0.03, fill: { color: ACCENT2 } });
s.addText("Clinical Significance", {
x: 0.25, y: 4.6, w: 2.2, h: 0.3,
fontSize: 9, bold: true, color: ACCENT2, fontFace: "Arial", margin: 0
});
const clinicalNotes = [
"Immediate reperfusion if onset <12h. Assess for RV infarct with V4R.",
"Largest anterior territory. High mortality — door-to-balloon <90 min.",
"Proximal LAD occlusion. Consider Sgarbossa criteria if LBBB present.",
"Beware RV infarct — avoid nitrates; fluid-resuscitate if hypotensive.",
"Sinus bradycardia: atropine if symptomatic. Screen for posterior STEMI.",
"Evolving MI — Q waves indicate irreversible necrosis. Assess for VF risk.",
"Subacute phase: risk stratify with echo for wall motion abnormality.",
"RBBB post-MI raises mortality. Temporary pacing if bifascicular block.",
"aVR elevation = left main equivalent. Urgent angio for cardiogenic shock.",
"CONTRAINDICATED: stress test. Admit for urgent cath — high re-occlusion risk."
];
s.addText(clinicalNotes[idx], {
x: 0.25, y: 4.9, w: 9.5, h: 0.65,
fontSize: 11, color: WHITE, fontFace: "Arial", wrap: true, margin: 0
});
});
// ─── SUMMARY SLIDE ──────────────────────────────────────────────────────────
{
let s = pres.addSlide();
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: BG_DARK } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.08, h: "100%", fill: { color: ACCENT } });
s.addShape(pres.ShapeType.rect, { x: 0.08, y: 0, w: 9.92, h: 0.75, fill: { color: BG_CARD } });
s.addText("QUICK REFERENCE SUMMARY", {
x: 0.25, y: 0.1, w: 9.5, h: 0.55,
fontSize: 20, bold: true, color: WHITE, charSpacing: 4, align: "center", fontFace: "Arial"
});
const tableData = [
[
{ text: "MI Type", options: { bold: true, color: WHITE } },
{ text: "Key ECG Finding", options: { bold: true, color: WHITE } },
{ text: "Leads Affected", options: { bold: true, color: WHITE } },
{ text: "Artery", options: { bold: true, color: WHITE } }
],
["Anterior STEMI", "ST elevation, loss of R wave", "V1–V4", "LAD"],
["Anterolateral STEMI", "ST elevation + lateral changes", "V1–V6, I, aVL", "Proximal LAD"],
["Inferior STEMI", "ST elevation, tombstone / shark fin", "II, III, aVF", "RCA"],
["Inferolateral STEMI", "ST elevation inferior + lateral", "II, III, aVF, V5–V6", "RCA / LCx"],
["Evolving Anterior MI", "Pathological Q waves + T inversion", "V1–V4", "LAD (subacute)"],
["Subacute Inferior MI", "Q waves + symmetric T inversion", "II, III, aVF", "RCA (evolving)"],
["Old MI + RBBB", "Persistent Q waves, rSR' in V1", "II, III, aVF + V1", "RCA (chronic)"],
["NSTEMI", "Diffuse ST depression, aVR elevation", "Diffuse + aVR", "LM / LAD"],
["Wellens' Syndrome", "Deep T inversion, no Q waves", "V2–V5", "Proximal LAD"]
];
s.addTable(tableData, {
x: 0.15, y: 0.85, w: 9.7, h: 4.55,
fontSize: 9.5,
fontFace: "Arial",
align: "left",
valign: "middle",
color: LIGHT_GRAY,
fill: { color: BG_CARD },
border: { type: "solid", color: "1E3A5F", pt: 0.5 },
rowH: 0.44,
firstRowAsHeader: true,
autoPage: false,
colW: [1.9, 2.8, 2.3, 1.7],
});
}
pres.writeFile({ fileName: "/home/daytona/workspace/ecg-mi-ppt/ECG_Findings_in_MI.pptx" })
.then(() => console.log("PPT created successfully"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/ecg-mi-ppt && node create_ppt.js
ls -lh /home/daytona/workspace/ecg-mi-ppt/ECG_Findings_in_MI.pptx
ECG Findings in MI
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide — dark cardiology theme with topic tags |
| 2–11 | One slide per ECG case — each with the full ECG image, key leads badge, territory label, 4 bullet findings, and a clinical significance note |
| 12 | Summary reference table — all 9 MI types with key findings, leads & culprit artery |