Role of USG and Doppler in imaging orbital disease radiology examination questions answer of 10 marks
USG Doppler orbital disease radiology examination 10 marks answer
https://www.ncbi.nlm.nih.gov/books/NBK572120
orbital ultrasound Doppler imaging orbit

Two-panel prenatal diagnostic ultrasound images of a fetus at 24 weeks gestation in the transverse plane, illustrating orbital asymmetry and retro-orbital pathology. Panel (a) utilizes Color Doppler imaging, showing distinct red and blue flow signals indicative of angiogenesis within a lesion in the left retro-orbital space. The left eye globe (L) is notably smaller than the right eye globe (R), supporting a diagnosis of microphthalmia. Panel (b) employs high-frequency grayscale ultrasound, revealing a crescent-shaped hyperechoic band in the left retro-orbital space. The comparison clearly demonstrates the size discrepancy between the normal right orbit and the microphthalmic left orbit. Key educational concepts include the identification of fetal ocular abnormalities, the use of Doppler to assess tumor vascularity, and the recognition of retro-orbital masses (later histopathologically confirmed as orbital teratoma) in a prenatal setting. The images highlight the diagnostic pathway for fetal orbital lesions by combining morphological assessment with vascular characterization.

This diagnostic image is a Color Doppler ultrasonography scan of the left orbit, demonstrating an extraconal mass lesion. The mass is well-circumscribed and encapsulated, showing a predominantly echogenic texture. In this Color Doppler mode, the lesion displays rich internal vascularity, characterized by multiple tortuous vascular channels distributed throughout the mass. The findings include small, low-flow feeding arteries, which are indicative of a vascular lesion. Clinically, this imaging represents a vascular malformation or hemangioma situated in the superomedial quadrant of the orbit, which causes lateral displacement of the medial rectus muscle and inferolateral displacement of the globe. The appearance is used to teach ultrasound characteristics of orbital tumors, focusing on echogenicity, encapsulation, and Doppler flow patterns in soft tissue masses.

A diagnostic ultrasound image showing an ophthalmic artery spectral Doppler waveform and color Doppler flow imaging. The top panel displays a B-mode (grayscale) cross-sectional view of the eye and orbit, with a color Doppler window superimposed over the retrobulbar region to identify the ophthalmic artery; red and blue signals indicate directional blood flow. A vertical sample line passes through the vessel to generate the spectral analysis shown in the bottom panel. This pulsed-wave Doppler waveform exhibits high-resistance flow characteristic of the ophthalmic artery, featuring sharp systolic peaks labeled as Peak Systolic Velocity (PSV) and a lower End-Diastolic Velocity (EDV). Quantitative data displayed in the upper right include PSV (11.2 cm/s), EDV (1.38 cm/s), Mean Diastolic Velocity (MDV), and a Resistive Index (RI) of 0.88. This imaging is utilized in ophthalmology and obstetrics (e.g., screening for preeclampsia) to evaluate orbital hemodynamics and vascular resistance.

This diagnostic image is a Color Doppler ultrasound of the orbit, focused on a retroocular (retrobulbar) mass. The image displays a well-defined, heterogeneous grayscale nodule situated behind the globe. Color Doppler overlays demonstrate prominent vascular signals (represented by red and blue pixels indicating blood flow direction) along the periphery and within the capsule/wall of the lesion. In contrast, the internal core of the nodule is entirely devoid of color flow, confirming an avascular interior. Within this avascular space, subtle hyperechoic, coiled, or linear structures are visible, characteristic of a parasitic cystic lesion, such as Dirofilaria repens. The educational focus of this image is the use of Doppler sonography to differentiate between vascularized ocular tumors and avascular cystic masses containing non-vascularized structures like helminthic parasites. This imaging modality is crucial for surgical planning and diagnosing orbital dirofilariasis.
https://www.ncbi.nlm.nih.gov/books/NBK572120
carotid cavernous fistula superior ophthalmic vein Doppler ultrasound
| Vessel | Normal PSV (cm/s) | Normal RI |
|---|---|---|
| Ophthalmic Artery (OA) | 21-40 | 0.67-0.82 |
| Central Retinal Artery (CRA) | 8-15 | 0.66-0.75 |
| Short Posterior Ciliary Arteries (SPCA) | 8-12 | 0.55-0.75 |
| Superior Ophthalmic Vein (SOV) | Low velocity venous flow | - |


| Cause | USG / Doppler Findings |
|---|---|
| Thyroid orbitopathy | EOM enlargement, tendon sparing, increased flow |
| Orbital varix | Expandable retrobulbar lesion, increases with Valsalva; venous Doppler signal |
| CCF | Dilated SOV with reversed, arterialized flow |
| Lymphoma | Lobulated, homogeneous, hypoechoic mass; wraps around globe ("cast sign") |
| Dermoid cyst | Well-defined, echolucent with posterior enhancement; avascular |
| Disease | Key Doppler Finding |
|---|---|
| Carotid-Cavernous Fistula | Reversed, arterialized flow in SOV |
| Capillary hemangioma | Rich internal vascularity, low RI |
| Cavernous hemangioma | Absent/minimal internal flow |
| Giant cell arteritis | Absent LPCA flow; bilateral flow reduction |
| Retinoblastoma | High-velocity tumor vessels with calcification |
| Glaucoma | Increased RI in CRA/SPCA; reduced EDV |
| Thyroid eye disease | Increased vascularity in EOMs |
| Orbital AVM | High-velocity, low-resistance multiple channels |
Generate a comprehensive PDF summary of orbital USG/Doppler techniques and findings
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace empty or not found"
mkdir -p /tmp/workspace/orbital-usg-pdf
~/orbital-usg-pdf/generate_pdf.py
"""
Comprehensive PDF: Role of USG and Doppler in Orbital Disease Imaging
Generated with ReportLab
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import Flowable
from reportlab.lib.colors import HexColor
import os
OUTPUT_PATH = "/tmp/workspace/orbital-usg-pdf/Orbital_USG_Doppler_Summary.pdf"
# ── Colour Palette ──────────────────────────────────────────────────────────
DARK_BLUE = HexColor("#0D2B55") # title / section headers
MID_BLUE = HexColor("#1565C0") # sub-headers
LIGHT_BLUE = HexColor("#E3F2FD") # table header backgrounds
ACCENT = HexColor("#0288D1") # rules / bullets
TEAL = HexColor("#00695C") # key-finding highlight
WARM_GREY = HexColor("#F5F5F5") # alternate row
WHITE = colors.white
BLACK = colors.black
# ── Document Setup ───────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
OUTPUT_PATH,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2.2*cm, bottomMargin=2.2*cm,
title="Orbital USG & Doppler - Comprehensive Summary",
author="Orris Medical",
subject="Radiology - Orbital Imaging"
)
W, H = A4
CONTENT_WIDTH = W - 4*cm
# ── Styles ────────────────────────────────────────────────────────────────────
base_styles = getSampleStyleSheet()
def style(name, parent="Normal", **kw):
s = ParagraphStyle(name, parent=base_styles[parent])
for k, v in kw.items():
setattr(s, k, v)
return s
sTitle = style("sTitle", fontName="Helvetica-Bold", fontSize=22,
textColor=WHITE, alignment=TA_CENTER,
leading=28, spaceAfter=4)
sSubtitle = style("sSubtitle", fontName="Helvetica", fontSize=11,
textColor=HexColor("#BBDEFB"), alignment=TA_CENTER,
leading=16, spaceAfter=2)
sH1 = style("sH1", fontName="Helvetica-Bold", fontSize=13,
textColor=WHITE, leading=18, spaceAfter=4)
sH2 = style("sH2", fontName="Helvetica-Bold", fontSize=11,
textColor=MID_BLUE, leading=15, spaceBefore=8, spaceAfter=3)
sH3 = style("sH3", fontName="Helvetica-BoldOblique", fontSize=10,
textColor=TEAL, leading=14, spaceBefore=5, spaceAfter=2)
sBody = style("sBody", fontName="Helvetica", fontSize=9.5,
textColor=HexColor("#212121"), leading=14,
alignment=TA_JUSTIFY, spaceAfter=4)
sBullet = style("sBullet", fontName="Helvetica", fontSize=9.5,
textColor=HexColor("#212121"), leading=13,
leftIndent=14, firstLineIndent=-10, spaceAfter=2)
sBullet2 = style("sBullet2", fontName="Helvetica", fontSize=9,
textColor=HexColor("#424242"), leading=12,
leftIndent=26, firstLineIndent=-10, spaceAfter=1)
sNote = style("sNote", fontName="Helvetica-Oblique", fontSize=8.5,
textColor=HexColor("#555555"), leading=12,
alignment=TA_JUSTIFY)
sTableHdr = style("sTableHdr", fontName="Helvetica-Bold", fontSize=9,
textColor=WHITE, alignment=TA_CENTER, leading=12)
sTableBody = style("sTableBody", fontName="Helvetica", fontSize=8.5,
textColor=HexColor("#212121"), leading=11)
sTableBodyC = style("sTableBodyC", fontName="Helvetica", fontSize=8.5,
textColor=HexColor("#212121"), alignment=TA_CENTER, leading=11)
sTableBold = style("sTableBold", fontName="Helvetica-Bold", fontSize=8.5,
textColor=HexColor("#0D2B55"), leading=11)
sFooter = style("sFooter", fontName="Helvetica-Oblique", fontSize=7.5,
textColor=HexColor("#888888"), alignment=TA_CENTER)
# ── Helper Flowables ──────────────────────────────────────────────────────────
class ColorBox(Flowable):
"""A filled rectangle acting as a section-header banner."""
def __init__(self, text, style, bg=DARK_BLUE, width=None, height=1*cm, radius=4):
super().__init__()
self.text = text
self.para_style = style
self.bg = bg
self.bw = width
self.bh = height
self.radius = radius
def wrap(self, availW, availH):
self.width = self.bw or availW
self.height = self.bh
return self.width, self.height
def draw(self):
c = self.canv
c.setFillColor(self.bg)
c.roundRect(0, 0, self.width, self.height, self.radius, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont(self.para_style.fontName, self.para_style.fontSize)
c.drawString(8, (self.height - self.para_style.fontSize) / 2 + 1, self.text)
def section_header(text, level=1):
if level == 1:
return [
Spacer(1, 0.35*cm),
ColorBox(text, sH1, bg=DARK_BLUE, height=0.85*cm),
Spacer(1, 0.2*cm)
]
else:
return [
Spacer(1, 0.2*cm),
ColorBox(text, sH2, bg=MID_BLUE, height=0.7*cm),
Spacer(1, 0.15*cm)
]
def bullet(text, level=1):
marker = "\u2022" if level == 1 else "\u25e6"
s = sBullet if level == 1 else sBullet2
return Paragraph(f"{marker} {text}", s)
def hline(color=ACCENT, thickness=0.5):
return HRFlowable(width="100%", thickness=thickness, color=color,
spaceAfter=4, spaceBefore=2)
def make_table(headers, rows, col_widths=None, alt_row=True):
data = [[Paragraph(h, sTableHdr) for h in headers]]
for i, row in enumerate(rows):
formatted = []
for cell in row:
if isinstance(cell, str):
formatted.append(Paragraph(cell, sTableBody))
else:
formatted.append(cell)
data.append(formatted)
cw = col_widths or [CONTENT_WIDTH / len(headers)] * len(headers)
t = Table(data, colWidths=cw, repeatRows=1)
style_cmds = [
("BACKGROUND", (0,0), (-1,0), DARK_BLUE),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("VALIGN", (0,0), (-1,-1), "TOP"),
("ROWBACKGROUNDS", (0,1), (-1,-1),
[WARM_GREY if alt_row else WHITE, WHITE]),
("GRID", (0,0), (-1,-1), 0.4, HexColor("#BDBDBD")),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WARM_GREY, WHITE]),
]
t.setStyle(TableStyle(style_cmds))
return t
# ── Page Numbering ────────────────────────────────────────────────────────────
def add_page_number(canvas, doc):
canvas.saveState()
# Footer line
canvas.setStrokeColor(ACCENT)
canvas.setLineWidth(0.6)
canvas.line(2*cm, 1.5*cm, W - 2*cm, 1.5*cm)
canvas.setFont("Helvetica", 7.5)
canvas.setFillColor(HexColor("#666666"))
canvas.drawString(2*cm, 1.1*cm, "Orbital USG & Doppler - Comprehensive Radiology Summary")
canvas.drawRightString(W - 2*cm, 1.1*cm, f"Page {doc.page}")
canvas.restoreState()
# ═══════════════════════════════════════════════════════════════════════════════
# CONTENT ASSEMBLY
# ═══════════════════════════════════════════════════════════════════════════════
story = []
# ─── COVER BANNER ────────────────────────────────────────────────────────────
class CoverBanner(Flowable):
def wrap(self, aw, ah):
self.width = aw
self.height = 5.5*cm
return self.width, self.height
def draw(self):
c = self.canv
# gradient-like layered rectangles
for i, col in enumerate([HexColor("#0A2040"), HexColor("#0D2B55"),
HexColor("#1565C0"), HexColor("#1976D2")]):
c.setFillColor(col)
frac = i / 4
c.rect(0, frac * self.height, self.width,
self.height * (1 - frac), fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 22)
c.drawCentredString(self.width/2, 3.5*cm,
"ORBITAL USG & COLOR DOPPLER IMAGING")
c.setFont("Helvetica", 13)
c.setFillColor(HexColor("#BBDEFB"))
c.drawCentredString(self.width/2, 2.7*cm,
"A Comprehensive Radiology Reference")
c.setFont("Helvetica-Oblique", 10)
c.setFillColor(HexColor("#90CAF9"))
c.drawCentredString(self.width/2, 2.0*cm,
"Techniques · Doppler Indices · Disease Patterns · Clinical Applications")
c.setFont("Helvetica", 9)
c.setFillColor(HexColor("#64B5F6"))
c.drawCentredString(self.width/2, 1.2*cm, "Orris Medical | August 2026")
story.append(CoverBanner())
story.append(Spacer(1, 0.5*cm))
# ─── INTRODUCTION ─────────────────────────────────────────────────────────────
story += section_header("1. INTRODUCTION & OVERVIEW")
story.append(Paragraph(
"Ultrasound (USG) is a first-line, non-invasive, radiation-free imaging modality for the orbit. "
"The fluid-filled globe and retrobulbar fat provide an excellent acoustic window for evaluating "
"both intraocular and retro-ocular structures. When combined with Color Doppler Imaging (CDI), "
"it yields real-time morphological AND hemodynamic information that no other single modality "
"can provide at the bedside. This document summarises technical principles, Doppler indices, "
"and specific disease patterns encountered in orbital imaging.", sBody))
story.append(Spacer(1, 0.1*cm))
adv_rows = [
["Non-invasive / Radiation-free", "Safe in children, pregnant women, repeated examinations"],
["Real-time dynamic imaging", "Valsalva manoeuvre, eye movement studies possible"],
["Bedside availability", "ICU, emergency department use; no patient transfer needed"],
["Hemodynamic data", "Only modality providing real-time orbital blood-flow velocities"],
["Serial monitoring", "Glaucoma, thyroid eye disease, CCF post-embolisation follow-up"],
["Guided procedures", "Aspiration/biopsy of orbital masses under direct visualisation"],
]
story.append(make_table(
["Advantage", "Clinical Relevance"],
adv_rows,
col_widths=[CONTENT_WIDTH*0.38, CONTENT_WIDTH*0.62]
))
story.append(Spacer(1, 0.3*cm))
# ─── TECHNICAL ASPECTS ────────────────────────────────────────────────────────
story += section_header("2. TECHNICAL ASPECTS")
story.append(Paragraph("2.1 Equipment & Setup", sH2))
equip_rows = [
["Probe frequency", "7.5 – 10 MHz linear array (high-frequency for superficial structures)"],
["Imaging depth", "1.5 – 4.0 cm (globe to orbital apex)"],
["Mode", "Duplex: 2D B-mode + color-coded Doppler (CDI)"],
["Patient position", "Supine, head elevated 30°, eyes gently closed, looking straight ahead"],
["Probe placement", "Horizontal over closed eyelid; MINIMAL pressure to avoid vessel compression"],
["Coupling medium", "Ultrasound gel with transparent plastic film barrier over lids"],
]
story.append(make_table(
["Parameter", "Specification"],
equip_rows,
col_widths=[CONTENT_WIDTH*0.3, CONTENT_WIDTH*0.7]
))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("2.2 Pre-examination Precautions", sH2))
for b in [
"Avoid smoking / alcohol at least 12 hours before CDI (alters retrobulbar hemodynamics)",
"Discontinue topical anti-glaucoma medications if feasible (influence orbital blood flow)",
"Control hypertension, anxiety, tachycardia before study (affect hemodynamic indices)",
"<b>Absolute contraindication:</b> Open globe / penetrating/perforating trauma — direct contact forbidden",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("2.3 Orbital Vessels Assessed", sH2))
vessel_rows = [
["Ophthalmic Artery (OA)",
"Nasal orbit; crosses optic nerve at 35–36 mm depth; diameter 0.7–1.5 mm",
"Moderate–high resistance; rapid systolic peak with dichotomous notch"],
["Central Retinal Artery (CRA)",
"Within the optic nerve sheath; enters nerve ~10–12 mm behind globe",
"Low resistance; continuous diastolic flow"],
["Short Posterior Ciliary Arteries (SPCA)",
"Multiple vessels; pierce sclera around optic nerve",
"Low–moderate resistance flow"],
["Superior Ophthalmic Vein (SOV)",
"Passes through superior orbital fissure to cavernous sinus",
"Low-velocity venous (non-pulsatile) flow; reversal is pathological"],
["Central Retinal Vein (CRV)",
"Exits with the CRA from the optic nerve",
"Low-velocity venous flow"],
]
story.append(make_table(
["Vessel", "Anatomy", "Normal Flow Pattern"],
vessel_rows,
col_widths=[CONTENT_WIDTH*0.25, CONTENT_WIDTH*0.38, CONTENT_WIDTH*0.37]
))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("2.4 Key Doppler Indices", sH2))
story.append(Paragraph(
"Spectral (pulsed-wave) Doppler analysis of the orbital arteries yields the following indices:", sBody))
idx_rows = [
["PSV", "Peak Systolic Velocity", "Maximum velocity during systole (cm/s)"],
["EDV", "End-Diastolic Velocity", "Minimum velocity at end-diastole (cm/s)"],
["MDV", "Mean Diastolic Velocity", "Average diastolic velocity"],
["RI", "Resistive Index",
"RI = (PSV – EDV) / PSV | Normal OA: 0.67–0.82"],
["PI", "Pulsatility Index",
"PI = (PSV – EDV) / Mean velocity"],
["S/D", "Systolic / Diastolic ratio", "PSV / EDV"],
]
story.append(make_table(
["Index", "Full Name", "Definition / Normal Range"],
idx_rows,
col_widths=[CONTENT_WIDTH*0.08, CONTENT_WIDTH*0.27, CONTENT_WIDTH*0.65]
))
norm_rows = [
["Ophthalmic Artery (OA)", "21 – 40", "3 – 9", "0.67 – 0.82"],
["Central Retinal Artery (CRA)", "8 – 15", "2 – 4", "0.66 – 0.75"],
["Short Posterior Ciliary A. (SPCA)", "8 – 12", "2 – 4", "0.55 – 0.75"],
["Central Retinal Vein (CRV)", "3 – 5 (venous)", "—", "—"],
]
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("Normal Reference Values:", sH3))
story.append(make_table(
["Vessel", "PSV (cm/s)", "EDV (cm/s)", "RI"],
norm_rows,
col_widths=[CONTENT_WIDTH*0.4, CONTENT_WIDTH*0.2, CONTENT_WIDTH*0.2, CONTENT_WIDTH*0.2]
))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph(
"Note: Values vary slightly across studies; insonation angle must be <60° for valid measurements.", sNote))
# ─── PAGE BREAK ───────────────────────────────────────────────────────────────
story.append(PageBreak())
# ─── INTRAOCULAR DISEASES ─────────────────────────────────────────────────────
story += section_header("3. USG / CDI IN INTRAOCULAR DISEASES")
story.append(Paragraph("3.1 Retinoblastoma", sH2))
for b in [
"<b>B-mode:</b> Echogenic intraocular mass with high-amplitude echoes; <b>acoustic shadowing due to calcification</b> — pathognomonic finding",
"<b>CDI:</b> Rich internal vascularity; elevated PSV and low RI within tumour vessels",
"Most common primary intraocular malignancy in children (usually <5 years)",
"Bilateral in 30%; may simulate endophthalmitis, coloboma, persistent foetal vasculature",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("3.2 Choroidal Melanoma", sH2))
for b in [
"<b>B-mode:</b> Dome-shaped or collar-stud ('mushroom') solid mass from choroid; low-to-medium internal reflectivity",
"Characteristic 'choroidal excavation' sign and acoustic quiet zone",
"<b>CDI:</b> Internal blood flow present — distinguishes from haemorrhagic lesion (avascular)",
"Most common primary intraocular malignancy in adults",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("3.3 Retinal Detachment vs Vitreous Haemorrhage", sH2))
det_rows = [
["Retinal Detachment",
"Thin, highly reflective membrane; V-shaped or funnel configuration; attached at optic disc and ora serrata",
"CRA flow extends into detached retina (confirms identity)"],
["Vitreous Haemorrhage",
"Fine, low-amplitude mobile echoes within vitreous cavity; no membrane attachment",
"Avascular — no colour Doppler signal within the echoes"],
["PVD (Posterior Vitreous Detachment)",
"Thin mobile membrane not reaching ora serrata; 'ring' at optic disc",
"No blood flow in membrane"],
["Choroidal Detachment",
"Smooth, convex-bulging membranes; peripheral; 'kissing' configuration in severe cases",
"Absence of flow (haemorrhagic) or moderate flow (exudative)"],
]
story.append(make_table(
["Condition", "B-mode Findings", "CDI Finding"],
det_rows,
col_widths=[CONTENT_WIDTH*0.25, CONTENT_WIDTH*0.42, CONTENT_WIDTH*0.33]
))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("3.4 Posterior Scleritis", sH2))
for b in [
"B-mode: Thickening of posterior sclera/choroid; subretinal fluid; flat choroidal detachment",
"<b>'T-sign'</b> (or 'V-sign'): Fluid in Tenon's capsule around the optic nerve — pathognomonic",
"CDI: Increased vascularity in inflamed choroid-scleral complex",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.3*cm))
# ─── VASCULAR LESIONS ─────────────────────────────────────────────────────────
story += section_header("4. USG / CDI IN ORBITAL VASCULAR LESIONS")
story.append(Paragraph("4.1 Cavernous Hemangioma (Most common benign orbital tumour in adults)", sH2))
for b in [
"<b>B-mode:</b> Well-defined, ovoid, <b>intraconal</b> mass; smooth margins; medium-to-high internal echogenicity; slow enlargement",
"<b>CDI (KEY finding):</b> <b>Absent or minimal internal vascularity</b> — diagnostically distinguishes it from malignant tumours",
"No bony erosion; gradual painless proptosis typical presentation",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("4.2 Capillary (Infantile) Hemangioma", sH2))
for b in [
"<b>B-mode:</b> Hyperechoic, ill-defined mass; usually anterior to globe in eyelid / periorbital region",
"<b>CDI:</b> <b>Rich internal vascularity</b> — multiple tortuous channels; low-resistance, high-flow pattern",
"Present at birth / infancy; involutes by age 7–10 years",
"Doppler helps monitor response to propranolol / steroid therapy",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("4.3 Lymphangioma / Venous Malformation", sH2))
for b in [
"B-mode: Irregular multi-cystic lesion with fluid–fluid levels (haemorrhage within cysts = 'chocolate cysts')",
"<b>CDI:</b> Absent or minimal internal flow — distinguishes from capillary hemangioma",
"Enlarges during URTI; proptosis worsens with crying / Valsalva",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("4.4 Orbital Varix", sH2))
for b in [
"<b>B-mode:</b> Compressible, hypoechoic tortuous vascular channel that <b>expands markedly with Valsalva manoeuvre</b> — pathognomonic dynamic test",
"CDI: Venous low-velocity flow; no arterialisation",
"Intermittent proptosis precipitated by bending forward / Valsalva",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("4.5 Carotid-Cavernous Fistula (CCF)", sH2))
story.append(Paragraph(
"CCF is one of the most clinically important applications of orbital CDI:", sBody))
for b in [
"<b>B-mode:</b> Dilated, tortuous Superior Ophthalmic Vein (SOV); proptosis",
"<b>CDI — Key finding 1:</b> <b>Reversal of blood-flow direction in the SOV</b> (normally flows posteriorly to cavernous sinus; in CCF flows anteriorly toward globe)",
"<b>CDI — Key finding 2:</b> <b>Arterialized waveform in SOV</b> — high-velocity, pulsatile, low-resistance flow within a vein",
"Direct (high-flow) CCF: Sudden pulsatile proptosis, bruit, chemosis; dramatic CDI changes",
"Indirect (dural, low-flow) CCF: Gradual proptosis, subtle CDI changes",
"Gold standard for treatment planning: <b>Carotid angiography</b>; CDI is valuable for non-invasive screening and post-embolisation follow-up",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("4.6 Arteriovenous Malformation (AVM)", sH2))
for b in [
"CDI: High-velocity, low-resistance arterial signals in multiple feeding vessels",
"Turbulent mosaic colour pattern within the nidus",
]:
story.append(bullet(b))
story.append(PageBreak())
# ─── THYROID EYE DISEASE ──────────────────────────────────────────────────────
story += section_header("5. THYROID EYE DISEASE (Graves' Orbitopathy)")
for b in [
"<b>B-mode:</b> Fusiform enlargement of extraocular muscles (EOMs) — spindle-shaped with <b>tendon sparing</b>",
"Muscles affected in order (mnemonic: <b>I'M SLow</b>): Inferior > Medial > Superior > Lateral rectus",
"Orbital fat expansion — diffusely echogenic retrobulbar fat",
"<b>CDI:</b> Increased vascularity within enlarged muscles; elevated PSV in orbital vessels correlates with disease activity",
"Serial CDI: Vascularity decreases with successful radioiodine / steroid / decompression therapy — useful treatment-response monitoring",
"CDI Doppler can assess optic nerve compression risk at the orbital apex",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.3*cm))
# ─── OPTIC NERVE ──────────────────────────────────────────────────────────────
story += section_header("6. OPTIC NERVE LESIONS")
story.append(Paragraph("6.1 Optic Neuritis", sH2))
for b in [
"B-mode: Enlarged optic nerve sheath (>5 mm suggests raised ICP); hypoechoic nerve oedema",
"<b>CDI:</b> Reduced CRA and SPCA flow; decreased PSV — correlates with degree of visual impairment",
"Dynamic test: ONSD (Optic Nerve Sheath Diameter) measured 3 mm behind the globe",
"<b>ONSD >5.0 mm</b> correlates with raised intracranial pressure (important emergency application)",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("6.2 Optic Nerve Sheath Meningioma", sH2))
for b in [
"B-mode: Tubular thickening around the optic nerve; <b>'tram-track' sign</b> — parallel hyperechoic lines flanking the nerve; acoustic shadowing from calcification",
"CDI: Increased peripheral vascularity in the meningioma",
"Middle-aged women; slowly progressive visual loss with proptosis",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("6.3 Optic Nerve Glioma", sH2))
for b in [
"B-mode: Fusiform enlargement of optic nerve with tortuous course; homogeneous low echogenicity",
"Associated with neurofibromatosis type 1 (NF-1) in children",
"CDI: Moderate internal vascularity",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.3*cm))
# ─── INFECTIONS & INFLAMMATION ────────────────────────────────────────────────
story += section_header("7. ORBITAL INFECTIONS & INFLAMMATORY DISEASE")
story.append(Paragraph("7.1 Orbital Cellulitis & Subperiosteal Abscess", sH2))
for b in [
"<b>Preseptal cellulitis:</b> Diffuse thickening of soft tissues anterior to orbital septum; no retrobulbar involvement",
"<b>Postseptal / Orbital cellulitis:</b> Echogenic infiltrate posterior to septum; displacement of globe",
"<b>Subperiosteal abscess:</b> Hypo-/anechoic collection medial to medial rectus (usually from ethmoiditis); displaces globe",
"CDI: Hypervascularity in inflamed peri-orbital tissues",
"USG-guided needle aspiration distinguishes abscess from cellulitis and can guide drainage",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("7.2 Idiopathic Orbital Inflammatory Syndrome (Orbital Pseudotumour)", sH2))
for b in [
"B-mode: Poorly defined diffuse orbital infiltrate; may involve any compartment; sclerosing form highly reflective",
"CDI: Increased vascularity in affected tissue",
"Responds dramatically to steroids — therapeutic trial has diagnostic value",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.3*cm))
# ─── VASCULAR / ISCHAEMIC CONDITIONS ─────────────────────────────────────────
story += section_header("8. ISCHAEMIC & VASCULAR OPTIC NEUROPATHIES")
story.append(Paragraph("8.1 Arteritic AION — Giant Cell Arteritis (GCA)", sH2))
for b in [
"CDI: Marked bilateral reduction in orbital blood flow",
"<b>Absence of flow in Long Posterior Ciliary Arteries (LPCA)</b> — hallmark finding",
"Very high flow in OA (collateral compensation); altered CRA flow",
"Important predictor of impending A-AION — warrants <b>urgent systemic corticosteroids</b>",
"Temporal artery CDI: 'Halo sign' (hypoechoic wall thickening) may be visible",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("8.2 Non-Arteritic AION (NA-AION)", sH2))
for b in [
"CDI: Unilateral reduction in CRA and SPCA flow; decreased EDV with elevated RI",
"Associated with small optic disc ('disc-at-risk'), hypertension, sleep apnoea",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("8.3 Central Retinal Artery Occlusion (CRAO)", sH2))
for b in [
"CDI: <b>Absent or markedly reduced CRA flow</b> (colour box shows no signal within CRA lumen)",
"Spectral waveform: Absent EDV; 'to-and-fro' pattern in severe cases",
"Retinal echogenicity increased (oedema); may detect embolus",
]:
story.append(bullet(b))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("8.4 Glaucoma", sH2))
for b in [
"CDI: Increased RI in CRA and SPCA; reduced EDV in OA and CRA",
"Reduced PSV and EDV in SPCA correlate with visual field loss and optic nerve cupping",
"Used for <b>prognostication and serial follow-up</b> in glaucoma management",
"Pre-perimetric glaucoma detection possible with CDI before clinical VF defects appear",
]:
story.append(bullet(b))
story.append(PageBreak())
# ─── ORBITAL TUMOURS ──────────────────────────────────────────────────────────
story += section_header("9. ORBITAL TUMOURS — USG / CDI PATTERNS")
tumour_rows = [
["Cavernous Hemangioma",
"Well-defined; ovoid; intraconal; medium-high echogenicity",
"Absent / minimal flow",
"Benign; most common in adults"],
["Capillary Hemangioma",
"Hyperechoic; ill-defined; anterior; periorbital",
"Rich flow; tortuous vessels; low RI",
"Infants; involutes spontaneously"],
["Lymphoma",
"Lobulated; homogeneous; hypoechoic; moulds to globe ('cast' sign)",
"Moderate vascularity",
"Adults; bilateral in 20%"],
["Rhabdomyosarcoma",
"Solid; heterogeneous; extraconal; rapid growth",
"Rich internal vascularity",
"Most common primary orbital malignancy in children"],
["Dermoid Cyst",
"Well-defined; anechoic/echolucent; posterior enhancement; no calcification",
"Avascular",
"Congenital; superolateral quadrant"],
["Schwannoma / Neurofibroma",
"Well-defined; intraconal / extraconal; medium echogenicity",
"Mild-moderate vascularity",
"Associated with NF-1/NF-2"],
["Lacrimal Gland Pleomorphic Adenoma",
"Well-defined; lobulated; echogenic; superolateral",
"Mild vascularity",
"Benign; risk of malignant transformation"],
["Metastasis",
"Irregular; poorly defined; may have surrounding oedema",
"Variable; often increased flow",
"Breast, lung, prostate most common"],
["Lymphangioma",
"Multi-cystic; fluid–fluid levels; irregular margins",
"Absent / minimal",
"Children; worsens with URTI"],
]
story.append(make_table(
["Tumour", "B-mode Features", "CDI Vascularity", "Key Notes"],
tumour_rows,
col_widths=[CONTENT_WIDTH*0.22, CONTENT_WIDTH*0.32, CONTENT_WIDTH*0.18, CONTENT_WIDTH*0.28]
))
story.append(Spacer(1, 0.3*cm))
# ─── SUMMARY DOPPLER TABLE ────────────────────────────────────────────────────
story += section_header("10. QUICK-REFERENCE: KEY DOPPLER FINDINGS BY DISEASE")
quick_rows = [
["Carotid-Cavernous Fistula (CCF)",
"Reversed, arterialized high-velocity pulsatile flow in SOV; dilated SOV"],
["Capillary Hemangioma",
"Rich internal flow; multiple tortuous channels; low RI"],
["Cavernous Hemangioma",
"Absent / minimal internal vascularity (key distinguishing feature)"],
["Orbital Varix",
"Venous flow; dramatic expansion with Valsalva; no arterialisation"],
["Giant Cell Arteritis (A-AION)",
"Absent LPCA flow; bilateral orbital flow reduction; high OA velocity"],
["CRAO",
"Absent / 'to-and-fro' CRA waveform; no EDV"],
["Retinoblastoma",
"High-velocity tumour vessels; calcific shadowing on B-mode"],
["Glaucoma",
"Elevated RI in CRA/SPCA; reduced EDV in OA; reduced PSV"],
["Thyroid Eye Disease",
"Increased EOM vascularity; elevated PSV in orbital vessels"],
["Optic Neuritis",
"Reduced CRA / SPCA PSV; enlarged optic nerve sheath (ONSD >5 mm)"],
["Posterior Scleritis",
"Hypervascular choroid-sclera; 'T-sign' on B-mode"],
["AVM",
"High-velocity low-resistance arterial signals in multiple vessels; turbulent mosaic"],
]
story.append(make_table(
["Clinical Condition", "Key CDI / Doppler Finding"],
quick_rows,
col_widths=[CONTENT_WIDTH*0.38, CONTENT_WIDTH*0.62]
))
story.append(Spacer(1, 0.3*cm))
# ─── LIMITATIONS ──────────────────────────────────────────────────────────────
story += section_header("11. LIMITATIONS OF ORBITAL USG / CDI")
lim_rows = [
["Open globe injury", "Absolute contraindication — risk of globe compression and herniation"],
["Posterior orbit / apex", "Poorly visualised — CT/MRI superior for orbital apex lesions"],
["Bony detail", "CT is superior for bony erosion, fractures, calcification characterisation"],
["Operator dependence", "Significant skill required; inter-observer variability in Doppler measurements"],
["Acoustic shadowing", "Dense calcification limits posterior orbital evaluation"],
["Insonation angle errors", "Angle >60° leads to velocity underestimation — critical technique point"],
["Deep intracranial extension", "CT/MRI mandatory for assessing intracranial spread of orbital lesions"],
]
story.append(make_table(
["Limitation", "Clinical Implication"],
lim_rows,
col_widths=[CONTENT_WIDTH*0.3, CONTENT_WIDTH*0.7]
))
story.append(Spacer(1, 0.3*cm))
# ─── ORBITAL IMAGING ALGORITHM ────────────────────────────────────────────────
story += section_header("12. ROLE OF USG IN ORBITAL IMAGING ALGORITHM")
story.append(Paragraph(
"USG/CDI is typically employed as the <b>first-line</b> modality followed by CT or MRI for "
"comprehensive characterisation. The algorithm below outlines clinical integration:", sBody))
algo_rows = [
["Step 1 — Initial Assessment",
"B-mode USG: Morphology, echogenicity, calcification, retro-bulbar extension, optic nerve diameter"],
["Step 2 — Vascular Characterisation",
"CDI: Vascularity (absent/mild/rich), flow direction (SOV reversal?), spectral waveform analysis"],
["Step 3A — Bony / Calcific Lesion",
"HRCT orbit: Bony erosion, fracture, calcification, orbital apex involvement"],
["Step 3B — Soft Tissue Characterisation",
"MRI orbit (with contrast): Tissue planes, perineural spread, intracranial extension, lesion composition"],
["Step 4 — Vascular Intervention",
"CT/MR Angiography or conventional angiography for CCF, AVM, surgical planning"],
["Follow-up",
"Serial USG/CDI for glaucoma, thyroid eye disease, CCF post-embolisation, haemangioma treatment"],
]
story.append(make_table(
["Step", "Modality / Purpose"],
algo_rows,
col_widths=[CONTENT_WIDTH*0.3, CONTENT_WIDTH*0.7]
))
story.append(Spacer(1, 0.4*cm))
# ─── REFERENCES ───────────────────────────────────────────────────────────────
story += section_header("REFERENCES")
refs = [
"StatPearls — Orbital Color Doppler Imaging (NBK572120). NCBI Bookshelf, 2024.",
"EyeWiki — Imaging in Orbit and Oculoplasty. American Academy of Ophthalmology, 2024.",
"Grainger & Allison's Diagnostic Radiology (7th ed.) — Chapter 60: Imaging of the Orbit. Elsevier, 2021.",
"Modrzejewska M. Guidelines for Ultrasound Examination in Ophthalmology. Part III: Color Doppler Ultrasonography. J Ultrason. 2019;19:128–136.",
"Erickson SJ et al. Color Doppler flow imaging of the normal and abnormal orbit. Radiology. 1989;173:511–516.",
"Venturini M et al. Orbital color Doppler ultrasound as noninvasive tool in diagnosis of CCF. Radiol Med. 2016;121:301–307.",
]
for i, r in enumerate(refs, 1):
story.append(Paragraph(f"{i}. {r}", sNote))
story.append(Spacer(1, 0.05*cm))
story.append(Spacer(1, 0.5*cm))
story.append(hline(ACCENT, 0.8))
story.append(Paragraph(
"This document is intended for educational purposes. Clinical decisions should be guided by "
"current institutional protocols and specialist review. | Orris Medical | August 2026",
sFooter))
# ═══════════════════════════════════════════════════════════════════════════════
# BUILD
# ═══════════════════════════════════════════════════════════════════════════════
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
print(f"PDF generated: {OUTPUT_PATH}")
print(f"File size: {os.path.getsize(OUTPUT_PATH):,} bytes")
cd /tmp/workspace/orbital-usg-pdf && python generate_pdf.py
python3 -c " from pypdf import PdfReader r = PdfReader('/tmp/workspace/orbital-usg-pdf/Orbital_USG_Doppler_Summary.pdf') print(f'Pages: {len(r.pages)}') print(f'Title: {r.metadata.title}') print(f'Author: {r.metadata.author}') print('--- Page 1 text sample ---') print(r.pages[0].extract_text()[:400]) "
Orbital USG Doppler Summary
PDF Document · PDF
| Section | Content |
|---|---|
| Cover | Full-colour banner with title and subtitle |
| 1. Introduction | Overview + advantages table |
| 2. Technical Aspects | Equipment specs, pre-exam precautions, vessels assessed, normal Doppler index reference table (PSV/EDV/RI) |
| 3. Intraocular Diseases | Retinoblastoma, choroidal melanoma, retinal detachment vs vitreous haemorrhage, posterior scleritis |
| 4. Vascular Lesions | Cavernous/capillary hemangioma, lymphangioma, orbital varix, CCF (key reversal of SOV flow), AVM |
| 5. Thyroid Eye Disease | EOM changes, CDI vascularity monitoring |
| 6. Optic Nerve | Optic neuritis, meningioma (tram-track sign), glioma; ONSD >5 mm for raised ICP |
| 7. Infections / Inflammation | Cellulitis, subperiosteal abscess, pseudotumour |
| 8. Ischaemic Conditions | Arteritic/non-arteritic AION, CRAO, glaucoma CDI monitoring |
| 9. Orbital Tumours | Full table: 9 tumours with B-mode + CDI patterns |
| 10. Quick Reference | 12-disease Doppler findings at a glance |
| 11. Limitations | 7 key limitations with clinical implications |
| 12. Imaging Algorithm | Step-by-step role of USG in the orbital imaging workflow |
| References | 6 key citations |
Now please summarise this in hand written notes in imone image page and make a photo of itad please Focus on imaging findings
A single A4 page of detailed handwritten medical student notes titled "USG & Doppler in Orbital Disease – Imaging Findings" written in blue and black ink on white lined paper, photographed at a slight angle on a wooden desk as if a real photo, with natural light casting a soft shadow. The notes look authentic, neat but clearly handwritten by a medical student, with some words underlined in red, small hand-drawn diagrams, and organised sections with bullet points and arrows. The page contains the following content written in handwriting: TITLE (large, underlined in red): USG & DOPPLER IN ORBITAL DISEASE – IMAGING FINDINGS ─── TECHNIQUE ─── • Probe: 7.5–10 MHz linear, duplex mode • Depth: 1.5–4.0 cm | Patient: supine, eyes closed • Minimal probe pressure (avoids vessel compression) • Angle <60° for valid Doppler measurements • CONTRAINDICATION: Open globe injury ✗ ─── DOPPLER INDICES ─── (small box drawn around this) PSV = Peak Systolic Velocity EDV = End Diastolic Velocity RI = (PSV−EDV)/PSV [normal OA: 0.67–0.82] Normal OA PSV: 21–40 cm/s | CRA: 8–15 cm/s ─── INTRAOCULAR FINDINGS ─── ★ RETINOBLASTOMA → Echogenic mass + acoustic SHADOWING (calcification) ← pathognomonic → CDI: rich internal vascularity, ↑PSV ★ CHOROIDAL MELANOMA → Dome/mushroom shape, low-med echogenicity → "Choroidal excavation" sign → CDI: internal flow (unlike haemorrhage = avascular) ★ RETINAL DETACHMENT vs VIT. HAEM → RD: V-shaped membrane, attached at disc + ora → CDI: CRA flow extends INTO detached retina ✓ → VH: mobile echoes, NO colour Doppler signal ─── VASCULAR / ORBITAL LESIONS ─── (underlined in red) ★ CCF (Carotid-Cavernous Fistula) ← MOST IMPORTANT → B-mode: dilated tortuous SOV → CDI KEY: REVERSED arterialized flow in SOV → High-velocity pulsatile flow in a VEIN = diagnostic ★ CAVERNOUS HAEMANGIOMA (adult, intraconal) → Well-defined ovoid; medium-high echogenicity → CDI: ABSENT/minimal vascularity ← key! ★ CAPILLARY HAEMANGIOMA (infant, periorbital) → Hyperechoic, ill-defined → CDI: RICH flow, tortuous vessels, low RI ★ ORBITAL VARIX → Expands with VALSALVA manoeuvre ← dynamic test → CDI: venous flow, no arterialisation ★ AVM → High vel., low resistance, turbulent mosaic ─── OPTIC NERVE ─── • Optic neuritis: ONSD >5mm = raised ICP → CDI: ↓PSV in CRA & SPCA • Meningioma: "TRAM-TRACK" sign (parallel echogenic lines) • Glioma: fusiform enlargement → NF-1 ─── THYROID EYE DISEASE ─── • EOM enlargement, TENDON SPARING • Order: I'M SLow (Inf>Med>Sup>Lat) • CDI: ↑vascularity in EOMs, ↑PSV orbital vessels ─── ISCHAEMIA / GLAUCOMA ─── • GCA (arteritic AION): absent LPCA flow (bilateral) • CRAO: absent/to-and-fro CRA waveform • Glaucoma: ↑RI in CRA/SPCA, ↓EDV in OA ─── QUICK RECALL TABLE ─── (small hand-drawn table) CCF → reversed SOV flow Cav. Haem → NO vascularity Cap. Haem → RICH vascularity GCA → absent LPCA CRAO → absent CRA flow Glaucoma → ↑RI, ↓EDV Small sketch in bottom right corner: simple diagram of an eye cross-section with labels: Globe, Retrobulbar fat, OA (ophthalmic artery), SOV, CRA, Optic Nerve. Arrows showing probe placement. The paper has a few ink smudges, the handwriting is slightly imperfect and varies in size, making it look like genuine student notes.

Please make it readable with correct angulation
A perfectly flat, straight-on, top-down photograph of a single A4 white lined notebook page with neat handwritten medical student notes in blue ballpoint pen. The page is completely flat, no angle, no perspective distortion, viewed directly from above. The handwriting is clear, legible, well-spaced, and easy to read. TITLE at top in large capital letters underlined twice in red ink: USG & DOPPLER IN ORBITAL DISEASE — IMAGING FINDINGS Section 1 heading underlined in red: TECHNIQUE - Probe: 7.5–10 MHz linear array, duplex mode - Depth: 1.5–4.0 cm | Patient: supine, eyes closed, head 30° - Minimal probe pressure → avoids vessel compression - Insonation angle < 60° for valid velocity measurements - CONTRAINDICATION: Open globe / penetrating trauma ✗ Section 2 heading underlined in red: DOPPLER INDICES [rectangle box drawn around values] PSV = Peak Systolic Velocity EDV = End Diastolic Velocity RI = (PSV − EDV) / PSV → Normal OA RI: 0.67–0.82 Normal values: OA PSV 21–40 cm/s | CRA PSV 8–15 cm/s Section 3 heading underlined in red: INTRAOCULAR FINDINGS ★ Retinoblastoma → echogenic mass + acoustic SHADOWING (calcification) ← PATHOGNOMONIC → CDI: rich internal vascularity, ↑ PSV ★ Choroidal Melanoma → dome/mushroom shape, choroidal excavation sign → CDI: internal flow present (haemorrhage = avascular) ★ Retinal Detachment → V-shaped membrane attached at disc & ora serrata → CDI: CRA flow extends INTO detached retina ✓ ★ Vitreous Haemorrhage → mobile echoes, NO Doppler signal (avascular) ★ Posterior Scleritis → posterior scleral thickening + T-SIGN (fluid in Tenon's capsule) Section 4 heading underlined in red: VASCULAR / ORBITAL LESIONS ★ CCF (Carotid-Cavernous Fistula) ← MOST IMPORTANT B-mode: dilated tortuous Superior Ophthalmic Vein (SOV) CDI KEY: REVERSED + ARTERIALIZED flow in SOV ← diagnostic High-velocity pulsatile waveform inside a vein ★ Cavernous Haemangioma (adult, intraconal, benign) B-mode: well-defined ovoid, medium-high echogenicity CDI: ABSENT / minimal vascularity ← KEY distinguishing feature ★ Capillary Haemangioma (infant, periorbital) B-mode: hyperechoic, ill-defined, anterior CDI: RICH flow, tortuous vessels, low RI ★ Orbital Varix → expands with VALSALVA ← dynamic test; venous flow, no arterialisation ★ AVM → high velocity, low resistance, turbulent mosaic colour pattern Section 5 heading underlined in red: OPTIC NERVE - Optic Neuritis: ONSD > 5 mm = raised ICP; CDI → ↓ PSV in CRA & SPCA - Meningioma: TRAM-TRACK sign (parallel echogenic lines around nerve) + calcification - Glioma: fusiform enlargement, tortuous course → associated with NF-1 Section 6 heading underlined in red: THYROID EYE DISEASE - EOM enlargement with TENDON SPARING (spindle-shaped) - Order: I'M SLow (Inferior > Medial > Superior > Lateral) - CDI: ↑ vascularity in EOMs; ↑ PSV orbital vessels → monitor treatment response Section 7 heading underlined in red: ISCHAEMIA & GLAUCOMA - GCA / Arteritic AION: absent LPCA flow (bilateral); very ↑ OA flow - CRAO: absent / to-and-fro CRA waveform; no EDV - Glaucoma: ↑ RI in CRA/SPCA; ↓ EDV in OA → prognostication Small neat table drawn with ruler lines at bottom right: | CONDITION | KEY CDI FINDING | | CCF | Reversed arterialized SOV | | Cavernous Haem | ABSENT vascularity | | Capillary Haem | RICH vascularity | | GCA | Absent LPCA flow | | CRAO | Absent CRA waveform | | Glaucoma | ↑ RI, ↓ EDV | Small sketch bottom left: simple cross-section of eye showing Globe, Optic Nerve, OA crossing nerve, SOV above, probe on eyelid with arrow labelled "minimal pressure" The page is bright white, perfectly horizontal, text is dark blue ink, completely readable, no tilt or distortion.
