https://share.google/3YoScZJZmwNi7NtlG Lens anatomy Definition Types Pathogenesis Clinical features Surgical management Make ppt according to this points as I have to present in Tommorow in such a way that I and the viewer can understand it easily

Reading File
Reading File
Finding Sources
Finding Sources
Searching PubMed

cataract surgery

Searching the Web

American Academy Ophthalmology cataract surgery patient information lens anatomy

Reading Web Page

https://share.google/3YoScZJZmwNi7NtlG

Reading File
Finding Sources
Finding Sources
Searching Images

labeled anatomy diagram of human crystalline lens eye cross section

Searching Images

cataract types nuclear cortical posterior subcapsular clinical photograph diagram

Searching Images

phacoemulsification cataract surgery steps diagram intraocular lens implantation

Browsing Directory

~/

The shared link appears to point to unrelated macular-degeneration material, so I am preparing the presentation as “Lens Anatomy and Cataract”.
Reading File
Reading File
Reading File
Reading Web Page

https://www.aao.org/eye-health/diseases/what-are-cataracts

Running Command

mkdir -p "/tmp/workspace/lens-cataract-ppt/src" "/tmp/workspace/lens-cataract-ppt/output" && python -c "import pptx; print('python-pptx ready')"

Writing File

~/lens-cataract-ppt/src/create_presentation.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.dml import MSO_THEME_COLOR
from pptx.enum.text import MSO_AUTO_SIZE
from pptx.oxml.xmlchemy import OxmlElement

OUT = '/tmp/workspace/lens-cataract-ppt/output/Lens_Anatomy_and_Cataract_Presentation.pptx'
prs = Presentation()
prs.slide_width, prs.slide_height = Inches(13.333), Inches(7.5)
blank = prs.slide_layouts[6]

NAVY=RGBColor(10,43,70); BLUE=RGBColor(34,116,165); TEAL=RGBColor(21,150,145)
AQUA=RGBColor(222,244,245); PALE=RGBColor(244,249,252); GOLD=RGBColor(244,180,60)
DARK=RGBColor(25,42,55); GREY=RGBColor(90,105,115); WHITE=RGBColor(255,255,255); RED=RGBColor(201,74,67)

def rect(slide,x,y,w,h,fill, line=None, radius=False):
    shp=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
    shp.fill.solid(); shp.fill.fore_color.rgb=fill
    shp.line.color.rgb=line or fill
    return shp

def text(slide, content, x,y,w,h, size=20,color=DARK,bold=False,align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP):
    tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame
    tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=Inches(.04);tf.margin_top=tf.margin_bottom=Inches(.02);tf.vertical_anchor=valign
    for i,line in enumerate(content.split('\n')):
        p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line; p.font.name=font;p.font.size=Pt(size);p.font.bold=bold;p.font.color.rgb=color;p.alignment=align;p.space_after=Pt(3)
    return tb

def title(slide, ttl, kicker=None):
    rect(slide,0,0,13.333,.18,TEAL)
    if kicker: text(slide,kicker.upper(),.7,.38,11.8,.3,10,TEAL,True)
    text(slide,ttl,.7,.65,11.9,.55,28,NAVY,True)
    rect(slide,.7,1.28,1.05,.05,GOLD)

def foot(slide,n):
    text(slide,'Lens Anatomy and Cataract',.7,7.13,5,.18,9,GREY)
    text(slide,str(n),12.1,7.11,.45,.18,9,GREY,True,PP_ALIGN.RIGHT)

def bullet_list(slide, items, x,y,w,h, size=19, color=DARK):
    tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame;tf.clear();tf.word_wrap=True
    tf.margin_left=tf.margin_right=Inches(.05);tf.margin_top=Inches(.04)
    for i,item in enumerate(items):
        p=tf.paragraphs[0] if i==0 else tf.add_paragraph();p.text=item;p.level=0;p.font.name='Aptos';p.font.size=Pt(size);p.font.color.rgb=color;p.space_after=Pt(10);p._p.get_or_add_pPr().insert(0,OxmlElement('a:buChar'))
        p._p.pPr.buChar.set('char','•')
    return tb

def notes(slide, content):
    try:
        tf=slide.notes_slide.notes_text_frame
        tf.text='Speaker notes:\n'+content
    except Exception: pass

def circle(slide,x,y,d,fill,line=WHITE):
    shp=slide.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x),Inches(y),Inches(d),Inches(d));shp.fill.solid();shp.fill.fore_color.rgb=fill;shp.line.color.rgb=line;return shp

def arrow(slide,x1,y1,x2,y2,color=TEAL,width=2):
    line=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2));line.line.color.rgb=color;line.line.width=Pt(width);line.line.end_arrowhead=True;return line

# 1
s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.15,TEAL)
# eye/lens icon
circle(s,8.9,1.45,3.0,WHITE); circle(s,9.32,1.87,2.16,AQUA); circle(s,9.85,2.4,1.1,NAVY);circle(s,10.21,2.76,.38,WHITE)
text(s,'LENS ANATOMY\nAND CATARACT',.8,1.55,7.7,1.45,34,WHITE,True)
text(s,'From a transparent focusing lens to a cloudy lens\nthat causes reversible visual disability',.82,3.3,6.8,.8,19,RGBColor(204,226,235))
rect(s,.82,4.5,3.5,.48,TEAL,radius=True);text(s,'Simple presentation guide',.98,4.6,3.15,.2,13,WHITE,True,PP_ALIGN.CENTER)
text(s,'Name: ____________________    |    Date: ____________________',.83,6.55,6.5,.25,12,RGBColor(185,209,220))
notes(s,'Open with the key message: the lens must remain transparent to focus light. Cataract is loss of this transparency.')

# 2 objectives
s=prs.slides.add_slide(blank);title(s,'Road map for this presentation','What we will learn')
items=[('1','Lens anatomy','Where the lens is and how it focuses light'),('2','Definition','What exactly is a cataract?'),('3','Types','Location-based and cause-based classification'),('4','Pathogenesis','How a clear lens becomes opaque'),('5','Clinical features','What the patient notices and what we find'),('6','Surgical management','Phacoemulsification and IOL implantation')]
for i,(num,head,sub) in enumerate(items):
    col=i%3; row=i//3;x=.9+col*4.15;y=1.75+row*2.15
    rect(s,x,y,3.75,1.65,PALE,radius=True);circle(s,x+.25,y+.33,.55,TEAL);text(s,num,x+.25,y+.48,.55,.16,13,WHITE,True,PP_ALIGN.CENTER)
    text(s,head,x+.95,y+.32,2.5,.25,18,NAVY,True);text(s,sub,x+.95,y+.72,2.5,.55,13,GREY)
foot(s,2);notes(s,'This slide tells the audience the order. Each topic will build toward the clinical decision: when and how to operate.')

# 3 Anatomy
s=prs.slides.add_slide(blank);title(s,'Lens anatomy: the focusing unit','Anatomy')
# simplified anterior eye schematic
rect(s,.7,1.6,6.2,4.8,PALE,radius=True);text(s,'Simplified sagittal view of the anterior eye',1.05,1.86,5.4,.25,15,NAVY,True,PP_ALIGN.CENTER)
# cornea iris/lens
circle(s,1.25,2.35,2.5,RGBColor(205,235,244),BLUE); circle(s,1.65,2.75,1.7,WHITE,WHITE); # cornea-ish
# lens biconvex by overlap
circle(s,4.05,2.5,1.85,RGBColor(255,237,173),GOLD);circle(s,4.55,2.5,1.85,RGBColor(255,237,173),GOLD);rect(s,4.52,2.52,.9,1.8,RGBColor(255,237,173),GOLD)
# zonules
for yy in [2.7,3.15,3.65,4.1]:
    arrow(s,3.4,yy,4.25,yy+.2,BLUE,1)
text(s,'CORNEA',1.0,5.1,1.5,.22,11,BLUE,True);arrow(s,1.9,4.92,2.25,4.15,BLUE,1)
text(s,'IRIS / PUPIL',2.1,5.65,1.7,.22,11,BLUE,True);arrow(s,2.8,5.55,2.65,4.33,BLUE,1)
text(s,'ZONULES',3.35,1.95,1.25,.2,11,BLUE,True);arrow(s,4.1,2.15,3.7,2.68,BLUE,1)
text(s,'CRYSTALLINE\nLENS',4.55,4.72,1.6,.4,12,RGBColor(160,110,0),True,PP_ALIGN.CENTER)
arrow(s,5.35,4.62,5.1,4.25,GOLD,1)
# Structure cards
for y,head,body in [(1.75,'Position','Behind iris and pupil; suspended by zonules from ciliary body.'),(3.18,'Layers','Capsule → anterior epithelium → cortex → central nucleus.'),(4.62,'Function','Refraction and accommodation: focuses incoming light on the retina.')]:
    rect(s,7.45,y,5.1,1.12,WHITE,RGBColor(214,228,235),True);text(s,head,7.75,y+.18,1.25,.22,16,TEAL,True);text(s,body,9.0,y+.15,3.15,.55,14,DARK)
foot(s,3);notes(s,'Point to the lens. It is clear, biconvex and avascular. The capsule surrounds it; anterior epithelial cells make new fibers. The nucleus is central and cortex peripheral.')

# 4 Definition
s=prs.slides.add_slide(blank);title(s,'Definition: cataract','Definition')
rect(s,.85,1.7,11.6,1.1,NAVY,radius=True);text(s,'A cataract is an opacification (clouding) of the crystalline lens that reduces the quality of vision.',1.2,2.02,10.9,.35,23,WHITE,True,PP_ALIGN.CENTER)
for x,icon,head,body,col in [(1.0,'1','Normal lens','Transparent\nLight reaches retina',TEAL),(4.75,'2','Cataract','Protein disruption\nLight scatters',GOLD),(8.5,'3','Effect','Blur, glare and\nreduced contrast',RED)]:
    circle(s,x,3.45,1.05,col);text(s,icon,x,3.75,1.05,.2,22,WHITE,True,PP_ALIGN.CENTER);text(s,head,x+1.3,3.48,2.05,.25,19,NAVY,True);text(s,body,x+1.3,3.88,2.1,.55,15,GREY)
arrow(s,3.85,4.05,4.55,4.05,BLUE,2);arrow(s,7.6,4.05,8.3,4.05,BLUE,2)
rect(s,1.05,5.65,11.2,.6,AQUA,radius=True);text(s,'Key distinction: presbyopia = loss of accommodation; cataract = loss of lens transparency.',1.3,5.84,10.7,.2,16,NAVY,True,PP_ALIGN.CENTER)
foot(s,4);notes(s,'Keep the definition short. Cataract is not a film over the eye. It is clouding within the natural lens. It can be treated only definitively by removing that lens surgically.')

# 5 types
s=prs.slides.add_slide(blank);title(s,'Types of cataract','Classification')
text(s,'A. By anatomical location in the lens',.85,1.58,5.5,.3,18,NAVY,True)
types=[('Nuclear','Central nucleus','Gradual distance blur\nMyopic shift / “second sight”',GOLD),('Cortical','Peripheral cortex','Radial spokes\nGlare, variable vision',TEAL),('Posterior\nsubcapsular','Just in front of posterior capsule','Near-vision difficulty\nand marked glare',RED)]
for i,(h,loc,desc,col) in enumerate(types):
 x=.9+i*4.08;rect(s,x,2.1,3.55,2.15,PALE,radius=True);circle(s,x+.25,2.4,.55,col);text(s,h,x+.95,2.28,2.25,.55,17,NAVY,True);text(s,loc,x+.95,2.96,2.3,.22,12,TEAL,True);text(s,desc,x+.35,3.45,2.85,.5,14,GREY)
text(s,'B. By cause',.85,4.75,2.6,.25,18,NAVY,True)
causes=[('Age-related','most common'),('Congenital','present at birth'),('Secondary','diabetes, uveitis, steroids'),('Traumatic','blunt or penetrating injury'),('Radiation / metabolic','less common')]
for i,(a,b) in enumerate(causes):
 x=.9+i*2.45;rect(s,x,5.28,2.15,.9,WHITE,RGBColor(211,225,232),True);text(s,a,x+.13,5.43,1.88,.25,13,NAVY,True,PP_ALIGN.CENTER);text(s,b,x+.13,5.76,1.88,.14,10,GREY,False,PP_ALIGN.CENTER)
foot(s,5);notes(s,'The big three are nuclear, cortical and posterior subcapsular. State the characteristic symptoms: nuclear causes myopic shift, cortical gives spokes and glare, PSC causes disproportionate glare and near difficulty.')

# 6 pathogenesis
s=prs.slides.add_slide(blank);title(s,'Pathogenesis: how a cataract develops','Mechanism')
steps=[('1. Risk exposure','Ageing, UV exposure, smoking, diabetes, steroid use, inflammation or trauma'),('2. Lens stress','Oxidative damage and altered metabolism disrupt lens proteins'),('3. Protein aggregation','Crystallins lose their ordered arrangement; water balance changes'),('4. Light scattering','The lens becomes less transparent → glare, blur and reduced contrast')]
for i,(h,b) in enumerate(steps):
 x=.78+i*3.12;rect(s,x,2.0,2.66,2.75,WHITE,RGBColor(211,225,232),True);circle(s,x+.9,2.28,.85,[TEAL,BLUE,GOLD,RED][i]);text(s,str(i+1),x+.9,2.57,.85,.18,19,WHITE,True,PP_ALIGN.CENTER);text(s,h,x+.2,3.32,2.26,.32,16,NAVY,True,PP_ALIGN.CENTER);text(s,b,x+.23,3.82,2.2,.64,12,GREY,False,PP_ALIGN.CENTER)
 if i<3: arrow(s,x+2.72,3.35,x+3.03,3.35,TEAL,2)
rect(s,1.0,5.45,11.25,.72,AQUA,radius=True);text(s,'Age-related change is gradual: new fibers accumulate at the cortex while older fibers are compacted into the nucleus.',1.25,5.67,10.8,.24,15,NAVY,True,PP_ALIGN.CENTER)
foot(s,6);notes(s,'Avoid excessive biochemistry. The simple explanation: normal proteins are arranged precisely so light passes through. With ageing and injury, proteins clump and the lens scatters light.')

#7 features
s=prs.slides.add_slide(blank);title(s,'Clinical features','What the patient and examiner see')
rect(s,.8,1.7,5.85,4.95,PALE,radius=True);text(s,'Symptoms',1.18,2.0,2.2,.3,23,NAVY,True)
bullet_list(s,['Painless, progressive blurring of vision','Glare and halos, especially with night driving','Reduced contrast and faded / yellowed colours','Frequent change in spectacle prescription','Monocular diplopia or ghost images','Nuclear cataract may produce myopic shift'],1.15,2.65,5.0,3.25,17)
rect(s,6.9,1.7,5.6,4.95,WHITE,RGBColor(211,225,232),True);text(s,'Signs and assessment',7.28,2.0,3.5,.3,23,NAVY,True)
bullet_list(s,['Reduced visual acuity or impaired glare testing','Lens opacity on slit-lamp examination','Diminished red reflex in dense cataract','Dilated eye examination to assess retina and optic nerve','Assess impact on daily tasks, not visual acuity alone'],7.25,2.65,4.65,3.1,17)
rect(s,7.35,5.76,4.7,.45,GOLD,radius=True);text(s,'Usually painless and gradual',7.55,5.89,4.3,.16,13,NAVY,True,PP_ALIGN.CENTER)
foot(s,7);notes(s,'A cataract commonly causes painless gradual loss of vision. Sudden pain or red eye suggests another urgent diagnosis, such as acute glaucoma or uveitis, not uncomplicated cataract.')

#8 decision
s=prs.slides.add_slide(blank);title(s,'When is surgery indicated?','Clinical decision')
text(s,'Operate when the cataract is causing functional visual disability or threatens ocular health.',.9,1.6,11.3,.35,21,NAVY,True)
left=[('Functional indication','Cannot drive safely, read, work, recognize faces or perform desired activities despite glasses.'),('Medical indication','Lens-induced glaucoma, compromised posterior view for retinal treatment, or cataract obstructing another necessary procedure.')]
for i,(h,b) in enumerate(left):
 y=2.35+i*1.6;rect(s,1.0,y,7.1,1.18,PALE,radius=True);text(s,h,1.35,y+.2,2.25,.25,17,TEAL,True);text(s,b,3.72,y+.17,3.9,.6,14,DARK)
rect(s,8.55,2.35,3.65,2.92,NAVY,radius=True);text(s,'Before surgery',8.95,2.72,2.85,.28,21,WHITE,True,PP_ALIGN.CENTER);bullet_list(s,['Discuss goals and expectations','Measure eye for IOL power','Check ocular surface and retina','Obtain informed consent'],8.95,3.3,2.85,1.55,14,WHITE)
rect(s,1.05,5.75,11.1,.52,AQUA,radius=True);text(s,'Do not wait for a “mature” cataract: functional impact is the usual threshold.',1.3,5.91,10.6,.18,15,NAVY,True,PP_ALIGN.CENTER)
foot(s,8);notes(s,'There is no fixed visual-acuity cutoff. Surgery is elective in most cases and is based on the patient’s functional impairment, ocular findings and informed preference.')

#9 surgery
s=prs.slides.add_slide(blank);title(s,'Surgical management: phacoemulsification + IOL','Main procedure')
steps=[('1','Anaesthesia','Topical or local anaesthesia; antisepsis and sterile preparation.'),('2','Small incision','Clear corneal incision and circular opening in the anterior capsule.'),('3','Phacoemulsification','Ultrasound breaks up and aspirates the cloudy lens material.'),('4','IOL implantation','Foldable artificial intraocular lens is inserted, usually into the capsular bag.')]
for i,(n,h,b) in enumerate(steps):
 y=1.75+i*1.2;circle(s,1.0,y,.58,[TEAL,BLUE,GOLD,RED][i]);text(s,n,1.0,y+.19,.58,.16,14,WHITE,True,PP_ALIGN.CENTER);text(s,h,1.85,y+.06,2.25,.23,18,NAVY,True);text(s,b,4.1,y+.05,7.7,.4,15,DARK);arrow(s,12.0,y+.28,12.35,y+.28,TEAL,1)
# bottom takeaway
rect(s,.92,6.65,11.48,.32,TEAL,radius=True);text(s,'The cloudy natural lens is removed. The capsule is retained to support the IOL.',1.1,6.72,11.05,.14,12,WHITE,True,PP_ALIGN.CENTER)
foot(s,9);notes(s,'Explain this as lens replacement surgery. The surgeon does not scrape off the cataract. The opaque lens contents are removed and a clear artificial lens, or IOL, is placed in the remaining capsule.')

#10 IOL and postop
s=prs.slides.add_slide(blank);title(s,'IOL choices, recovery and possible complications','After surgery')
rect(s,.85,1.55,5.95,4.95,PALE,radius=True);text(s,'Intraocular lens (IOL)',1.2,1.88,3.4,.3,22,NAVY,True)
bullet_list(s,['Monofocal: usually set for one distance','Toric: corrects corneal astigmatism','Multifocal / EDOF: can reduce spectacle dependence in selected patients','Power is chosen from eye length and corneal curvature measurements'],1.2,2.5,5.05,2.7,16)
rect(s,7.0,1.55,5.45,2.25,WHITE,RGBColor(211,225,232),True);text(s,'Typical recovery',7.35,1.85,3.2,.25,20,TEAL,True);bullet_list(s,['Antibiotic and anti-inflammatory drops','Vision improves over days to weeks','Follow-up checks healing and eye pressure'],7.35,2.35,4.55,1.1,14)
rect(s,7.0,4.1,5.45,2.4,WHITE,RGBColor(211,225,232),True);text(s,'Complications to mention',7.35,4.4,3.6,.25,20,RED,True);bullet_list(s,['Posterior capsule opacification: treat with YAG laser capsulotomy','Infection, inflammation, raised IOP, cystoid macular oedema and retinal detachment are uncommon but important'],7.35,4.85,4.55,1.2,14)
foot(s,10);notes(s,'IOL selection is individualized. Mention posterior capsule opacification as a later haze in the capsule, not recurrence of the cataract. It can be treated with YAG laser capsulotomy.')

#11 summary + sources
s=prs.slides.add_slide(blank);title(s,'Take-home messages','Summary')
summary=['The lens is a transparent, biconvex structure that focuses light on the retina.','Cataract is clouding of the crystalline lens, most often age-related.','The three common forms are nuclear, cortical and posterior subcapsular.','Symptoms are painless progressive blur, glare, poor night vision and reduced contrast.','Definitive treatment is phacoemulsification with intraocular lens implantation when vision affects function.']
for i,v in enumerate(summary):
 y=1.58+i*.78;circle(s,1.0,y,.34,TEAL);text(s,'✓',1.0,y+.08,.34,.12,11,WHITE,True,PP_ALIGN.CENTER);text(s,v,1.55,y-.02,10.7,.34,17,NAVY if i<4 else TEAL,True if i==4 else False)
rect(s,.9,5.75,11.6,.85,PALE,radius=True);text(s,'Sources for further reading',1.2,5.92,2.6,.2,13,TEAL,True);text(s,"Kanski’s Clinical Ophthalmology, 10th ed., ‘Acquired Cataract’ and ‘Management of Acquired Cataract’.\nAmerican Academy of Ophthalmology: ‘What Are Cataracts?’ and ‘Intraocular Lenses (IOL) for Cataract Surgery’.",3.55,5.84,8.3,.5,11,GREY)
foot(s,11);notes(s,'Read the last point as the closing statement. Invite questions. Sources are on this slide for academic transparency.')

# metadata
prs.core_properties.title='Lens Anatomy and Cataract'
prs.core_properties.subject='Anatomy, cataract types, pathogenesis, features and surgical management'
prs.core_properties.author='Orris'
prs.save(OUT)
print(OUT)
Running Command

python "/tmp/workspace/lens-cataract-ppt/src/create_presentation.py" && ls -lh "/tmp/workspace/lens-cataract-ppt/output/Lens_Anatomy_and_Cataract_Presentation.pptx"

Editing File

~/lens-cataract-ppt/src/create_presentation.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/lens-cataract-ppt/src/create_presentation.py'
Running Command

python "/tmp/workspace/lens-cataract-ppt/src/create_presentation.py" && ls -lh "/tmp/workspace/lens-cataract-ppt/output/Lens_Anatomy_and_Cataract_Presentation.pptx" && python -c "from pptx import Presentation; p=Presentation('/tmp/workspace/lens-cataract-ppt/output/Lens_Anatomy_and_Cataract_Presentation.pptx'); print('slides=', len(p.slides)); print('notes=', sum(1 for s in p.slides if s.has_notes_slide)); print([s.shapes.title.text if s.shapes.title else 'blank' for s in p.slides])"

Created an 11-slide, presentation-ready deck on Lens Anatomy and Cataract. It includes:
  • Lens anatomy and function
  • Cataract definition
  • Types and causes
  • Pathogenesis
  • Clinical features
  • Indications for surgery
  • Phacoemulsification with IOL implantation
  • Recovery, complications, summary, and sources
  • Speaker notes on every slide to help you present smoothly
The Google share link appeared to lead to unrelated macular-degeneration content, so the slides are built specifically around your requested lens and cataract points.

Lens Anatomy and Cataract Presentation

Presentation · PPTX

attachment
attachment

Uhmm I want ppt on Age-Related Macular Degeneration (ARMD) You have make it on other way And don't resembles like it's ai made Make it like human for example I'm attaching one photo look that And stick on that topic

analyse_media
Reading File
Reading File
Searching the Web

Age-related macular degeneration clinical features diagnosis treatment NEI

Searching PubMed

age-related macular degeneration treatment

Finding Sources
Searching Images

age related macular degeneration fundus photographs dry wet drusen neovascularization OCT diagram

Browsing Directory

~/

Reading File
Reading File
Reading Web Page

https://www.nei.nih.gov/eye-health-information/eye-condition…

Finding Sources
Reading File
Reading File
Browsing Directory

~/lens-cataract-ppt/src

Browsing Directory

~/lens-cataract-ppt

Running Command

python /tmp/skills/shared/scripts/fetch_images.py "https://cdn.orris.care/cdss_images/3c9867ffbbcd1c46bffbf8705e439310d97ac977f310d159bd552d823398adad.png" "https://cdn.orris.care/cdss_images/2f7e4eff1293dd04175bb3a64e6cb2842a63822989192fdd27712f938cccff9b.png" "https://cdn.orris.care/cdss_images/692a0e6e11c5ca72bc4dd6e5e60d875f795fe70623853b1223c9482a75620e3f.png" > "/tmp/workspace/lens-cataract-ppt/src/amd_images.json"

Writing File

~/lens-cataract-ppt/src/create_armd_presentation.py

import os, json, base64
from io import BytesIO
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE

OUT='/tmp/workspace/lens-cataract-ppt/output/Age_Related_Macular_Degeneration_ARMD.pptx'
IMG='/tmp/workspace/lens-cataract-ppt/src/amd_images.json'
prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5)
blank=prs.slide_layouts[6]
BLACK=RGBColor(0,0,0); WHITE=RGBColor(255,255,255); GREY=RGBColor(70,70,70)

def rect(slide,x,y,w,h,fill,rad=False,line=None):
    s=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rad else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
    s.fill.solid(); s.fill.fore_color.rgb=fill; s.line.color.rgb=line or fill
    return s

def text(slide,txt,x,y,w,h,size=24,bold=False,align=PP_ALIGN.LEFT,color=BLACK,underline=False):
    tb=slide.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=tb.text_frame
    tf.clear(); tf.word_wrap=True; tf.margin_left=0;tf.margin_right=0;tf.margin_top=0;tf.margin_bottom=0;tf.vertical_anchor=MSO_ANCHOR.MIDDLE
    p=tf.paragraphs[0]; p.alignment=align; p.text=txt
    for r in p.runs:
        r.font.name='Arial';r.font.size=Pt(size);r.font.bold=bold;r.font.color.rgb=color;r.font.underline=underline
    return tb

def title(slide,txt):
    text(slide,txt.upper(),0.8,0.48,11.7,0.55,29,True,PP_ALIGN.CENTER,BLACK,True)

def bullets(slide,items,x=1.25,y=1.55,w=10.7,size=23,spacing=0.63):
    for i,item in enumerate(items): text(slide,'•  '+item,x,y+i*spacing,w,0.5,size,False,PP_ALIGN.LEFT,BLACK)

def note(slide,txt):
    tf=slide.notes_slide.notes_text_frame; tf.text=txt

def add_image(slide, raw, x,y,w,h, caption):
    if raw:
        slide.shapes.add_picture(BytesIO(raw), Inches(x),Inches(y),Inches(w),Inches(h))
        text(slide,caption,x,y+h+0.05,w,0.28,11,False,PP_ALIGN.CENTER,GREY)

# Decode textbook figures
pics=[]
try:
    data=json.load(open(IMG))
    for d in data:
        b=d.get('base64')
        pics.append(base64.b64decode(b.split(',',1)[1]) if b else None)
except Exception: pics=[None,None,None]
while len(pics)<3: pics.append(None)

# 1
s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,WHITE)
text(s,'Age Related Macular\nDegeneration',1.25,2.2,10.85,1.55,42,True,PP_ALIGN.CENTER,BLACK)
text(s,'(ARMD / AMD)',1.25,4.0,10.85,0.4,20,False,PP_ALIGN.CENTER,GREY)
text(s,'Presented by: ____________________',1.25,5.7,10.85,0.35,16,False,PP_ALIGN.CENTER,GREY)
note(s,'Start by saying: ARMD is a common retinal disease in older adults. It mainly affects central vision.')
# 2
s=prs.slides.add_slide(blank); title(s,'Introduction')
bullets(s,['A degenerative disease affecting the macula of the retina.','The macula is responsible for sharp, detailed central vision.','Characterized by drusen and retinal pigment epithelium (RPE) changes.','Peripheral vision is usually preserved.'],1.15,1.75,10.9,22,0.75)
text(s,'Macula = reading, recognizing faces, and seeing fine detail',1.2,5.65,10.9,0.5,19,True,PP_ALIGN.CENTER,GREY)
note(s,'Explain that the patient may still walk around because peripheral vision remains, but reading and face recognition become difficult.')
#3
s=prs.slides.add_slide(blank); title(s,'Types')
text(s,'1. DRY AMD  -  non-neovascular (most common)',1.1,1.5,11.1,0.5,23,True)
bullets(s,['Early: small or medium drusen, often no symptoms.','Intermediate: large drusen and/or pigment changes.','Late dry AMD: geographic atrophy of RPE and photoreceptors.'],1.45,2.1,10.5,19,0.55)
text(s,'2. WET AMD  -  neovascular / exudative',1.1,4.2,11.1,0.5,23,True)
bullets(s,['Abnormal macular blood vessels leak fluid or blood.','Less common, but causes more rapid central visual loss.'],1.45,4.8,10.5,19,0.55)
note(s,'Dry AMD is common and gradual. Wet AMD is less common but needs urgent referral because vision can drop quickly.')
#4
s=prs.slides.add_slide(blank); title(s,'Risk Factors')
bullets(s,['Increasing age - especially after 55 years.','Smoking - the most important modifiable risk factor.','Family history and genetic susceptibility.','Hypertension and cardiovascular risk factors.','Large soft drusen and pigmentary changes in the other eye.'],1.15,1.55,10.9,22,0.72)
text(s,'Advice: stop smoking and attend regular eye examinations.',1.1,5.65,11.0,0.45,19,True,PP_ALIGN.CENTER,GREY)
note(s,'Mention that age cannot be changed, but smoking cessation and management of general health are important.')
#5
s=prs.slides.add_slide(blank); title(s,'Pathogenesis')
bullets(s,['Ageing causes damage to the RPE, Bruch membrane and photoreceptors.','Drusen are lipid-rich deposits beneath the RPE.','Dry AMD: progressive RPE and photoreceptor loss leads to geographic atrophy.','Wet AMD: abnormal macular vessels grow and leak fluid, lipid and blood.'],0.95,1.4,8.0,19,0.75)
add_image(s,pics[0],9.25,1.55,2.65,2.65,'Dry AMD with drusen')
text(s,'Result: damage to the macula and loss of central vision.',1.0,5.55,11.2,0.45,19,True,PP_ALIGN.CENTER,GREY)
note(s,'Drusen are an early visible sign. In wet AMD, abnormal vessels are fragile and leakage distorts the macula.')
#6
s=prs.slides.add_slide(blank); title(s,'Clinical Features')
bullets(s,['Early disease may be asymptomatic.','Gradual central blur or difficulty reading.','Straight lines appear wavy (metamorphopsia).','Central dark or blank spot (scotoma).','Reduced contrast, faded colours, and poor vision in dim light.','Wet AMD may present with sudden or rapidly worsening central visual loss.'],1.05,1.35,7.7,19,0.63)
add_image(s,pics[1],9.1,1.55,2.75,2.75,'Wet / exudative AMD')
text(s,'New distortion of lines = urgent eye assessment',1.0,5.85,11.2,0.4,19,True,PP_ALIGN.CENTER,BLACK)
note(s,'Use an example: door frames or lines on an Amsler grid may look bent. Sudden distortion should not be ignored.')
#7
s=prs.slides.add_slide(blank); title(s,'Diagnosis')
bullets(s,['Visual acuity assessment and Amsler grid.','Dilated fundus examination: drusen, pigment changes, atrophy or hemorrhage.','Optical coherence tomography (OCT): detects fluid and retinal changes.','Fluorescein angiography: helps identify leakage from neovascularization when needed.'],0.95,1.35,7.85,19,0.75)
add_image(s,pics[2],9.2,1.55,2.55,2.55,'Fluorescein angiography')
note(s,'OCT is central to monitoring wet AMD because it shows fluid. Amsler grid helps detect metamorphopsia.')
#8
s=prs.slides.add_slide(blank); title(s,'Management')
text(s,'DRY AMD',1.05,1.35,3.0,0.45,22,True,PP_ALIGN.CENTER,BLACK,True)
bullets(s,['No injection treatment for early dry AMD.','AREDS2 supplements may reduce progression risk in selected intermediate AMD or advanced AMD in one eye.','Smoking cessation, healthy diet, Amsler monitoring and low-vision support.'],0.85,1.95,5.9,18,0.68)
text(s,'WET AMD',7.25,1.35,3.0,0.45,22,True,PP_ALIGN.CENTER,BLACK,True)
bullets(s,['Urgent ophthalmology referral.','Repeated intravitreal anti-VEGF injections are the main treatment.','Photodynamic therapy may be used in selected cases.','OCT-guided follow-up is needed.'],6.8,1.95,5.6,18,0.68)
text(s,'Goal: preserve remaining vision and prevent further loss.',1.0,5.75,11.3,0.4,19,True,PP_ALIGN.CENTER,GREY)
note(s,'Anti-VEGF medicines reduce leakage from abnormal vessels. Treatment is not a cure, so regular review is important.')
#9
s=prs.slides.add_slide(blank); title(s,'Key Points')
bullets(s,['ARMD affects the macula and causes central visual loss.','Dry AMD is common and slow; wet AMD is less common but vision-threatening.','Drusen and RPE changes are important clinical signs.','Distortion or sudden central vision loss requires urgent review.','Early detection, risk reduction and regular follow-up help preserve vision.'],1.05,1.55,11.0,22,0.72)
text(s,'Thank You',1.1,5.9,11.1,0.55,26,True,PP_ALIGN.CENTER,BLACK)
note(s,'End by reinforcing the red flag: new wavy lines or sudden central blur should prompt urgent ophthalmic assessment.')
#10 references
s=prs.slides.add_slide(blank); title(s,'References')
bullets(s,['Kanski’s Clinical Ophthalmology, 10th ed. Chapter: Age-related macular degeneration.','The Wills Eye Manual, 8th ed. Sections 11.16 and 11.17.','Goldman-Cecil Medicine, 27th ed. Section: Age-related macular degeneration.','National Eye Institute. Age-Related Macular Degeneration (AMD), accessed September 2026.'],1.0,1.5,11.1,19,0.8)
text(s,'Images: Wills Eye Manual figures (dry AMD, exudative AMD and fluorescein angiography).',1.0,5.65,11.1,0.35,14,False,PP_ALIGN.CENTER,GREY)
note(s,'Keep this slide available if the examiner asks for sources.')
prs.save(OUT)
print(OUT)
Running Command

python "/tmp/workspace/lens-cataract-ppt/src/create_armd_presentation.py" && ls -lh "/tmp/workspace/lens-cataract-ppt/output/Age_Related_Macular_Degeneration_ARMD.pptx" && python -c "from pptx import Presentation; p=Presentation('/tmp/workspace/lens-cataract-ppt/output/Age_Related_Macular_Degeneration_ARMD.pptx'); print('slides=',len(p.slides)); print('notes=',sum(1 for s in p.slides if s.has_notes_slide)); print('texts=',sum(len(sh.text) for s in p.slides for sh in s.shapes if getattr(sh,'has_text_frame',False)))"

You were right. I remade it only on Age-Related Macular Degeneration (ARMD) in a simple, student-style format like your example:
  • Plain white slides with black text
  • Large underlined headings
  • Short, clear bullet points
  • No overly designed or AI-looking layout
  • Covers introduction, types, risk factors, pathogenesis, clinical features, diagnosis, management, key points, and references
  • Includes relevant retinal images and simple speaker notes for presenting

Age Related Macular Degeneration ARMD

Presentation · PPTX

This is a shared conversation. Sign in to Orris to start your own chat.