oppurtunities for passive income as a hectic radiology resident
passive income ideas for radiology residents physicians 2025
| Option | Upfront Effort | Ongoing Time | Income Potential |
|---|---|---|---|
| Roth IRA + Index Funds | Low | Minimal | High (long-term) |
| Real estate crowdfunding | Low | Minimal | Medium |
| Radiology Anki/study materials | Medium | Very low | Low-Medium |
| AI data annotation | Low | Flexible | Low-Medium |
| YouTube/teaching content | High | Low after launch | Medium-High |
| Blog/newsletter | High | Low-Medium | Variable |
differentiate between blood and iron on mri based on mri machine coil if swan shows blooming with old infarct and acute at the same region again
SWAN MRI blooming artifact blood vs iron differentiation old infarct hemosiderin 2024
SWAN GRE phase image blood vs calcification vs iron differentiation radiology MRI coil susceptibility
https://mriquestions.com/phase-of-blood-v-ca.html
old infarct acute re-infarction same region SWAN blooming hemosiderin differentiation MRI approach
| Scanner | System | Veins / Blood (paramagnetic) on Phase | Calcification (diamagnetic) on Phase |
|---|---|---|---|
| Siemens | Left-handed | Bright | Dark |
| Canon (Toshiba) | Left-handed | Bright | Dark |
| GE (SWAN) | Right-handed | Dark | Bright |
| Philips (venous BOLD) | Right-handed | Dark | Bright |
- Blood / iron / hemosiderin = dark on SWAN magnitude + dark on phase
- Calcification = dark on SWAN magnitude + bright on phase
| Feature | Acute Blood (deoxy-Hb / early met-Hb) | Chronic Blood (hemosiderin / ferritin) | Mineral Iron deposit (e.g., basal ganglia iron, neurodegeneration) |
|---|---|---|---|
| SWAN/SWI | Blooms (dark, magnitude) | Blooms strongly (dark) | Blooms (dark) |
| Phase image | Paramagnetic (dark on GE/SWAN) | Paramagnetic (dark on GE/SWAN) | Paramagnetic (dark on GE/SWAN) |
| T1W | Variable: early = isointense; subacute = bright (extracellular met-Hb) | Hypointense / dark | Hypointense / dark |
| T2W / FLAIR | Hypointense (deoxy-Hb, intracellular met-Hb) or hyperintense (extracellular) | Markedly hypointense (rim or dot) | Hypointense |
| DWI | Restricted (acute infarct with hemorrhage) | No restriction | No restriction |
| ADC | Low | Normal to high | Normal |
| FLAIR | Hyperintense (surrounding edema) | Hypointense scar / encephalomalacia | Isointense or low |
| T1 fat sat | Met-Hb = bright | Dark | Dark |
| CT | Hyperdense if acute | Isodense / hypodense (chronic) | Can be hyperdense (mineral) |
| Sequence | What to look for |
|---|---|
| DWI + ADC | New restricted diffusion = active acute ischemia. This is the anchor sequence. |
| FLAIR | New hyperintensity (cytotoxic edema, acute) vs. old hypointense cavity (encephalomalacia from prior) |
| T1W | Old hemosiderin = hypointense. Subacute blood = hyperintense (T1 shortening from met-Hb). New acute = isointense. |
| T2W | Old infarct cavity = very bright (CSF-like). Acute = subtle T2 hyperintensity + mass effect |
| CT (if available) | Acute hemorrhage = hyperdense. Old hemosiderin/calcium on CT = hypodense or isodense. CT is your gold standard for ruling IN acute hemorrhage. |
SWAN blooming at old infarct site, new presentation:
1. Is DWI restricted in the SAME zone?
YES → Active acute ischemia confirmed
2. Is there NEW T1 bright signal (not old)?
YES → Subacute/acute hemorrhagic transformation (methemoglobin)
3. Does FLAIR show NEW hyperintensity beyond the old cavity?
YES → Acute edema = new event
4. Does CT show hyperdensity?
YES → Acute hemorrhage
NO → Likely hemosiderin from old event
5. Compare with prior MRI if available
Old blooming same size/location = hemosiderin, not new
| Stage | Timing | Blood product | T1 | T2 | SWAN/GRE |
|---|---|---|---|---|---|
| Hyperacute | <12 hrs | Oxyhemoglobin | Iso | Bright | Minimal blooming |
| Acute | 12h - 2d | Deoxyhemoglobin | Iso | Dark | Blooms |
| Early subacute | 2-7d | Intracellular methemoglobin | Bright | Dark | Blooms |
| Late subacute | 1-4 wk | Extracellular methemoglobin | Bright | Bright | Blooms |
| Chronic | Months-years | Hemosiderin / ferritin | Dark | Very dark | Strongly blooms |
| Substance | SWAN magnitude | Phase (GE = right-handed) | T1 | T2 | DWI |
|---|---|---|---|---|---|
| Deoxyhemoglobin (acute blood) | Dark/blooms | Dark | Iso | Dark | Restricted (if infarct) |
| Methemoglobin (subacute) | Dark/blooms | Dark | Bright | Dark then bright | Restricted fading |
| Hemosiderin (chronic blood) | Dark/blooms | Dark | Dark | Very dark | No restriction |
| Ferritin / mineral iron | Dark/blooms | Dark | Dark | Dark | No restriction |
| Calcification | Dark/blooms | Bright | Dark | Variable | No restriction |
segmnts of ica
Bouthillier segments internal carotid artery C1-C7 anatomy radiology 2024
https://radiopaedia.org/articles/internal-carotid-artery-1?l…
C - Cervical, P - Petrous, L - Lacerum, C - Cavernous, C - Clinoid, O - Ophthalmic, C - Communicating

| Segment | Name | Start | End | Location | Branches |
|---|---|---|---|---|---|
| C1 | Cervical | CCA bifurcation (C4 level) | Entry into carotid canal | Neck, in carotid sheath | None |
| C2 | Petrous | Entry into carotid canal | Posterior edge of foramen lacerum | Within petrous temporal bone | Caroticotympanic a., Vidian (pterygoid canal) a. |
| C3 | Lacerum | Above foramen lacerum | Superior margin of petrolingual ligament | Lies over (not through) foramen lacerum | None |
| C4 | Cavernous | Petrolingual ligament | Proximal dural ring (anterior clinoid) | Inside cavernous sinus | Meningohypophyseal trunk, Inferolateral trunk, McConnell's capsular aa. |
| C5 | Clinoid | Proximal dural ring | Distal dural ring | Between the two dural rings; transitional extradural-intradural | None |
| C6 | Ophthalmic (Supraclinoid) | Distal dural ring | Just proximal to PComm origin | Intradural, lateral to optic chiasm | Ophthalmic a., Superior hypophyseal a. |
| C7 | Communicating (Terminal) | PComm origin | ICA bifurcation | Intradural | Posterior communicating a., Anterior choroidal a. → terminates as ACA + MCA |
| Fisher (1938) | Gibo (1981) | Bouthillier (1996) |
|---|---|---|
| Cervical | C1 (cervical) | C1 Cervical |
| Intrapetrous | C2 (petrous) | C2 Petrous |
| - | - | C3 Lacerum |
| Intracavernous | C3 (cavernous) | C4 Cavernous |
| - | - | C5 Clinoid |
| Supraclinoid | C4 (supraclinoid) | C6 Ophthalmic |
| - | - | C7 Communicating |
| Branch | Origin | Supplies | Clinical significance |
|---|---|---|---|
| Caroticotympanic a. | C2 | Middle ear | Pulsatile tinnitus if prominent |
| Vidian a. | C2 | Pterygopalatine fossa | Collateral to ECA |
| Meningohypophyseal trunk | C4 | Dura, posterior pituitary, CN VI | Dural fistula supply |
| Inferolateral trunk | C4 | Cavernous sinus nerves | ECA-ICA anastomosis; embolization risk |
| Ophthalmic a. | C6 | Orbit, retina, forehead | Retrograde ECA-ICA collateral |
| Superior hypophyseal a. | C6 | Anterior pituitary, optic chiasm | Pituitary ischemia |
| Posterior communicating a. | C7 | Connects ICA to PCA | PComm aneurysm → CN III palsy |
| Anterior choroidal a. | C7 | Choroid plexus, posterior limb IC, optic tract | Occlusion: hemiplegia + hemianopia |
segmnts of vertebral aretery
vertebral artery segments V1 V2 V3 V4 anatomy radiology branches course

| Segment | Name | Start | End | Location / Course | Branches |
|---|---|---|---|---|---|
| V1 | Preforaminal (Extraosseous) | Origin from subclavian artery (1st part) | Entry into C6 transverse foramen | Passes between longus colli and anterior scalene muscles; ascends posterior to vertebral vein | Segmental muscular branches, spinal branches |
| V2 | Foraminal (Transversarial) | C6 transverse foramen | C2 transverse foramen | Runs vertically through transverse foramina of C6→C5→C4→C3→C2; surrounded by venous plexus and sympathetic fibers; makes an inverted L-shaped turn at C2 | Anterior meningeal a., muscular branches, radicular/spinal branches |
| V3 | Extraspinal (Atlantic / Atlas loop) | Exits C2 transverse foramen | Dura at foramen magnum | Exits C2, curves posterolaterally around posterior arch of C1 (atlas) in a deep groove - the "atlas loop"; then turns sharply anterosuperiorly to pierce the dura at foramen magnum; most tortuous segment | Posterior meningeal a. (only branch) |
| V4 | Intradural (Intracranial) | Dural entry at foramen magnum | Junction with contralateral VA at pontomedullary junction | Ascends superomedially behind the clivus; curves around medulla; unites with contralateral VA to form basilar artery | PICA, Anterior spinal a., Posterior spinal a., perforating medullary branches |
| Branch | Segment | Supplies | Clinical Significance |
|---|---|---|---|
| Muscular/spinal branches | V1, V2 | Cervical muscles, nerve roots, vertebral bodies | Anastomose with ascending/deep cervical aa. (collateral path) |
| Anterior meningeal a. | V2 | Dura of spinal canal (anterior) | Meningeal supply |
| Posterior meningeal a. | V3 | Posterior fossa dura | Can be source of dural fistula |
| PICA (posterior inferior cerebellar a.) | V4 | Lateral medulla, inferior cerebellum, choroid plexus of 4th ventricle | PICA occlusion = Wallenberg syndrome (lateral medullary syndrome) |
| Anterior spinal a. (ASA) | V4 (bilateral contribution) | Anterior 2/3 of spinal cord | Occlusion = anterior cord syndrome (motor loss + pain/temp loss; preserved vibration/position) |
| Posterior spinal a. (PSA) | V4 | Posterior columns of spinal cord | Less often implicated clinically |
| Perforating medullary branches | V4 | Medulla oblongata | Medullary infarcts |
| Variant | Frequency | Significance |
|---|---|---|
| Left VA arises from aortic arch | ~6% | "Aberrant" origin; seen on CTA as separate arch vessel |
| VA enters at C5 instead of C6 | ~5% | Higher entry - don't mistake for pathology |
| VA enters at C7 | ~1% | Lower entry - longer V1 |
| Hypoplastic VA (one side) | ~10-15% | Contralateral must be preserved; dominant side occlusion = basilar insufficiency |
| Fenestrated VA (V3-V4) | Rare | "Split" lumen - can be mistaken for dissection on CTA |
| Persistent carotid-vertebrobasilar anastomoses | Rare | Trigeminal, hypoglossal, proatlantal - important before intervention |
| Segment | Key Pathology | Imaging clue |
|---|---|---|
| V1 | Atherosclerotic stenosis/occlusion | Origin narrowing on CTA/DSA; subclavian steal on duplex |
| V2 | Traumatic dissection, fracture-related injury | Intramural hematoma on MRI (T1 fat-sat crescent sign); CTA narrowing/occlusion |
| V3 | Dissection (most common site), rotational compression | MRI T1 fat-sat bright mural hematoma; pearl-and-string on DSA |
| V4 | Atherothrombosis, dissection with SAH, PICA occlusion | Diffusion restriction in lateral medulla (Wallenberg); SAH on CT if V4 dissects |
Branches of subclavian artery
subclavian artery branches parts anatomy radiology VIT C D mnemonic
Vertebral - Internal thoracic - Thyrocervical trunk - Costocervical trunk - Dorsal scapular artery
| Side | Origin |
|---|---|
| Right | From the brachiocephalic trunk (which bifurcates into right subclavian + right CCA) |
| Left | Directly from the arch of aorta (3rd branch of arch) |

| Part | Branch | Sub-branches | Supplies |
|---|---|---|---|
| Part 1 | Vertebral artery | - | Spinal cord, brainstem, cerebellum, posterior brain (via basilar) |
| Part 1 | Internal thoracic artery (internal mammary) | Anterior intercostal aa., musculophrenic a., superior epigastric a., pericardiophrenic a. | Anterior chest wall, pericardium, diaphragm, breast; continues as superior epigastric below |
| Part 1 | Thyrocervical trunk | 4 branches (see below) | Short wide trunk; branches to thyroid, neck, shoulder |
| Part 2 | Costocervical trunk | Deep cervical a., Supreme (superior) intercostal a. | Posterior neck muscles, upper 2 intercostal spaces |
| Part 3 | Dorsal scapular artery | - | Rhomboids, levator scapulae, trapezius (may arise from Part 2) |
| Branch | Course | Supplies |
|---|---|---|
| Inferior thyroid artery | Ascends then curves medially behind carotid sheath | Inferior thyroid gland, parathyroid glands, larynx, pharynx, esophagus, trachea |
| Ascending cervical artery | Runs superiorly on anterior scalene muscle | Cervical muscles, spinal cord (via spinal branches) |
| Suprascapular artery | Passes laterally across posterior triangle; passes over the superior transverse scapular ligament | Supraspinatus, infraspinatus muscles; shoulder joint |
| Transverse cervical artery | Passes laterally across posterior triangle anterior to brachial plexus; divides into superficial and deep branches | Trapezius (superficial), rhomboids (deep branch = dorsal scapular in some) |
| Branch | Course | Supplies |
|---|---|---|
| Deep cervical artery | Passes posteriorly between C7 transverse process and 1st rib neck | Deep muscles of posterior neck (semispinalis cervicis) |
| Supreme (Superior) intercostal artery | Descends anterior to neck of rib 1 | 1st and 2nd posterior intercostal spaces |

| Variant | Frequency |
|---|---|
| Normal (thyrocervical trunk with all 3 branches + vertebral + ITA + costocervical trunk) | ~30% |
| Transverse cervical artery arises separately from subclavian | ~30% |
| Internal thoracic artery arises from thyrocervical trunk | ~10% |
| Thyrocervical trunk = inferior thyroid + suprascapular + ITA | ~8% |
| Branch | Clinical Significance |
|---|---|
| Vertebral artery | Subclavian steal: proximal subclavian stenosis → retrograde flow in VA → vertebrobasilar symptoms with arm exercise |
| Internal thoracic artery | Used as CABG conduit; seen on chest X-ray as clips after bypass; origin stenosis can compromise bypass |
| Inferior thyroid artery | Runs posterior to carotid sheath - passes close to recurrent laryngeal nerve (surgical hazard in thyroid surgery) |
| Suprascapular artery | Passes over superior transverse scapular ligament (suprascapular nerve passes under it - mnemonic: "army [artery] over the bridge, nerve under") |
| Costocervical trunk | Important collateral pathway in subclavian/aortic coarctation |
| Dorsal scapular artery | Part of scapular anastomotic ring - important collateral in subclavian/axillary occlusion |
Create a quick reference PDF for subclavian artery branches and variants
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace does not exist yet"
mkdir -p /tmp/workspace/subclavian-ref
~/subclavian-ref/build_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm, cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
OUTPUT = "/tmp/workspace/subclavian-ref/Subclavian_Artery_Quick_Reference.pdf"
# ── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE = colors.HexColor("#1A3A5C")
MID_BLUE = colors.HexColor("#2E6DA4")
LIGHT_BLUE = colors.HexColor("#D6E8F7")
ACCENT_RED = colors.HexColor("#C0392B")
ACCENT_GOLD = colors.HexColor("#E67E22")
PALE_GOLD = colors.HexColor("#FEF9EE")
PALE_RED = colors.HexColor("#FDECEA")
PALE_GREEN = colors.HexColor("#EAF7EE")
MID_GREEN = colors.HexColor("#27AE60")
GREY_LIGHT = colors.HexColor("#F4F6F8")
GREY_MID = colors.HexColor("#BDC3C7")
WHITE = colors.white
BLACK = colors.black
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=18*mm, rightMargin=18*mm,
topMargin=20*mm, bottomMargin=18*mm,
title="Subclavian Artery – Quick Reference",
author="Orris Medical Reference",
)
W = A4[0] - 36*mm # usable width
# ── Styles ──────────────────────────────────────────────────────────────────
base = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
sTitle = S("sTitle", fontSize=22, textColor=WHITE, alignment=TA_CENTER,
fontName="Helvetica-Bold", leading=28, spaceAfter=2)
sSubtitle = S("sSubtitle", fontSize=10, textColor=colors.HexColor("#A8D4F5"),
alignment=TA_CENTER, fontName="Helvetica", leading=14)
sSH = S("sSH", fontSize=11, textColor=WHITE, fontName="Helvetica-Bold",
leading=15, leftIndent=4, spaceAfter=0)
sBody = S("sBody", fontSize=8.5, textColor=BLACK, fontName="Helvetica",
leading=12, spaceAfter=2)
sBold = S("sBold", fontSize=8.5, textColor=DARK_BLUE, fontName="Helvetica-Bold",
leading=12)
sNote = S("sNote", fontSize=7.8, textColor=colors.HexColor("#555555"),
fontName="Helvetica-Oblique", leading=11, leftIndent=6)
sTH = S("sTH", fontSize=8, textColor=WHITE, fontName="Helvetica-Bold",
alignment=TA_CENTER, leading=11)
sTD = S("sTD", fontSize=8, textColor=BLACK, fontName="Helvetica",
leading=11, alignment=TA_LEFT)
sTDc = S("sTDc", fontSize=8, textColor=BLACK, fontName="Helvetica",
leading=11, alignment=TA_CENTER)
sTDbold = S("sTDbold", fontSize=8, textColor=DARK_BLUE, fontName="Helvetica-Bold",
leading=11)
sMnem = S("sMnem", fontSize=16, textColor=DARK_BLUE, fontName="Helvetica-Bold",
alignment=TA_CENTER, leading=22)
sMnemSub = S("sMnemSub", fontSize=9, textColor=colors.HexColor("#444444"),
alignment=TA_CENTER, fontName="Helvetica", leading=13)
# ── Helper: section header ──────────────────────────────────────────────────
def sec_hdr(text, color=MID_BLUE):
tbl = Table([[Paragraph(text, sSH)]], colWidths=[W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), color),
("ROUNDEDCORNERS", [4, 4, 4, 4]),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
]))
return tbl
# ── Helper: generic table ──────────────────────────────────────────────────
def make_table(headers, rows, col_widths, hdr_color=MID_BLUE, row_colors=None):
data = [[Paragraph(h, sTH) for h in headers]]
for row in rows:
data.append([Paragraph(str(c), sTD) if i == 0 else
Paragraph(str(c), sTD) for i, c in enumerate(row)])
t = Table(data, colWidths=col_widths, repeatRows=1)
style = [
("BACKGROUND", (0,0), (-1,0), hdr_color),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]),
("GRID", (0,0), (-1,-1), 0.4, GREY_MID),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]
if row_colors:
for (r, bg) in row_colors:
style.append(("BACKGROUND", (0,r), (-1,r), bg))
t.setStyle(TableStyle(style))
return t
# ════════════════════════════════════════════════════════════════════════════
story = []
# ── TITLE BANNER ─────────────────────────────────────────────────────────────
title_tbl = Table(
[[Paragraph("Subclavian Artery", sTitle)],
[Paragraph("Branches · Variants · Clinical Correlations", sSubtitle)],
[Paragraph("Quick Reference for Radiology", sSubtitle)]],
colWidths=[W]
)
title_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 10),
("ROUNDEDCORNERS",[6,6,6,6]),
]))
story.append(title_tbl)
story.append(Spacer(1, 8*mm))
# ── MNEMONIC BOX ─────────────────────────────────────────────────────────────
mnem_inner = Table(
[[Paragraph("VIT C D", sMnem)],
[Paragraph("Vertebral · Internal Thoracic · Thyrocervical trunk · Costocervical trunk · Dorsal scapular", sMnemSub)]],
colWidths=[W - 16]
)
mnem_inner.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), PALE_GOLD),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 10),
]))
mnem_outer = Table([[mnem_inner]], colWidths=[W])
mnem_outer.setStyle(TableStyle([
("BOX", (0,0), (-1,-1), 1.5, ACCENT_GOLD),
("TOPPADDING", (0,0), (-1,-1), 0),
("BOTTOMPADDING", (0,0), (-1,-1), 0),
("LEFTPADDING", (0,0), (-1,-1), 0),
("RIGHTPADDING", (0,0), (-1,-1), 0),
]))
story.append(KeepTogether([mnem_outer]))
story.append(Spacer(1, 6*mm))
# ── SECTION 1 ─ ORIGIN ────────────────────────────────────────────────────────
story.append(sec_hdr("1. Origin"))
story.append(Spacer(1, 3*mm))
origin_rows = [
["Right subclavian", "Brachiocephalic trunk (innominate artery) → bifurcates into right subclavian + right CCA, above sternoclavicular joint"],
["Left subclavian", "Directly from aortic arch (3rd branch of arch), posterior to left CCA"],
]
story.append(make_table(["Side", "Origin"], origin_rows, [38*mm, W-38*mm]))
story.append(Spacer(1, 2*mm))
story.append(Paragraph("Both arteries become the <b>axillary artery</b> at the lateral border of the 1st rib.", sNote))
story.append(Spacer(1, 6*mm))
# ── SECTION 2 ─ THREE PARTS (SCALENE DIVISION) ────────────────────────────────
story.append(sec_hdr("2. Three Parts Relative to Anterior Scalene Muscle"))
story.append(Spacer(1, 3*mm))
parts_rows = [
["Part 1 (Prescalene)", "Medial border of anterior scalene → origin",
"3 branches: Vertebral a. · Internal thoracic a. · Thyrocervical trunk"],
["Part 2 (Retroscalene)", "Behind / posterior to anterior scalene",
"1 branch: Costocervical trunk"],
["Part 3 (Postscalene)", "Lateral border of anterior scalene → lateral border of rib 1",
"1 branch: Dorsal scapular a. (sometimes from Part 2)"],
]
story.append(make_table(
["Part", "Position", "Branches"],
parts_rows,
[38*mm, 56*mm, W - 94*mm],
row_colors=[(1, LIGHT_BLUE), (3, LIGHT_BLUE)]
))
story.append(Spacer(1, 6*mm))
# ── SECTION 3 ─ BRANCHES IN DETAIL ───────────────────────────────────────────
story.append(sec_hdr("3. Branches – Detailed"))
story.append(Spacer(1, 3*mm))
branches_rows = [
["Part 1", "Vertebral artery (V)",
"Posterior to common carotid; enters C6 transverse foramen → 4 segments (V1–V4)",
"Spinal cord, brainstem, cerebellum, occipital lobes (via basilar)"],
["Part 1", "Internal thoracic a. (I)\n(internal mammary a.)",
"Descends behind costal cartilages; gives anterior intercostals, musculophrenic, superior epigastric, pericardiophrenic",
"Anterior chest wall, pericardium, breast; CABG conduit"],
["Part 1", "Thyrocervical trunk (T)",
"Short wide trunk; 4 branches: inferior thyroid a., ascending cervical a., suprascapular a., transverse cervical a.",
"Thyroid, parathyroids, larynx, esophagus, shoulder muscles, cervical spinal cord"],
["Part 2", "Costocervical trunk (C)",
"2 branches: deep cervical a. (posterior neck) + supreme intercostal a. (1st–2nd intercostal spaces)",
"Deep neck muscles; 1st–2nd posterior intercostal spaces"],
["Part 3", "Dorsal scapular a. (D)",
"Passes posterolaterally; descends along medial border of scapula deep to rhomboids",
"Rhomboids, levator scapulae, trapezius; scapular collateral network"],
]
story.append(make_table(
["Part", "Branch", "Course / Sub-branches", "Supply"],
branches_rows,
[16*mm, 38*mm, 72*mm, W - 126*mm],
row_colors=[(2, PALE_GOLD), (3, PALE_GREEN), (4, PALE_GOLD)]
))
story.append(Spacer(1, 6*mm))
# ── SECTION 4 ─ THYROCERVICAL TRUNK DETAIL ───────────────────────────────────
story.append(sec_hdr("4. Thyrocervical Trunk – 4 Branches (Part 1)", color=colors.HexColor("#1A6640")))
story.append(Spacer(1, 3*mm))
tc_rows = [
["Inferior thyroid a.", "Ascends then curves medially behind carotid sheath",
"Inferior thyroid gland, parathyroids, larynx, trachea, esophagus, pharynx",
"Runs close to recurrent laryngeal nerve — surgical hazard in thyroidectomy"],
["Ascending cervical a.", "Ascends along anterior scalene muscle medial surface",
"Cervical muscles, spinal cord (spinal branches through intervertebral foramina)",
"Collateral to vertebral artery"],
["Suprascapular a.", "Crosses posterior triangle; passes OVER superior transverse scapular ligament",
"Supraspinatus, infraspinatus, shoulder joint",
"\"Artery over, nerve under\" the transverse scapular ligament (suprascapular nerve passes under)"],
["Transverse cervical a.", "Crosses posterior triangle, anterior to brachial plexus; divides into superficial (trapezius) + deep (rhomboids) branches",
"Trapezius, rhomboids, levator scapulae",
"Deep branch = dorsal scapular a. in many (30% variant)"],
]
story.append(make_table(
["Branch", "Course", "Supply", "Clinical Note"],
tc_rows,
[38*mm, 52*mm, 52*mm, W - 142*mm],
hdr_color=MID_GREEN
))
story.append(Spacer(1, 6*mm))
# ── SECTION 5 ─ COSTOCERVICAL TRUNK ───────────────────────────────────────────
story.append(sec_hdr("5. Costocervical Trunk – 2 Branches (Part 2)", color=colors.HexColor("#6C3483")))
story.append(Spacer(1, 3*mm))
cc_rows = [
["Deep cervical a.", "Passes posteriorly between C7 transverse process and neck of rib 1",
"Semispinalis cervicis and other deep posterior neck muscles",
"Anastomoses with descending branch of occipital artery and VA"],
["Supreme intercostal a.", "Descends anterior to neck of rib 1; divides into 1st and 2nd posterior intercostals",
"1st and 2nd posterior intercostal spaces",
"Collateral path in aortic coarctation; important in thoracic outlet assessment"],
]
story.append(make_table(
["Branch", "Course", "Supply", "Clinical Note"],
cc_rows,
[40*mm, 52*mm, 48*mm, W - 140*mm],
hdr_color=colors.HexColor("#8E44AD")
))
story.append(Spacer(1, 6*mm))
# PAGE BREAK
story.append(PageBreak())
# ── SECTION 6 ─ VARIANTS ──────────────────────────────────────────────────────
story.append(sec_hdr("6. Anatomical Variants (Lippert & Pabst Classification)", color=ACCENT_RED))
story.append(Spacer(1, 3*mm))
var_rows = [
["a", "Normal",
"Thyrocervical trunk (inferior thyroid + suprascapular + transverse cervical) + Vertebral a. + Internal thoracic a. + Costocervical trunk",
"~30%"],
["b", "Transverse cervical arises separately from subclavian",
"Transverse cervical a. does not arise from thyrocervical trunk; arises directly from Part 1 or 2",
"~30%"],
["c", "Internal thoracic a. from thyrocervical trunk",
"ITA shares origin with thyrocervical trunk instead of Part 1",
"~10%"],
["d", "Thyrocervical trunk = inferior thyroid + suprascapular + ITA",
"Transverse cervical absent or separate; ITA is part of thyrocervical trunk",
"~8%"],
["e", "Two main trunks",
"Trunk 1: inferior thyroid + transverse cervical. Trunk 2: ITA + suprascapular. No conventional thyrocervical trunk.",
"~4%"],
["-", "Left VA from aortic arch",
"Left vertebral artery arises between left CCA and left subclavian on aortic arch (no V1 segment in neck)",
"~6%"],
["-", "Right aberrant subclavian (arteria lusoria)",
"Right subclavian arises as 4th branch of aortic arch; courses posterior to esophagus → dysphagia lusoria",
"~0.5–1%"],
]
story.append(make_table(
["Key", "Variant", "Description", "Freq."],
var_rows,
[10*mm, 42*mm, W - 78*mm, 26*mm],
hdr_color=ACCENT_RED
))
story.append(Spacer(1, 6*mm))
# ── SECTION 7 ─ CLINICAL CORRELATIONS ─────────────────────────────────────────
story.append(sec_hdr("7. Clinical & Radiological Correlations", color=colors.HexColor("#17202A")))
story.append(Spacer(1, 3*mm))
clin_rows = [
["Subclavian steal syndrome",
"Proximal subclavian stenosis/occlusion → reversal of flow in ipsilateral vertebral artery → vertebrobasilar insufficiency triggered by arm exercise. Left > Right (2:1).",
"Duplex: reversal of VA flow. CTA/MRA: proximal subclavian stenosis. DSA: 'steal' pattern."],
["CABG – internal thoracic a.",
"Left ITA is the conduit of choice for LAD bypass. Right ITA used for bilateral IMA grafting. ITA provides long-term patency >90% at 10 years.",
"CTA coronary: ITA runs retrosternally, clips visible on CXR. Pre-op: assess ITA origin on CTA."],
["Thoracic outlet syndrome",
"Compression of subclavian artery between scalene muscles / cervical rib / 1st rib. Causes arm claudication, Raynaud's, distal emboli.",
"CTA/MRA in provocation position. Duplex with arm elevation. DSA before surgical decompression."],
["Aberrant right subclavian (arteria lusoria)",
"Passes posterior to esophagus → dysphagia lusoria. Aneurysm at origin (diverticulum of Kommerell) risks dissection/rupture.",
"Incidental on CT chest/neck. Look for retroesophageal vessel at aortic arch. Check for Kommerell diverticulum."],
["Costocervical / intercostal collaterals in coarctation",
"Aortic coarctation distal to left subclavian → collateral flow through supreme intercostal + internal thoracic arteries. Rib notching on CXR from enlarged intercostals.",
"CXR: rib notching (usually ribs 3–9). CTA: dilated intercostal and ITA collaterals."],
["Suprascapular nerve entrapment",
"Suprascapular artery passes OVER superior transverse scapular ligament; nerve passes UNDER it. Hypertrophy of artery or ligament ossification traps nerve → supraspinatus/infraspinatus weakness.",
"MRI: denervation edema/atrophy of supra/infraspinatus. US-guided injection at ligament."],
["Recurrent laryngeal nerve and inferior thyroid a.",
"Right RLN loops under right subclavian; left RLN loops under aortic arch. Inferior thyroid artery crosses RLN at thyroid lower pole — varies anterior, posterior, or interdigitating.",
"Surgical anatomy: tie inferior thyroid artery away from thyroid to avoid RLN injury."],
]
story.append(make_table(
["Condition", "Mechanism", "Imaging / Relevance"],
clin_rows,
[44*mm, 72*mm, W - 116*mm],
hdr_color=colors.HexColor("#17202A")
))
story.append(Spacer(1, 6*mm))
# ── SECTION 8 ─ ANASTOMOSES ────────────────────────────────────────────────────
story.append(sec_hdr("8. Key Anastomotic Networks", color=colors.HexColor("#154360")))
story.append(Spacer(1, 3*mm))
anast_rows = [
["Scapular anastomotic ring",
"Suprascapular a. (subclavian) + Transverse cervical / Dorsal scapular a. (subclavian) ↔ Subscapular a. branches (axillary)",
"Bypass for subclavian or axillary occlusion; visible on DSA as rich shoulder blush"],
["Thyroid anastomosis",
"Inferior thyroid a. (subclavian via thyrocervical) ↔ Superior thyroid a. (external carotid)",
"Cross-filling on carotid angiogram; embolization risk during carotid procedures"],
["Spinal / deep cervical anastomosis",
"Ascending cervical a. + Deep cervical a. (costocervical) ↔ Vertebral artery perforators",
"Collateral to VA; deep cervical supply to semispinalis cervicis anastomoses with descending occipital"],
["Internal thoracic – epigastric axis",
"Internal thoracic a. (subclavian) → Superior epigastric a. ↔ Inferior epigastric a. (external iliac)",
"Important collateral in aortic occlusive disease; the 'longitudinal anastomosis'"],
["Intercostal collaterals",
"Supreme intercostal a. (costocervical) + Posterior intercostals (aorta) ↔ Anterior intercostals (ITA)",
"Active in coarctation; rib notching results from hypertrophied posterior intercostals"],
]
story.append(make_table(
["Network", "Connections", "Significance"],
anast_rows,
[46*mm, 74*mm, W - 120*mm],
hdr_color=colors.HexColor("#1A5276")
))
story.append(Spacer(1, 6*mm))
# ── FOOTER NOTE ──────────────────────────────────────────────────────────────
footer_tbl = Table([[
Paragraph(
"Sources: Gray's Anatomy for Students · THIEME Atlas of Anatomy · Fischer's Mastery of Surgery · "
"Grainger & Allison's Diagnostic Radiology · Kenhub · Radiopaedia",
sNote
)
]], colWidths=[W])
footer_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), GREY_LIGHT),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
("BOX", (0,0), (-1,-1), 0.5, GREY_MID),
]))
story.append(footer_tbl)
# ── BUILD ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF saved: {OUTPUT}")
cd /tmp/workspace/subclavian-ref && python build_pdf.py 2>&1
ls -lh /tmp/workspace/subclavian-ref/Subclavian_Artery_Quick_Reference.pdf
Subclavian Artery Quick Reference
PDF Document · PDF
| Section | Content |
|---|---|
| Mnemonic banner | VIT C D in large type with full expansion |
| 1. Origin | Right (brachiocephalic) vs Left (aortic arch) |
| 2. Three Parts | Prescalene / Retroscalene / Postscalene with branches per part |
| 3. All 5 Branches | Part, course, sub-branches, supply for each |
| 4. Thyrocervical trunk | All 4 branches with the RLN and suprascapular nerve clinical notes |
| 5. Costocervical trunk | Deep cervical + supreme intercostal detail |
| 6. Variants (a-e + others) | Lippert & Pabst classification with frequencies; arteria lusoria |
| 7. Clinical correlations | Subclavian steal, CABG, TOS, arteria lusoria, coarctation, RLN anatomy |
| 8. Anastomotic networks | Scapular ring, thyroid, ITA-epigastric axis, intercostal collaterals |