How to describe galucomaflecken in case presentation for ophthalmologist
glaukomflecken clinical description case presentation ophthalmology slit lamp
"On slit-lamp examination of the [right/left] eye, there are multiple small, discrete, grey-white anterior subcapsular/capsular opacities scattered within the pupillary zone, consistent with glaukomflecken. These represent focal infarcts of the lens epithelium and are pathognomonic of a prior episode of acute congestive angle closure."
| Descriptor | What to Say | Why It Matters |
|---|---|---|
| Location | Anterior subcapsular or capsular | Distinguishes from PSC or nuclear cataract |
| Distribution | Within (confined to) the pupillary area | The dilated pupil during an acute attack exposes this zone to maximum IOP stress |
| Size | Small, discrete | Each is a focal infarct, not a confluent opacity |
| Colour | Grey-white (may appear white/chalky) | Necrosis of lens epithelium |
| Number | Multiple / scattered / few | Degree reflects severity of the prior attack |
| Associated signs | Iris stromal atrophy, irregular/dilated pupil, spiral-shaped iris atrophy, posterior synechiae | Markers of prior ischaemic APAC |
"The anterior segment examination revealed a shallow anterior chamber. The lens showed multiple small grey-white fleck-like opacities at the anterior subcapsule within the pupillary area - glaukomflecken - along with patchy iris stromal atrophy and an irregular dilated pupil, all consistent with sequelae of a prior acute primary angle closure episode."
"These represent focal infarcts of the lens epithelium and are pathognomonic of previous acute congestive angle closure."

For how many years it may persist
glaukomflecken how long persist permanent lens opacity duration
"The presence of glaukomflecken indicates a prior episode of acute primary angle closure, which may have occurred months to years ago, even if the patient does not recall a distinct attack."
How to represent a surgical iridectomy while drawing gonioscopic findings of chronic angle closure glaucoma
gonioscopy diagram drawing notation surgical iridectomy peripheral iridotomy representation
https://eyewiki.org/Gonioscopy
gonioscopy clock diagram how to draw peripheral iridectomy "V-shaped" OR "notch" documentation chronic angle closure
Outer ring → Cornea / Schwalbe's line
Next ring → Trabecular meshwork (TM)
Next ring → Scleral spur
Inner ring → Ciliary body band
Innermost → Iris root / iris
| Feature | How to Draw It |
|---|---|
| Shape | A V-shaped or U-shaped notch cut into the iris ring at the periphery |
| Location | At the 12 o'clock position (most surgical PIs are placed superotemporally, covered by the lid) |
| Depth | The notch reaches through the full thickness of the iris band on the diagram |
| Width | Drawn wider than a laser PI (which is a tiny dot/pinhole) |
| Label | Write "PI" or "surgical PI" or "iridectomy" with an arrow pointing to the notch |
| Type | Drawn As | Notes |
|---|---|---|
| Surgical iridectomy | Wide V or U-shaped notch in the iris | Full-thickness, sector-shaped gap |
| Laser peripheral iridotomy (LPI) | Small dot or tiny gap (pinhole) in the iris | Much smaller than surgical |
| Sector iridectomy | Large wedge-shaped defect | Occupies a wider arc |
12 o'clock
___V___ ← V = iridectomy notch in iris ring
/ | | \
9 | TM TM | 3
| /// \\ | ← hatching = PAS / closed angle
\_____________/
6
Draw a diagram of this findings
A clean medical ophthalmology gonioscopy clock-face diagram showing chronic angle closure glaucoma with surgical peripheral iridectomy findings. The diagram is a circular concentric ring drawing viewed from above (like a target/bullseye), oriented with 12 o'clock at top, 3 o'clock right, 6 o'clock bottom, 9 o'clock left. Clock hour numbers 1-12 are labeled around the outer edge. From outside to inside, the concentric rings are clearly labeled: 1. Outermost ring: "Schwalbe's Line" (thin white line) 2. Next ring: "Trabecular Meshwork" (lightly pigmented, stippled gray) 3. Next ring: "Scleral Spur" (thin white line) 4. Next ring: "Ciliary Body Band" (light gray band) 5. Innermost ring: "Iris Root" (brown/tan colored) 6. Center circle: "Pupil" (black circle) Key findings drawn on the diagram: - At 12 o'clock position on the iris ring: a clear wide V-shaped notch or gap cut into the iris, labeled "Surgical PI" with a small arrow pointing to it. The notch is wide and obvious, distinguishable as a surgical iridectomy. - In the superior quadrant (10 o'clock to 2 o'clock arc): the trabecular meshwork ring is heavily shaded/hatched in dark gray/red to indicate peripheral anterior synechiae (PAS), with small tent-like projections of iris tissue reaching up to the trabecular meshwork, labeled "PAS" with arrows. - In the inferior quadrant (4 to 8 o'clock): the angle is narrow but open, TM lightly pigmented, labeled "Narrow angle (Shaffer Grade I-II)". - Nasal and temporal quadrants show moderate narrowing with some ITC (iridotrabecular contact), lightly shaded. - A small legend box in the corner showing: dark hatching = PAS/synechial closure, light stipple = pigmented TM, V-notch = surgical iridectomy. - Title at top: "Gonioscopy Diagram - Chronic Angle Closure Glaucoma" - Clean white background, professional medical illustration style, clearly readable labels with leader lines.
mkdir -p /tmp/workspace/gonioscopy && python3 << 'EOF' import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import Arc, FancyArrowPatch, Wedge, Circle import numpy as np fig, ax = plt.subplots(1, 1, figsize=(10, 10)) ax.set_xlim(-1.6, 1.6) ax.set_ylim(-1.6, 1.6) ax.set_aspect('equal') ax.axis('off') ax.set_facecolor('white') fig.patch.set_facecolor('white') # ---------- concentric rings (radii) ---------- r_schwalbe = 1.30 r_tm_outer = 1.20 r_tm_inner = 1.00 r_scleral = 0.95 r_cb_inner = 0.78 r_iris_outer = 0.72 r_iris_inner = 0.52 r_pupil = 0.30 # Helper: draw a filled annulus sector def annulus_sector(ax, r_out, r_in, theta1, theta2, color, alpha=1.0, zorder=2): theta = np.linspace(np.radians(theta1), np.radians(theta2), 200) xs = np.concatenate([r_out*np.cos(theta), r_in*np.cos(theta[::-1])]) ys = np.concatenate([r_out*np.sin(theta), r_in*np.sin(theta[::-1])]) ax.fill(xs, ys, color=color, alpha=alpha, zorder=zorder) # ---------- 1. Schwalbe's line (outermost thin ring) ---------- schwalbe_ring = Circle((0,0), r_schwalbe, fill=False, edgecolor='navy', linewidth=2.5, zorder=3) ax.add_patch(schwalbe_ring) # ---------- 2. Trabecular Meshwork ring (full 360, light grey base) ---------- annulus_sector(ax, r_tm_outer, r_tm_inner, 0, 360, '#c8b89a', alpha=0.6, zorder=2) # TM pigmentation - heavier inferiorly (normal) annulus_sector(ax, r_tm_outer, r_tm_inner, 240, 300, '#7a5c3a', alpha=0.55, zorder=3) # inferior heavy pigment # PAS in superior quadrant 300-420 deg (i.e. 300->360 and 0->60, = 10 o'clock to 2 o'clock) # Draw as darker reddish-brown hatched wedge for offset in np.arange(0, 1.0, 0.07): annulus_sector(ax, r_tm_outer+0.005, r_iris_outer, 300+offset*8, 300+offset*8+5, '#8B1A1A', alpha=0.75, zorder=4) annulus_sector(ax, r_tm_outer, r_iris_outer, 300, 420, '#c0392b', alpha=0.28, zorder=4) # PAS tooth projections - small triangles pointing outward from iris into TM for ang_deg in [310, 325, 340, 355, 10, 25, 40, 55]: ang = np.radians(ang_deg) tip_r = r_tm_inner + 0.12 base_r = r_iris_outer + 0.01 d = np.radians(4) tip = (tip_r*np.cos(ang), tip_r*np.sin(ang)) bl = (base_r*np.cos(ang-d), base_r*np.sin(ang-d)) br = (base_r*np.cos(ang+d), base_r*np.sin(ang+d)) ax.fill([tip[0], bl[0], br[0]], [tip[1], bl[1], br[1]], color='#8B1A1A', alpha=0.85, zorder=5) # ---------- 3. Scleral spur line ---------- scleral_ring = Circle((0,0), r_scleral, fill=False, edgecolor='#555555', linewidth=1.8, linestyle='--', zorder=3) ax.add_patch(scleral_ring) # ---------- 4. Ciliary body band ---------- annulus_sector(ax, r_cb_inner+0.06, r_cb_inner, 0, 360, '#b5cfa8', alpha=0.7, zorder=2) # ---------- 5. Iris ring (full, brown) ---------- annulus_sector(ax, r_iris_outer, r_iris_inner, 0, 360, '#8B6914', alpha=0.85, zorder=2) # Narrow angle shading: nasal & temporal - overlay slightly lighter to show appositional ITC for region in [(60, 120), (240, 300)]: annulus_sector(ax, r_tm_inner+0.02, r_iris_outer, region[0], region[1], '#d4a017', alpha=0.30, zorder=3) # ---------- 6. Surgical PI at 12 o'clock (90 deg in math convention) ---------- # Cut a notch out of the iris ring at 90 deg (top) notch_half = np.radians(9) # width of notch notch_ang = np.radians(90) # Redraw iris WITHOUT the notch region by drawing two arcs annulus_sector(ax, r_iris_outer+0.01, r_iris_inner-0.01, 99, 441, # 99 to 441 = full circle minus 90±9 'white', alpha=1.0, zorder=6) # left side of iris (notch excluded) annulus_sector(ax, r_iris_outer, r_iris_inner, 99, 360+81, '#8B6914', alpha=0.85, zorder=6) # Fill notch with dark (through-and-through gap) theta_notch = np.linspace(notch_ang - notch_half, notch_ang + notch_half, 60) xs_out = r_iris_outer * np.cos(theta_notch) ys_out = r_iris_outer * np.sin(theta_notch) xs_in = r_iris_inner * np.cos(theta_notch[::-1]) ys_in = r_iris_inner * np.sin(theta_notch[::-1]) ax.fill(np.concatenate([xs_out, xs_in]), np.concatenate([ys_out, ys_in]), color='#1a1a2e', alpha=0.9, zorder=7) # V-notch visual marker mid = np.radians(90) tip_x, tip_y = (r_iris_inner+0.04)*np.cos(mid), (r_iris_inner+0.04)*np.sin(mid) ax.plot([r_iris_outer*np.cos(mid-notch_half), tip_x, r_iris_outer*np.cos(mid+notch_half)], [r_iris_outer*np.sin(mid-notch_half), tip_y, r_iris_outer*np.sin(mid+notch_half)], color='black', linewidth=2.5, zorder=8) # ---------- 7. Pupil ---------- pupil = Circle((0,0), r_pupil, color='black', zorder=5) ax.add_patch(pupil) # ---------- Clock numbers ---------- for hr in range(1, 13): angle_deg = 90 - hr * 30 # 12 o'clock = 90 deg angle_rad = np.radians(angle_deg) r_label = 1.48 x = r_label * np.cos(angle_rad) y = r_label * np.sin(angle_rad) ax.text(x, y, str(hr), ha='center', va='center', fontsize=11, fontweight='bold', color='#222222') # ---------- Structural labels ---------- label_params = dict(fontsize=8.5, color='#1a1a2e', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='none', alpha=0.8)) ax.text(0, r_schwalbe+0.12, "Schwalbe's Line", **label_params) ax.annotate("", xy=(0.72, r_schwalbe), xytext=(0.72, r_schwalbe+0.09), arrowprops=dict(arrowstyle='->', color='navy', lw=1.2)) ax.text(-1.55, 0.22, "Trabecular\nMeshwork", fontsize=8, color='#5a3e1b', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='none', alpha=0.8)) ax.annotate("", xy=(-r_tm_outer+0.05, 0.12), xytext=(-1.38, 0.18), arrowprops=dict(arrowstyle='->', color='#5a3e1b', lw=1.2)) ax.text(1.55, -0.18, "Scleral\nSpur", fontsize=8, color='#444', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='none', alpha=0.8)) ax.annotate("", xy=(r_scleral*np.cos(np.radians(-10)), r_scleral*np.sin(np.radians(-10))), xytext=(1.35, -0.16), arrowprops=dict(arrowstyle='->', color='#444', lw=1.2)) ax.text(-1.50, -0.30, "Ciliary Body\nBand", fontsize=8, color='#4a7040', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='none', alpha=0.8)) ax.annotate("", xy=(-r_cb_inner*np.cos(np.radians(20)), -r_cb_inner*np.sin(np.radians(20))), xytext=(-1.30, -0.30), arrowprops=dict(arrowstyle='->', color='#4a7040', lw=1.2)) ax.text(1.52, 0.35, "Iris Root", fontsize=8, color='#6b4f10', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='none', alpha=0.8)) ax.annotate("", xy=(r_iris_outer*np.cos(np.radians(15)), r_iris_outer*np.sin(np.radians(15))), xytext=(1.32, 0.32), arrowprops=dict(arrowstyle='->', color='#6b4f10', lw=1.2)) # Surgical PI label ax.annotate("Surgical PI\n(12 o'clock)", xy=(0, r_iris_outer+0.06), xytext=(0.48, 1.15), fontsize=8.5, fontweight='bold', color='#1a1a2e', ha='center', bbox=dict(boxstyle='round,pad=0.3', fc='#fff9c4', ec='#888', alpha=0.95), arrowprops=dict(arrowstyle='->', color='#333', lw=1.3)) # PAS label ax.annotate("PAS\n(10–2 o'clock)\nSynechial closure", xy=(0.18, r_tm_inner+0.07), xytext=(0.85, 1.10), fontsize=8.5, fontweight='bold', color='#8B1A1A', ha='center', bbox=dict(boxstyle='round,pad=0.3', fc='#fdecea', ec='#c0392b', alpha=0.95), arrowprops=dict(arrowstyle='->', color='#c0392b', lw=1.3)) # Narrow angle label ax.annotate("Narrow angle\nITC (appositional)\nShaffer Grade I", xy=(-r_tm_inner-0.02, -0.55), xytext=(-1.35, -0.80), fontsize=8, color='#7a5200', ha='center', bbox=dict(boxstyle='round,pad=0.3', fc='#fff3cd', ec='#d4a017', alpha=0.95), arrowprops=dict(arrowstyle='->', color='#d4a017', lw=1.2)) # Heavy TM pigment label ax.annotate("Heavy TM\npigment (inf.)", xy=(0, -r_tm_inner-0.05), xytext=(0.75, -1.20), fontsize=8, color='#5a3e1b', ha='center', bbox=dict(boxstyle='round,pad=0.2', fc='#f5e6d0', ec='#7a5c3a', alpha=0.9), arrowprops=dict(arrowstyle='->', color='#7a5c3a', lw=1.2)) # ---------- Legend ---------- legend_x, legend_y = -1.55, -1.30 ax.add_patch(mpatches.Rectangle((legend_x-0.02, legend_y-0.28), 1.12, 0.60, fc='#f9f9f9', ec='#999', linewidth=1, zorder=9)) ax.fill_betweenx([legend_y+0.04, legend_y+0.18], [legend_x, legend_x], [legend_x+0.22, legend_x+0.22], color='#c0392b', alpha=0.5, zorder=10) ax.text(legend_x+0.27, legend_y+0.11, "PAS / synechial closure", fontsize=7.5, va='center', zorder=10) ax.fill_betweenx([legend_y-0.22, legend_y-0.08], [legend_x, legend_x], [legend_x+0.22, legend_x+0.22], color='#8B6914', alpha=0.85, zorder=10) ax.text(legend_x+0.27, legend_y-0.15, "Iris / surgical PI notch", fontsize=7.5, va='center', zorder=10) # ---------- Title ---------- ax.set_title("Gonioscopy Diagram\nChronic Angle Closure Glaucoma with Surgical Peripheral Iridectomy", fontsize=13, fontweight='bold', color='#1a1a2e', pad=14) plt.tight_layout() plt.savefig('/tmp/workspace/gonioscopy/gonioscopy_CACG.png', dpi=180, bbox_inches='tight', facecolor='white') print("Saved.") EOF
gonioscopy CACG
Image · PNG
| Structure | What's Shown |
|---|---|
| Schwalbe's Line | Outermost navy ring |
| Trabecular Meshwork | Tan/beige annular band |
| Scleral Spur | Dashed ring (grey) |
| Ciliary Body Band | Light green band |
| Iris Root | Brown/gold ring |
| Pupil | Central black circle |
| Surgical PI | Dark V-shaped notch at 12 o'clock in the iris ring - wide and full-thickness, distinguishable from a laser PI |
| PAS (10-2 o'clock) | Red tent/tooth-shaped projections in the superior quadrant extending from iris into the TM, with red shading indicating synechial closure (~4 clock hours) |
| Narrow angle / ITC | Yellow overlay in nasal/inferior-nasal quadrant showing appositional iridotrabecular contact (Shaffer Grade I) |
| Heavy TM pigment | Darker brown shading inferiorly (normal finding, common in angle closure) |