20 slides on Csvt neuroradiology ppt in clean white slides
mkdir -p /home/daytona/workspace/cvst-pptx && ls /home/daytona/workspace/cvst-pptx/
~/cvst-pptx/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "CVST Neuroradiology";
pres.author = "Orris";
// ─── DESIGN TOKENS ───────────────────────────────────────────────────────────
const BG = "FFFFFF"; // white background
const NAVY = "1A2E4A"; // dominant navy for headings
const TEAL = "1E7BA0"; // supporting teal accent
const STEEL = "3A7CA5"; // secondary accent (bullets, rules)
const MID = "4A6070"; // mid-gray text
const LIGHT = "E8F4F8"; // light teal fill for content cards
const RULE = "1E7BA0"; // decorative rule color
const WHITE = "FFFFFF";
// ─── HELPER: Add accent bar below slide header ───────────────────────────────
function addHeader(slide, title, subtitle) {
// top navy band
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.0, fill: { color: NAVY }, line: { color: NAVY } });
slide.addText(title, {
x: 0.3, y: 0.05, w: 7.5, h: 0.55, fontSize: 22, bold: true, color: WHITE,
fontFace: "Calibri", valign: "middle", margin: 0
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.3, y: 0.62, w: 9.4, h: 0.3, fontSize: 11, color: "B0C4D8",
fontFace: "Calibri", italic: true, valign: "middle", margin: 0
});
}
// teal rule
slide.addShape(pres.ShapeType.rect, { x: 0, y: 1.0, w: 10, h: 0.04, fill: { color: TEAL }, line: { color: TEAL } });
}
// ─── HELPER: Add info card ────────────────────────────────────────────────────
function addCard(slide, x, y, w, h, text, opts = {}) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: opts.fill || LIGHT },
line: { color: TEAL, pt: 1 },
rectRadius: 0.08
});
slide.addText(text, {
x: x + 0.1, y: y + 0.05, w: w - 0.2, h: h - 0.1,
fontSize: opts.fs || 11, color: opts.color || NAVY,
fontFace: "Calibri", valign: "top", wrap: true, margin: 0.05
});
}
// ─── HELPER: bullets ─────────────────────────────────────────────────────────
function bullets(items, opts = {}) {
return items.map((t, i) => ({
text: t,
options: {
bullet: { type: "bullet", indent: 12 },
breakLine: i < items.length - 1,
fontSize: opts.fs || 13,
color: opts.color || MID,
bold: false
}
}));
}
function boldBullets(items, opts = {}) {
return items.flatMap((item, i) => {
const parts = [];
if (typeof item === "string") {
parts.push({ text: item, options: { bullet: { type: "bullet", indent: 12 }, breakLine: i < items.length - 1, fontSize: opts.fs || 13, color: opts.color || MID } });
} else {
parts.push({ text: item.h + ": ", options: { bullet: { type: "bullet", indent: 12 }, bold: true, fontSize: opts.fs || 13, color: NAVY, breakLine: false } });
parts.push({ text: item.t, options: { breakLine: i < items.length - 1, fontSize: opts.fs || 13, color: MID, bold: false } });
}
return parts;
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — Title
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// full bg
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: NAVY }, line: { color: NAVY } });
// teal accent block left
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.35, h: 5.625, fill: { color: TEAL }, line: { color: TEAL } });
// white content area
s.addShape(pres.ShapeType.rect, { x: 0.35, y: 1.6, w: 9.65, h: 3.0, fill: { color: WHITE }, line: { color: WHITE } });
s.addText("CVST", {
x: 0.5, y: 0.22, w: 9, h: 0.8, fontSize: 44, bold: true, color: WHITE,
fontFace: "Calibri", charSpacing: 8
});
s.addText("Cerebral Venous Sinus Thrombosis", {
x: 0.5, y: 1.0, w: 9, h: 0.5, fontSize: 18, color: "B0D8EE", fontFace: "Calibri"
});
s.addText("Neuroradiology", {
x: 0.5, y: 1.65, w: 9, h: 0.65, fontSize: 34, bold: true, color: NAVY,
fontFace: "Calibri", charSpacing: 2
});
s.addText("Imaging Approach · Diagnostic Signs · Differential Diagnosis · Management", {
x: 0.5, y: 2.45, w: 9, h: 0.35, fontSize: 12, color: TEAL, fontFace: "Calibri", italic: true
});
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 2.9, w: 3.5, h: 0.04, fill: { color: TEAL }, line: { color: TEAL } });
s.addText("Based on Grainger & Allison's Diagnostic Radiology · Bradley & Daroff's Neurology · Adams & Victor's Neurology", {
x: 0.5, y: 3.1, w: 9, h: 0.3, fontSize: 9, color: "7090A8", fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — Overview & Introduction
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "What is CVST?", "Introduction & Clinical Context");
s.addText("Cerebral venous sinus thrombosis (CVST) is thrombosis of the dural venous sinuses and/or cortical veins, leading to venous hypertension, parenchymal edema, and frequently hemorrhagic infarction.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.75, fontSize: 13, color: MID, fontFace: "Calibri", wrap: true
});
// stat boxes
const stats = [
{ label: "Incidence", val: "3–4 per million/yr\n(~15–40% pediatric)" },
{ label: "Sex ratio", val: "3:1 female predominance\n(reproductive-age women)" },
{ label: "Mortality", val: "~8% in-hospital\n(up to 30% with delayed Dx)" },
{ label: "Recurrence", val: "~2–7% at 2 yrs\n(higher with thrombophilia)" }
];
stats.forEach((st, i) => {
const x = 0.25 + i * 2.4;
s.addShape(pres.ShapeType.roundRect, {
x, y: 2.0, w: 2.2, h: 1.35, fill: { color: LIGHT },
line: { color: TEAL, pt: 1.5 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, { x, y: 2.0, w: 2.2, h: 0.34, fill: { color: TEAL }, line: { color: TEAL } });
s.addText(st.label, { x: x + 0.05, y: 2.02, w: 2.1, h: 0.3, fontSize: 10.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(st.val, { x: x + 0.05, y: 2.38, w: 2.1, h: 0.9, fontSize: 11, color: NAVY, fontFace: "Calibri", valign: "middle", wrap: true });
});
s.addText("Key message: CVST is an easily overlooked diagnosis. The clinical triad of headache, seizures, and focal deficits should trigger immediate imaging. Up to 40% of cases may be missed on initial CT without contrast.", {
x: 0.3, y: 3.6, w: 9.4, h: 0.65, fontSize: 11.5, color: WHITE, fontFace: "Calibri",
fill: { color: STEEL }, bold: false, wrap: true,
shape: pres.ShapeType.roundRect
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — Anatomy of Cerebral Venous System
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Cerebral Venous Anatomy", "Understanding the drainage system");
// Two columns
s.addText("Superficial System", { x: 0.3, y: 1.15, w: 4.4, h: 0.3, fontSize: 13, bold: true, color: TEAL, fontFace: "Calibri" });
s.addText([
...bullets([
"Superior sagittal sinus (SSS) — most commonly thrombosed",
"Inferior sagittal sinus",
"Transverse sinuses (bilateral)",
"Sigmoid sinuses → internal jugular veins",
"Superficial cortical veins (Trolard, Labbé)",
"Cavernous sinuses"
], { fs: 12 })
], { x: 0.3, y: 1.5, w: 4.5, h: 2.6, fontFace: "Calibri", valign: "top" });
// divider
s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.1, w: 0.03, h: 3.5, fill: { color: TEAL }, line: { color: TEAL } });
s.addText("Deep System", { x: 5.15, y: 1.15, w: 4.5, h: 0.3, fontSize: 13, bold: true, color: TEAL, fontFace: "Calibri" });
s.addText([
...bullets([
"Internal cerebral veins (thalamus / BG drainage)",
"Vein of Galen (great cerebral vein)",
"Straight sinus → confluence of sinuses",
"Basal veins of Rosenthal",
"Petrosal sinuses (superior & inferior)",
"Occipital sinus"
], { fs: 12 })
], { x: 5.15, y: 1.5, w: 4.5, h: 2.6, fontFace: "Calibri", valign: "top" });
s.addShape(pres.ShapeType.rect, { x: 0, y: 4.72, w: 10, h: 0.04, fill: { color: LIGHT }, line: { color: LIGHT } });
s.addText("Frequency of involvement: SSS (72%) > Transverse (70%) > Sigmoid (44%) > Cortical veins (17%) > Deep veins (11%)", {
x: 0.3, y: 4.82, w: 9.4, h: 0.3, fontSize: 10.5, color: STEEL, fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — Etiology & Risk Factors
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Etiology & Risk Factors", "Virchow's Triad in the venous system");
const categories = [
{
title: "Hypercoagulable States",
color: "E8F0FA",
items: ["OCP / hormonal therapy", "Pregnancy & puerperium", "Factor V Leiden, Prothrombin G20210A", "Antiphospholipid syndrome", "Protein C/S deficiency", "Malignancy"]
},
{
title: "Local / Infective Causes",
color: "E8FAF0",
items: ["Meningitis / encephalitis", "Otitis media / mastoiditis", "Sinusitis", "Orbital / dental infection", "Post-neurosurgical", "Head trauma"]
},
{
title: "Systemic Conditions",
color: "FAF0E8",
items: ["Inflammatory bowel disease", "Behçet disease", "SLE / vasculitis", "Nephrotic syndrome", "Dehydration (esp. pediatric)", "COVID-19 / VITT"]
}
];
categories.forEach((cat, i) => {
const x = 0.22 + i * 3.25;
s.addShape(pres.ShapeType.roundRect, {
x, y: 1.1, w: 3.05, h: 3.8,
fill: { color: cat.color }, line: { color: TEAL, pt: 1 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, { x, y: 1.1, w: 3.05, h: 0.36, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(cat.title, { x: x + 0.08, y: 1.12, w: 2.9, h: 0.32, fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(cat.items.map(t => "• " + t).join("\n"), {
x: x + 0.12, y: 1.55, w: 2.85, h: 3.2, fontSize: 11, color: NAVY, fontFace: "Calibri", valign: "top", wrap: true
});
});
s.addText("Note: VITT (vaccine-induced immune thrombocytopenia and thrombosis) is an emerging cause, especially after adenoviral vector vaccines.", {
x: 0.22, y: 5.05, w: 9.5, h: 0.28, fontSize: 9.5, color: STEEL, fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — Pathophysiology
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Pathophysiology", "How thrombosis causes brain injury");
// Flow diagram using boxes and arrows
const steps = [
{ label: "Venous sinus / cortical vein thrombosis", y: 1.2 },
{ label: "↓ Venous drainage → Venous hypertension", y: 1.85 },
{ label: "↑ ICP + Disruption of blood-brain barrier", y: 2.5 },
{ label: "Vasogenic edema (reversible if treated early)", y: 3.15 },
{ label: "Cytotoxic edema → Venous infarction (often hemorrhagic)", y: 3.8 }
];
steps.forEach((st, i) => {
const fill = i === 0 ? NAVY : i === 4 ? "C0392B" : TEAL;
s.addShape(pres.ShapeType.roundRect, {
x: 1.2, y: st.y, w: 7.6, h: 0.52,
fill: { color: fill }, line: { color: fill }, rectRadius: 0.06
});
s.addText(st.label, {
x: 1.2, y: st.y + 0.04, w: 7.6, h: 0.44,
fontSize: 13, bold: i === 0 || i === 4, color: WHITE,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
});
// side note
s.addShape(pres.ShapeType.roundRect, {
x: 0.22, y: 1.2, w: 0.85, h: 3.1, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.06
});
s.addText("Two\nmechanisms:\nObstruction\n+\nCSF\nreabsorption\nfailure", {
x: 0.22, y: 1.25, w: 0.85, h: 3.0, fontSize: 8.5, color: STEEL, fontFace: "Calibri", align: "center", wrap: true
});
s.addText("Key concept: CVST causes two overlapping injuries — parenchymal venous infarction (often bilateral, crossing arterial territories) and diffuse ↑ICP from impaired CSF reabsorption at the arachnoid granulations.", {
x: 0.22, y: 4.52, w: 9.5, h: 0.55, fontSize: 11, color: WHITE, fontFace: "Calibri",
fill: { color: STEEL }, wrap: true, bold: false,
shape: pres.ShapeType.roundRect
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — Clinical Presentation
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Clinical Presentation", "When to suspect CVST");
const cols = [
{
title: "Common Symptoms", icon: "⚠",
items: ["Headache (90%) — progressive, thunderclap, or positional", "Seizures (40%) — focal or generalized", "Focal neurological deficits (40%)", "Papilledema / visual disturbance", "Altered consciousness"]
},
{
title: "Syndrome Patterns", icon: "🔍",
items: ["Isolated intracranial hypertension syndrome", "Encephalopathy without focal deficit", "Focal hemispheric syndrome (paraplegia in SSS)", "Deep venous syndrome (coma, thalamic signs)", "Cavernous sinus syndrome (ophthalmoplegia)"]
}
];
cols.forEach((col, i) => {
const x = 0.3 + i * 4.9;
s.addShape(pres.ShapeType.roundRect, {
x, y: 1.1, w: 4.5, h: 3.7, fill: { color: LIGHT }, line: { color: TEAL, pt: 1.2 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, { x, y: 1.1, w: 4.5, h: 0.38, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(col.title, { x: x + 0.1, y: 1.12, w: 4.3, h: 0.34, fontSize: 12.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(col.items.map(t => "• " + t).join("\n"), {
x: x + 0.12, y: 1.58, w: 4.25, h: 3.1, fontSize: 11.5, color: MID, fontFace: "Calibri", valign: "top", wrap: true
});
});
s.addText("Red flags: New headache + papilledema, postpartum headache, headache + ear/sinus infection, seizure with bilateral parenchymal lesions crossing vascular territories.", {
x: 0.3, y: 5.02, w: 9.4, h: 0.3, fontSize: 10, color: STEEL, fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — Imaging Algorithm
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Imaging Algorithm", "Step-by-step approach to CVST diagnosis");
const steps = [
{ n: "1", label: "NECT (Non-contrast CT)", detail: "First-line; look for hyperdense sinus sign, cord sign, hemorrhagic infarct. Normal in up to 30%" },
{ n: "2", label: "CT Venography (CTV)", detail: "Optimal for major dural sinuses. 'Empty delta/triangle sign'. Fast, widely available. Sensitivity 75-100%" },
{ n: "3", label: "MRI + MRV", detail: "Most sensitive overall. Loss of flow void, T1/T2 signal change in sinus. SWI for cortical vein thrombosis" },
{ n: "4", label: "DSA (Catheter Angiography)", detail: "Gold standard. Reserved for equivocal cases or pre-endovascular therapy. Defines extent and recanalisation" }
];
steps.forEach((st, i) => {
const y = 1.1 + i * 1.05;
s.addShape(pres.ShapeType.rect, { x: 0.25, y, w: 0.55, h: 0.75, fill: { color: TEAL }, line: { color: TEAL } });
s.addText(st.n, { x: 0.25, y: y + 0.05, w: 0.55, h: 0.65, fontSize: 22, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addShape(pres.ShapeType.roundRect, {
x: 0.9, y, w: 9.0, h: 0.75, fill: { color: LIGHT }, line: { color: TEAL, pt: 0.8 }, rectRadius: 0.06
});
s.addText(st.label, { x: 1.0, y: y + 0.04, w: 3.2, h: 0.35, fontSize: 12.5, bold: true, color: NAVY, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(st.detail, { x: 1.0, y: y + 0.38, w: 8.8, h: 0.33, fontSize: 11, color: MID, fontFace: "Calibri", valign: "middle", margin: 0, wrap: true });
// connector line
if (i < 3) {
s.addShape(pres.ShapeType.rect, { x: 0.46, y: y + 0.76, w: 0.08, h: 0.28, fill: { color: STEEL }, line: { color: STEEL } });
}
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — Non-contrast CT Signs
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Non-Contrast CT (NECT) Signs", "First-line investigation");
const signs = [
{
title: "Dense/Cord Sign",
detail: "Hyperdense (>60 HU) thrombosed cortical vein on axial NECT. Seen in <30% of cases. Most visible in the first 1–2 weeks.",
note: "Look for: hyperdense tubular structure along cortical surface"
},
{
title: "Dense Sinus Sign",
detail: "Hyperdense dural venous sinus (SSS, transverse) due to acute thrombus. SSS appears as a triangular hyperdensity on axial imaging.",
note: "Sensitivity ~25-35% for SSS thrombosis"
},
{
title: "Pseudo-delta Sign",
detail: "Triangular hyperdensity within the SSS on NECT, before contrast. Must be distinguished from calcification or high hematocrit.",
note: "Attenuation >60 HU is diagnostic threshold"
},
{
title: "Parenchymal Changes",
detail: "Low density edema (cytotoxic/vasogenic) or hemorrhagic infarction. Distribution crosses arterial territories — bilateral parasagittal is classic for SSS thrombosis.",
note: "Bilateral parasagittal hemorrhage = pathognomonic for SSS CVT"
}
];
signs.forEach((sg, i) => {
const x = 0.22 + (i % 2) * 4.85;
const y = 1.1 + Math.floor(i / 2) * 2.15;
s.addShape(pres.ShapeType.roundRect, {
x, y, w: 4.55, h: 2.0, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.08
});
s.addShape(pres.ShapeType.rect, { x, y, w: 4.55, h: 0.35, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(sg.title, { x: x + 0.1, y: y + 0.03, w: 4.35, h: 0.29, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(sg.detail, { x: x + 0.1, y: y + 0.42, w: 4.35, h: 0.9, fontSize: 11, color: MID, fontFace: "Calibri", wrap: true });
s.addShape(pres.ShapeType.roundRect, { x: x + 0.1, y: y + 1.38, w: 4.35, h: 0.48, fill: { color: "EEF6FB" }, line: { color: STEEL, pt: 0.8 }, rectRadius: 0.05 });
s.addText("→ " + sg.note, { x: x + 0.18, y: y + 1.42, w: 4.2, h: 0.38, fontSize: 10, color: STEEL, fontFace: "Calibri", italic: true, wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — CT Venography Signs
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "CT Venography (CTV) Signs", "Post-contrast CT — optimal for major sinuses");
// Empty delta sign focus
s.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: 1.1, w: 9.5, h: 1.55,
fill: { color: "FFF8E7" }, line: { color: "E8A020", pt: 1.5 }, rectRadius: 0.1
});
s.addText("★ The Empty Delta (Empty Triangle) Sign", {
x: 0.4, y: 1.15, w: 7, h: 0.32, fontSize: 13.5, bold: true, color: "8B6000", fontFace: "Calibri"
});
s.addText("On post-contrast CT, the thrombosed SSS appears as a central filling defect (low-density clot) surrounded by enhancing collateral channels in the falx and sinus walls, creating a triangular 'empty delta.' Present in 25-30% of SSS thromboses. Specific but not sensitive. May be absent with partial thrombosis.", {
x: 0.4, y: 1.52, w: 9.1, h: 0.95, fontSize: 11.5, color: MID, fontFace: "Calibri", wrap: true
});
const items = [
{ t: "Filling defect", d: "Hypodense thrombus within otherwise enhancing sinus — best seen on CTV maximum intensity projections (MIPs)" },
{ t: "Sinus expansion", d: "Thrombosed sinus appears enlarged compared with contralateral side; compare calibre systematically" },
{ t: "Cortical vein filling defect", d: "'String sign' — linear filling defect within a cortical vein seen on CTV; indicates isolated cortical vein thrombosis" },
{ t: "Parenchymal changes", d: "Adjacent hemorrhagic infarction, edema, or subarachnoid hemorrhage from cortical vein rupture" }
];
items.forEach((it, i) => {
const x = 0.22 + (i % 2) * 4.85;
const y = 2.78 + Math.floor(i / 2) * 1.25;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.55, h: 1.1, fill: { color: LIGHT }, line: { color: TEAL, pt: 0.8 }, rectRadius: 0.07 });
s.addText(it.t, { x: x + 0.12, y: y + 0.06, w: 4.3, h: 0.28, fontSize: 12, bold: true, color: NAVY, fontFace: "Calibri" });
s.addText(it.d, { x: x + 0.12, y: y + 0.37, w: 4.3, h: 0.62, fontSize: 10.5, color: MID, fontFace: "Calibri", wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — MRI Signs — Overview
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "MRI Signs of CVST", "Sequence-by-sequence analysis");
const rows = [
{ seq: "T1W", acute: "Isointense (deoxyhemoglobin)", subacute: "Hyperintense (methemoglobin)", chronic: "Variable / hypointense" },
{ seq: "T2W", acute: "Hypointense (can mimic flow void!)", subacute: "Hyperintense", chronic: "Variable" },
{ seq: "FLAIR", acute: "Loss of normal flow void; may be hyperintense", subacute: "Hyperintense sinus", chronic: "Variable" },
{ seq: "DWI / ADC", acute: "Restricted diffusion in parenchymal infarction", subacute: "Less restricted", chronic: "ADC normalization / T2 shine-through" },
{ seq: "SWI / GRE", acute: "Blooming / hypointense expanded sinus; serpiginous dilated cortical veins", subacute: "Persists longer than T2", chronic: "Hemosiderin staining" },
{ seq: "T1+Gad", acute: "Peripheral sinus wall enhancement; filling defect", subacute: "Persistent filling defect", chronic: "Complete or partial recanalisation" }
];
// header row
["Sequence", "Acute (0–5 days)", "Subacute (5–14 days)", "Chronic (>14 days)"].forEach((h, i) => {
const widths = [1.4, 2.7, 2.7, 2.7];
const xs = [0.2, 1.65, 4.38, 7.1];
s.addShape(pres.ShapeType.rect, { x: xs[i], y: 1.1, w: widths[i], h: 0.33, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(h, { x: xs[i] + 0.05, y: 1.12, w: widths[i] - 0.1, h: 0.29, fontSize: 10.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
});
rows.forEach((row, i) => {
const y = 1.44 + i * 0.62;
const fill = i % 2 === 0 ? LIGHT : WHITE;
const xs = [0.2, 1.65, 4.38, 7.1];
const widths = [1.4, 2.7, 2.7, 2.7];
const vals = [row.seq, row.acute, row.subacute, row.chronic];
vals.forEach((v, j) => {
s.addShape(pres.ShapeType.rect, { x: xs[j], y, w: widths[j], h: 0.6, fill: { color: fill }, line: { color: "D0E4EE", pt: 0.5 } });
s.addText(v, { x: xs[j] + 0.06, y: y + 0.04, w: widths[j] - 0.12, h: 0.52, fontSize: j === 0 ? 12 : 10, bold: j === 0, color: j === 0 ? TEAL : MID, fontFace: "Calibri", valign: "middle", wrap: true, margin: 0 });
});
});
s.addText("Caution: Acute thrombus is hypointense on T2 and can mimic a normal flow void — always correlate with T1 and SWI!", {
x: 0.2, y: 5.25, w: 9.6, h: 0.22, fontSize: 10, color: "C0392B", fontFace: "Calibri", italic: true, bold: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — MR Venography (MRV)
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "MR Venography (MRV)", "The most sensitive non-invasive test");
s.addText("MRV is considered the most sensitive noninvasive test for diagnosing CVT. Two main techniques are used:", {
x: 0.3, y: 1.12, w: 9.4, h: 0.38, fontSize: 12.5, color: MID, fontFace: "Calibri"
});
// Two technique boxes
[
{
tech: "2D Time-of-Flight (TOF) MRV",
pros: ["No contrast needed", "High sensitivity for slow flow", "Quick acquisition"],
cons: ["Susceptible to saturation effects", "Slow flow can mimic occlusion", "Poor for deep veins if tortuous"],
look: "Loss of signal / absent flow-related enhancement in affected sinus"
},
{
tech: "Phase-Contrast MRV",
pros: ["Velocity encoding optimised for venous flow", "Better background suppression", "Quantitative flow possible"],
cons: ["Longer acquisition time", "Aliasing if velocity encoding incorrect", "Less widely used"],
look: "Absent or markedly reduced phase signal in occluded sinus"
}
].forEach((box, i) => {
const x = 0.25 + i * 4.85;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.55, w: 4.55, h: 3.75, fill: { color: LIGHT }, line: { color: TEAL, pt: 1.2 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x, y: 1.55, w: 4.55, h: 0.36, fill: { color: TEAL }, line: { color: TEAL } });
s.addText(box.tech, { x: x + 0.1, y: 1.57, w: 4.35, h: 0.32, fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText("Advantages:", { x: x + 0.12, y: 1.98, w: 4.3, h: 0.25, fontSize: 11, bold: true, color: NAVY, fontFace: "Calibri" });
s.addText(box.pros.map(p => "✓ " + p).join("\n"), { x: x + 0.12, y: 2.26, w: 4.3, h: 0.75, fontSize: 10.5, color: "1A7040", fontFace: "Calibri", wrap: true });
s.addText("Limitations:", { x: x + 0.12, y: 3.06, w: 4.3, h: 0.25, fontSize: 11, bold: true, color: NAVY, fontFace: "Calibri" });
s.addText(box.cons.map(p => "✗ " + p).join("\n"), { x: x + 0.12, y: 3.34, w: 4.3, h: 0.7, fontSize: 10.5, color: "8B2020", fontFace: "Calibri", wrap: true });
s.addShape(pres.ShapeType.rect, { x: x + 0.1, y: 4.1, w: 4.35, h: 0.04, fill: { color: TEAL }, line: { color: TEAL } });
s.addText("Appearance: " + box.look, { x: x + 0.1, y: 4.18, w: 4.35, h: 0.7, fontSize: 10, color: STEEL, fontFace: "Calibri", italic: true, wrap: true });
});
s.addText("Pitfall: A hypoplastic or absent transverse sinus (present in ~20% of population) can mimic thrombosis — always compare with structural MRI sequences.", {
x: 0.25, y: 5.38, w: 9.5, h: 0.2, fontSize: 9.5, color: "C0392B", fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — SWI / GRE
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "SWI & GRE Sequences", "Critical for cortical vein thrombosis");
s.addText("Susceptibility-weighted imaging (SWI) is particularly valuable in CVST because it is highly sensitive to blood products and deoxyhemoglobin within thrombosed vessels.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.45, fontSize: 12.5, color: MID, fontFace: "Calibri", wrap: true
});
const features = [
{
title: "Blooming Artifact",
icon: "◆",
detail: "Exaggerated hypointensity ('blooming') of the thrombosed sinus or cortical vein beyond its anatomical borders. More prominent than on T2W. Helps detect acute thrombus when T2 can mimic normal flow void."
},
{
title: "Dilated Cortical Veins",
icon: "◆",
detail: "Multiple prominent, serpiginous hypointense veins in the venous territory upstream from the thrombosis indicate venous congestion. This pattern is a key indirect sign of CVST."
},
{
title: "Cortical Vein Detection",
icon: "◆",
detail: "Phase images from SWI can identify an occluded cortical vein as hypointense compared with patent veins. Particularly useful for isolated cortical vein thrombosis (no sinus involvement)."
},
{
title: "Hemorrhagic Infarct",
icon: "◆",
detail: "SWI is most sensitive for detecting small hemorrhagic foci within venous infarctions. Microbleeds and petechial hemorrhages invisible on CT or conventional MRI sequences are detectable."
}
];
features.forEach((ft, i) => {
const x = 0.22 + (i % 2) * 4.85;
const y = 1.67 + Math.floor(i / 2) * 1.75;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.55, h: 1.6, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.42, h: 1.6, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(ft.icon, { x: x + 0.01, y: y + 0.62, w: 0.4, h: 0.36, fontSize: 22, color: WHITE, fontFace: "Calibri", align: "center" });
s.addText(ft.title, { x: x + 0.5, y: y + 0.06, w: 3.97, h: 0.3, fontSize: 12, bold: true, color: NAVY, fontFace: "Calibri" });
s.addText(ft.detail, { x: x + 0.5, y: y + 0.4, w: 3.95, h: 1.1, fontSize: 10.5, color: MID, fontFace: "Calibri", wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 13 — DWI & Parenchymal Changes
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "DWI & Parenchymal Lesions", "Venous infarction patterns");
s.addText("Parenchymal involvement distinguishes CVST from benign intracranial hypertension. The distribution is key — venous infarcts cross arterial territories and are often bilateral.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.42, fontSize: 12.5, color: MID, fontFace: "Calibri", wrap: true
});
const panels = [
{
title: "DWI Characteristics",
items: [
"Restricted diffusion in cytotoxic edema phase",
"ADC map shows corresponding hypointensity",
"Mixed pattern: restricted + elevated ADC (vasogenic edema)",
"DWI may be falsely negative in early/mild venous hypertension",
"Partial ADC normalization with treatment — unlike arterial infarct"
]
},
{
title: "Distribution Patterns",
items: [
"SSS: Bilateral parasagittal frontoparietal (classic)",
"Transverse sinus: Temporal lobe / posterior fossa",
"Straight sinus: Thalami, basal ganglia, corpus callosum",
"Deep veins: Bilateral thalamic infarction (critical)",
"Cortical vein: Unilateral cortical / subcortical, lobar"
]
},
{
title: "Hemorrhagic Features",
items: [
"Hemorrhagic infarction present in 30-60% of cases",
"Petechial microbleeds or confluent hematoma",
"Bilateral hemorrhage strongly suggests venous etiology",
"Subarachnoid hemorrhage (convexal SAH) from cortical vein rupture",
"Does NOT preclude anticoagulation (unlike arterial stroke)"
]
}
];
panels.forEach((p, i) => {
const x = 0.22 + i * 3.22;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.65, w: 3.05, h: 3.6, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.65, w: 3.05, h: 0.35, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(p.title, { x: x + 0.08, y: 1.67, w: 2.89, h: 0.31, fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(p.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: 2.06, w: 2.87, h: 3.1, fontSize: 10.5, color: MID, fontFace: "Calibri", valign: "top", wrap: true
});
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 14 — Deep Venous Thrombosis
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Deep Cerebral Venous Thrombosis", "Internal cerebral veins, vein of Galen, straight sinus");
s.addText("Deep CVT is rarer but more severe than superficial CVT, with higher mortality. Bilateral thalamic involvement is the hallmark.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.38, fontSize: 12.5, color: "C0392B", fontFace: "Calibri", bold: true
});
addCard(s, 0.3, 1.6, 4.5, 1.9,
"Anatomy\n\nThrombus involves: internal cerebral veins → vein of Galen → straight sinus → (extends to transverse sinuses in severe cases). The internal cerebral veins drain the thalamus, basal ganglia, and internal capsule bilaterally.",
{ fs: 11.5 });
addCard(s, 5.2, 1.6, 4.5, 1.9,
"Clinical\n\nPresentation: Coma, altered consciousness, bilateral pyramidal signs. Often mistaken for metabolic encephalopathy or brainstem infarction. High index of suspicion needed in febrile encephalopathy.",
{ fs: 11.5 });
addCard(s, 0.3, 3.62, 4.5, 1.65,
"CT / MRI Findings\n\n• Bilateral thalamic hypodensity (CT) or T2 hyperintensity (MRI)\n• Hyperdense vein of Galen / straight sinus on NECT\n• T1 shortening (methemoglobin) in subacute phase\n• Hemorrhagic infarction of thalami ± basal ganglia",
{ fs: 11 });
addCard(s, 5.2, 3.62, 4.5, 1.65,
"Differential Diagnosis\n\n• Bilateral thalamic glioma (no sinus occlusion)\n• Artery of Percheron infarction (arterial territory, single territory)\n• Wernicke encephalopathy (periaq., mammillary bodies)\n• Metabolic (hypoxia, CJD, Wilson disease)",
{ fs: 11 });
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 15 — Cavernous Sinus Thrombosis
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Cavernous Sinus Thrombosis", "A distinct clinical-radiological syndrome");
s.addText("Cavernous sinus thrombosis (CST) is uncommon and usually septic in origin (dental/orbital/paranasal sinus infection). Clinical presentation differs from other CVT syndromes.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.42, fontSize: 12.5, color: MID, fontFace: "Calibri", wrap: true
});
const sections = [
{
title: "Clinical Features",
items: ["Chemosis & proptosis (bilateral)", "Ophthalmoplegia (CN III, IV, VI)", "Periorbital edema and pain", "V1/V2 sensory loss", "Septic: fever, rigors, meningism", "Carotid artery involvement → mycotic aneurysm"]
},
{
title: "CT Findings",
items: ["Expanded / heterogeneous cavernous sinus", "Bulging lateral wall of cavernous sinus", "Filling defect on CTV", "Adjacent sphenoidal sinusitis / orbital cellulitis", "Secondary ICA narrowing or occlusion", "Thrombophlebitis of superior ophthalmic vein"]
},
{
title: "MRI Findings",
items: ["Loss of normal cavernous sinus flow void", "T1 hypointensity / T2 hyperintensity in sinus", "Superior ophthalmic vein thrombosis", "Gadolinium: irregular filling defect", "Cavernous ICA wall enhancement", "Restricted diffusion if abscess formation"]
}
];
sections.forEach((sec, i) => {
const x = 0.22 + i * 3.22;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.65, w: 3.05, h: 3.7, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.65, w: 3.05, h: 0.35, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(sec.title, { x: x + 0.08, y: 1.67, w: 2.9, h: 0.31, fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(sec.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: 2.06, w: 2.87, h: 3.2, fontSize: 11, color: MID, fontFace: "Calibri", valign: "top", wrap: true
});
});
s.addText("Key: Superior ophthalmic vein thrombosis on MRI/CTV is a highly specific sign. Bilateral cavernous sinus involvement is almost pathognomonic for septic CST.", {
x: 0.22, y: 5.42, w: 9.5, h: 0.2, fontSize: 9.5, color: STEEL, fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 16 — Differential Diagnosis
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Differential Diagnosis", "Conditions that can mimic CVST on imaging");
const diffs = [
{ cond: "Arachnoid granulation", feature: "Well-defined filling defect within sinus, smooth borders, no expansion, CSF density/signal. Common normal variant" },
{ cond: "Hypoplastic transverse sinus", feature: "Absent/reduced signal on MRV; no T1/T2 signal change in sinus; common on left. Check phase-contrast MRV" },
{ cond: "Subdural hematoma", feature: "Crescent-shaped collection following inner table; does NOT fill the sinus lumen; distinct CT/MRI signal pattern" },
{ cond: "High hematocrit / polycythemia", feature: "Elevated hematocrit causes sinus hyperdensity on CT mimicking dense sinus sign; clinical and lab correlation needed" },
{ cond: "Arterial infarction", feature: "Follows arterial territory; DWI tightly restricted; no sinus abnormality; no bilateral parasagittal distribution" },
{ cond: "Meningioma / Sinus invasion", feature: "Heterogeneous enhancing mass invading/compressing sinus; surrounding bone changes; slow progressive occlusion" },
{ cond: "Slow flow / non-thrombotic occlusion", feature: "Artifact on TOF-MRV; confirm with phase contrast MRV + T1W post-Gad; no parenchymal changes" },
{ cond: "Idiopathic intracranial hypertension", feature: "Normal MRV (or bilateral transverse sinus stenosis); no parenchymal infarction; empty sella, optic nerve sheath enlargement" }
];
// header
["Condition", "Key Distinguishing Feature"].forEach((h, i) => {
const xArr = [0.2, 3.1];
const wArr = [2.8, 6.7];
s.addShape(pres.ShapeType.rect, { x: xArr[i], y: 1.08, w: wArr[i], h: 0.3, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(h, { x: xArr[i] + 0.08, y: 1.1, w: wArr[i] - 0.16, h: 0.26, fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
});
diffs.forEach((d, i) => {
const y = 1.4 + i * 0.52;
const fill = i % 2 === 0 ? LIGHT : WHITE;
s.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 2.8, h: 0.5, fill: { color: fill }, line: { color: "D0E4EE", pt: 0.5 } });
s.addShape(pres.ShapeType.rect, { x: 3.1, y, w: 6.7, h: 0.5, fill: { color: fill }, line: { color: "D0E4EE", pt: 0.5 } });
s.addText(d.cond, { x: 0.28, y: y + 0.04, w: 2.64, h: 0.42, fontSize: 10.5, bold: true, color: NAVY, fontFace: "Calibri", valign: "middle", wrap: true });
s.addText(d.feature, { x: 3.18, y: y + 0.04, w: 6.54, h: 0.42, fontSize: 10, color: MID, fontFace: "Calibri", valign: "middle", wrap: true });
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 17 — Pitfalls & Mimics
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Imaging Pitfalls & Mimics", "Where diagnosis goes wrong");
const pitfalls = [
{
cat: "CT Pitfalls",
color: "FDECEA",
border: "E53935",
items: [
"Normal NECT in up to 30% of CVST — a negative CT does NOT exclude diagnosis",
"High hematocrit (polycythemia) causes pseudo-dense sinus sign",
"Calcified dura/falx mimics dense sinus sign",
"Subdural hematoma can overlie or mask sinus pathology",
"Bilateral parasagittal hemorrhage may be interpreted as bilateral subdurals"
]
},
{
cat: "MRI / MRV Pitfalls",
color: "FFF8E1",
border: "F9A825",
items: [
"Acute thrombus is T2 hypointense — mimics normal flow void; always check T1+SWI",
"Absent left transverse sinus (hypoplasia) mimics unilateral thrombosis",
"Slow flow gives loss of MRV signal without thrombosis",
"Arachnoid granulations cause sinus filling defects simulating thrombus",
"Subacute T1 hyperintensity can be confused with fat or flow artifact"
]
},
{
cat: "Clinical Pitfalls",
color: "E8F5E9",
border: "43A047",
items: [
"CVST misdiagnosed as migraine, meningitis, or pseudotumor cerebri",
"Deep CVT masquerades as metabolic encephalopathy",
"Cavernous sinus thrombosis confused with orbital cellulitis",
"Puerperal CVST after delivery misattributed to post-dural puncture headache",
"VITT-related CVST: thrombocytopenia + sinus thrombosis — anticoagulant choice matters!"
]
}
];
pitfalls.forEach((p, i) => {
const x = 0.22 + i * 3.22;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.1, w: 3.05, h: 4.15, fill: { color: p.color }, line: { color: p.border, pt: 1.5 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x, y: 1.1, w: 3.05, h: 0.36, fill: { color: p.border }, line: { color: p.border } });
s.addText(p.cat, { x: x + 0.08, y: 1.12, w: 2.9, h: 0.32, fontSize: 11.5, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(p.items.map(t => "• " + t).join("\n\n"), {
x: x + 0.1, y: 1.54, w: 2.87, h: 3.6, fontSize: 10.5, color: NAVY, fontFace: "Calibri", valign: "top", wrap: true
});
});
s.addText("Bottom line: Multiple sequences are mandatory. No single CT or MRI sequence is sufficient alone to exclude or confirm CVST.", {
x: 0.22, y: 5.38, w: 9.5, h: 0.22, fontSize: 10, color: "C0392B", fontFace: "Calibri", bold: true, italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 18 — Treatment & Role of Imaging in Management
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Treatment & Imaging's Role in Management", "Guiding therapy and follow-up");
const cols = [
{
title: "Anticoagulation",
items: [
"LMWH or UFH — first-line even with hemorrhagic infarction",
"Reduces thrombus propagation without increasing hemorrhage risk",
"Transition to oral anticoagulants (warfarin / DOAC) for 3–12 months",
"VITT: avoid heparin → use argatroban or fondaparinux",
"Imaging: does NOT preclude anticoagulation"
]
},
{
title: "Endovascular Therapy",
items: [
"Reserved for deterioration despite anticoagulation",
"Mechanical thrombectomy + local thrombolysis",
"CTV/DSA defines anatomy pre-procedure",
"Post-procedure: repeat MRI to assess recanalisation",
"Indications: coma, rapidly progressive deficit, contraindication to AC"
]
},
{
title: "Imaging in Follow-Up",
items: [
"Repeat MRI/MRV at 3–6 months to assess recanalisation",
"Full recanalisation in ~80% at 4 months",
"Partial recanalisation: longer anticoagulation",
"SWI useful to detect residual hemosiderin deposition",
"CT/MRI if new symptoms (recurrence: ~2–7%)"
]
}
];
cols.forEach((col, i) => {
const x = 0.22 + i * 3.22;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.1, w: 3.05, h: 4.1, fill: { color: LIGHT }, line: { color: TEAL, pt: 1 }, rectRadius: 0.08 });
s.addShape(pres.ShapeType.rect, { x, y: 1.1, w: 3.05, h: 0.36, fill: { color: TEAL }, line: { color: TEAL } });
s.addText(col.title, { x: x + 0.08, y: 1.12, w: 2.9, h: 0.32, fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(col.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: 1.54, w: 2.87, h: 3.5, fontSize: 11, color: MID, fontFace: "Calibri", valign: "top", wrap: true
});
});
s.addText("ESO/ESNR Guidelines 2023: Anticoagulation is recommended even in the presence of hemorrhagic infarction (Level B evidence). DOACs are increasingly favoured for secondary prevention.", {
x: 0.22, y: 5.35, w: 9.5, h: 0.25, fontSize: 9.5, color: STEEL, fontFace: "Calibri", italic: true
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 19 — Prognosis & Outcome Predictors
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
addHeader(s, "Prognosis & Outcome Predictors", "Role of imaging in predicting outcomes");
s.addText("CVST has a better prognosis than arterial stroke. ~80% achieve functional independence at 1 year, but imaging findings are powerful predictors of outcome.", {
x: 0.3, y: 1.12, w: 9.4, h: 0.42, fontSize: 12.5, color: MID, fontFace: "Calibri", wrap: true
});
const progFactors = [
{ factor: "Deep CVT (thalamic infarction)", prognosis: "Poor", color: "FDECEA" },
{ factor: "Hemorrhagic infarction", prognosis: "Moderate-Poor", color: "FFF3E0" },
{ factor: "Coma on admission", prognosis: "Poor", color: "FDECEA" },
{ factor: "Bilateral parenchymal lesions", prognosis: "Poor", color: "FDECEA" },
{ factor: "Isolated ↑ICP (no infarction)", prognosis: "Good", color: "E8F5E9" },
{ factor: "Early anticoagulation", prognosis: "Good", color: "E8F5E9" },
{ factor: "Complete sinus recanalisation", prognosis: "Good", color: "E8F5E9" },
{ factor: "VITT-related CVST", prognosis: "Variable (depends on platelet count)", color: "FFF8E1" }
];
// table
["Prognostic Factor", "Prognosis"].forEach((h, i) => {
s.addShape(pres.ShapeType.rect, { x: i === 0 ? 0.2 : 7.3, y: 1.65, w: i === 0 ? 7.0 : 2.55, h: 0.3, fill: { color: NAVY }, line: { color: NAVY } });
s.addText(h, { x: (i === 0 ? 0.3 : 7.38), y: 1.67, w: i === 0 ? 6.9 : 2.4, h: 0.26, fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", valign: "middle", margin: 0 });
});
progFactors.forEach((pf, i) => {
const y = 1.96 + i * 0.42;
s.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 7.0, h: 0.4, fill: { color: pf.color }, line: { color: "D0E4EE", pt: 0.5 } });
s.addShape(pres.ShapeType.rect, { x: 7.3, y, w: 2.55, h: 0.4, fill: { color: pf.color }, line: { color: "D0E4EE", pt: 0.5 } });
s.addText(pf.factor, { x: 0.3, y: y + 0.06, w: 6.82, h: 0.28, fontSize: 11, color: NAVY, fontFace: "Calibri", valign: "middle" });
s.addText(pf.prognosis, { x: 7.38, y: y + 0.06, w: 2.38, h: 0.28, fontSize: 11, bold: true,
color: pf.prognosis.startsWith("Good") ? "1A7040" : pf.prognosis.startsWith("Poor") ? "C0392B" : "8B6000",
fontFace: "Calibri", valign: "middle" });
});
}
// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 20 — Summary & Key Take-Aways
// ═══════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.background = { color: BG };
// Full navy header
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.2, fill: { color: NAVY }, line: { color: NAVY } });
s.addShape(pres.ShapeType.rect, { x: 0, y: 1.2, w: 10, h: 0.05, fill: { color: TEAL }, line: { color: TEAL } });
s.addText("Summary: Key Take-Aways in CVST Neuroradiology", {
x: 0.3, y: 0.1, w: 9.4, h: 0.65, fontSize: 22, bold: true, color: WHITE, fontFace: "Calibri"
});
s.addText("Grainger & Allison · Bradley & Daroff · Adams & Victor", {
x: 0.3, y: 0.82, w: 9.4, h: 0.3, fontSize: 11, color: "90B8D0", fontFace: "Calibri", italic: true
});
const takeaways = [
{ n: "01", text: "CVST is a diagnosis of exclusion that demands a multisequence, multimodality imaging protocol — no single test is sufficient." },
{ n: "02", text: "NECT is first-line but misses up to 30-40% of cases. A normal CT does NOT exclude CVST." },
{ n: "03", text: "The empty delta sign (CTV) and dense sinus sign (NECT) are specific but insensitive hallmarks." },
{ n: "04", text: "SWI is indispensable for cortical vein thrombosis — serpiginous dilated veins = venous congestion." },
{ n: "05", text: "Acute T2 hypointensity in a sinus mimics normal flow void — always correlate T1W and SWI in equivocal cases." },
{ n: "06", text: "Deep CVT (bilateral thalamic infarction) carries high morbidity/mortality — urgent MRI+MRV if coma with no cause." },
{ n: "07", text: "Hemorrhagic infarction does NOT contraindicate anticoagulation — this is a key differentiator from arterial stroke." },
{ n: "08", text: "Follow-up MRI/MRV at 3-6 months to document recanalisation and guide duration of anticoagulation." }
];
takeaways.forEach((ta, i) => {
const col = i < 4 ? 0 : 1;
const row = i % 4;
const x = 0.2 + col * 5.0;
const y = 1.35 + row * 1.03;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.75, h: 0.92, fill: { color: LIGHT }, line: { color: TEAL, pt: 0.8 }, rectRadius: 0.07 });
s.addShape(pres.ShapeType.rect, { x, y, w: 0.52, h: 0.92, fill: { color: TEAL }, line: { color: TEAL } });
s.addText(ta.n, { x, y: y + 0.23, w: 0.52, h: 0.46, fontSize: 14, bold: true, color: WHITE, fontFace: "Calibri", align: "center", valign: "middle", margin: 0 });
s.addText(ta.text, { x: x + 0.6, y: y + 0.07, w: 4.07, h: 0.78, fontSize: 10.5, color: NAVY, fontFace: "Calibri", wrap: true, valign: "middle" });
});
}
// ─── WRITE FILE ──────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pptx" })
.then(() => console.log("Done: CVST_Neuroradiology.pptx"))
.catch(err => { console.error(err); process.exit(1); });
cd /home/daytona/workspace/cvst-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pptx
CVST Neuroradiology
Presentation · PPTX
| # | Slide |
|---|---|
| 1 | Title slide — CVST Neuroradiology |
| 2 | What is CVST? — incidence, sex ratio, mortality, key message |
| 3 | Cerebral Venous Anatomy — superficial vs deep system, frequency of involvement |
| 4 | Etiology & Risk Factors — hypercoagulable, infective, systemic (incl. VITT) |
| 5 | Pathophysiology — flow diagram from thrombosis to hemorrhagic infarction |
| 6 | Clinical Presentation — symptoms, syndrome patterns, red flags |
| 7 | Imaging Algorithm — NECT → CTV → MRI/MRV → DSA step-by-step |
| 8 | NECT Signs — cord sign, dense sinus, pseudo-delta, parenchymal changes |
| 9 | CT Venography Signs — empty delta sign, filling defect, string sign |
| 10 | MRI Signs — T1/T2/FLAIR/DWI/SWI/T1+Gad by acute/subacute/chronic phase |
| 11 | MR Venography — TOF vs phase contrast, advantages, limitations, pitfalls |
| 12 | SWI & GRE — blooming, dilated cortical veins, cortical vein detection |
| 13 | DWI & Parenchymal Lesions — characteristics, distribution patterns, hemorrhage |
| 14 | Deep Venous Thrombosis — bilateral thalamic, straight sinus, differentials |
| 15 | Cavernous Sinus Thrombosis — clinical, CT, MRI findings |
| 16 | Differential Diagnosis — 8-row table of mimics with distinguishing features |
| 17 | Imaging Pitfalls & Mimics — CT, MRI/MRV, and clinical pitfalls |
| 18 | Treatment & Imaging in Management — anticoagulation, endovascular, follow-up |
| 19 | Prognosis & Outcome Predictors — imaging predictors with color-coded table |
| 20 | Summary — 8 numbered key take-aways |
In pdf format
cd /home/daytona/workspace/cvst-pptx && libreoffice --headless --convert-to pdf CVST_Neuroradiology.pptx --outdir . 2>&1
mkdir -p /home/daytona/workspace/cvst-pptx/out && cp /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pptx /tmp/CVST_Neuroradiology.pptx && libreoffice --headless --convert-to pdf /tmp/CVST_Neuroradiology.pptx --outdir /home/daytona/workspace/cvst-pptx/out 2>&1
libreoffice --headless --convert-to pdf /tmp/CVST_Neuroradiology.pptx --outdir /tmp/ 2>&1 && ls -lh /tmp/CVST_Neuroradiology.pdf
cp /tmp/CVST_Neuroradiology.pdf /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pdf && ls -lh /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pdf
CVST Neuroradiology
PDF Document · PDF
I am not able to downloas
ls -lh /home/daytona/workspace/cvst-pptx/ && echo "---" && stat /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pdf && stat /home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pptx
/home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pdf/home/daytona/workspace/cvst-pptx/CVST_Neuroradiology.pptx/home/daytona/workspace/cvst-pptx/ to find and download the files directlyEmail the PDF/PPTX to me
/home/daytona/workspace/cvst-pptx/ and download directly.