Make me an editable PowerPoint presentation on Anatomy and functions of skin based on the document provided by me
~/
skin anatomy function
skin anatomy functions epidermis dermis hypodermis authoritative source
~/attachments/dcce024b-6ef1-47bb-8bc2-a3460c3ff70f/
labeled cross section human skin epidermis dermis hypodermis hair follicle sweat gland diagram
python3 -c "from docx import Document; p='/tmp/workspace/attachments/dcce024b-6ef1-47bb-8bc2-a3460c3ff70f/skin anatomy.docx'; d=Document(p); print('PARAGRAPHS:'); [print(f'[{x.style.name}] {x.text}') for x in d.paragraphs if x.text.strip()]; print('TABLES:',len(d.tables)); [print(' | '.join(c.text.replace(chr(10),' / ') for c in r.cells)) for t in d.tables for r in t.rows]"
~/
mkdir -p "/tmp/workspace/skin-anatomy-presentation/src" "/tmp/workspace/skin-anatomy-presentation/output" && cat > "/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py" <<'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.oxml.xmlchemy import OxmlElement OUT='/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] # palette NAVY=RGBColor(21,48,73); TEAL=RGBColor(0,132,137); AQUA=RGBColor(181,226,226) BLUE=RGBColor(75,145,190); PALE=RGBColor(239,247,247); CORAL=RGBColor(223,112,99) GOLD=RGBColor(232,180,69); DARK=RGBColor(35,45,56); MID=RGBColor(89,105,119); WHITE=RGBColor(255,255,255) GREY=RGBColor(224,231,234); GREEN=RGBColor(88,151,117) def set_bg(slide, color=WHITE): b=slide.background.fill; b.solid(); b.fore_color.rgb=color def no_line(shape): shape.line.fill.background() def fill(shape,c): shape.fill.solid(); shape.fill.fore_color.rgb=c def text_box(slide,x,y,w,h,text,size=18,color=DARK,bold=False,align=PP_ALIGN.LEFT,font='Aptos',val=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=Pt(0); tf.margin_top=tf.margin_bottom=Pt(0); tf.vertical_anchor=val p=tf.paragraphs[0]; p.alignment=align; r=p.add_run(); r.text=text; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return tb def add_title(slide, title, subtitle=None, n=None): text_box(slide,.6,.35,11.8,.45,title,27,NAVY,True) if subtitle: text_box(slide,.62,.84,11.5,.28,subtitle,10,MID) shp=slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(.6), Inches(1.16), Inches(1.1), Inches(.05)); fill(shp,TEAL); no_line(shp) if n: text_box(slide,12.1,.4,.5,.3,f'{n:02d}',10,TEAL,True,PP_ALIGN.RIGHT) def footer(slide, label='ANATOMY & FUNCTIONS OF SKIN'): line=slide.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(.6),Inches(7.08),Inches(12.1),Inches(.012)); fill(line,GREY); no_line(line) text_box(slide,.6,7.16,5,.15,label,7,MID,True) def add_bullets(slide, items, x,y,w,h, size=16, color=DARK, gap=7): 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=Pt(0); tf.margin_top=tf.margin_bottom=Pt(0) for i,item in enumerate(items): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.space_after=Pt(gap); p.level=0 p.text=item; p.font.name='Aptos'; p.font.size=Pt(size); p.font.color.rgb=color p._p.get_or_add_pPr().insert(0, OxmlElement('a:buChar')); p._p.pPr[0].set('char','•') return tb def card(slide,x,y,w,h,heading,body,color=TEAL,body_size=13): sh=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE,Inches(x),Inches(y),Inches(w),Inches(h)); fill(sh,PALE); sh.line.color.rgb=GREY; sh.line.width=Pt(.8) top=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE,Inches(x),Inches(y),Inches(w),Inches(.46)); fill(top,color); no_line(top) text_box(slide,x+.18,y+.09,w-.35,.24,heading,13,WHITE,True) text_box(slide,x+.18,y+.63,w-.36,h-.76,body,body_size,DARK) def add_notes(slide, note): try: notes=slide.notes_slide.notes_text_frame notes.text=note except Exception: pass def circle(slide,x,y,d,label,fillc,sub=None): s=slide.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(d),Inches(d)); fill(s,fillc); no_line(s) text_box(slide,x+.08,y+d*.28,d-.16,.27,label,13,WHITE,True,PP_ALIGN.CENTER) if sub: text_box(slide,x+.05,y+d*.53,d-.1,.22,sub,8,WHITE,False,PP_ALIGN.CENTER) def connector(slide,x1,y1,x2,y2,c=TEAL,w=2): l=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2)); l.line.color.rgb=c; l.line.width=Pt(w); return l # 1 s=prs.slides.add_slide(blank); set_bg(s,NAVY) # decorative bands for y,c,w in [(0.0,TEAL,13.333),(.18,AQUA,7.0),(6.75,TEAL,13.333)]: sh=s.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(0),Inches(y),Inches(w),Inches(.12)); fill(sh,c); no_line(sh) text_box(s,.8,1.35,8.5,.75,'ANATOMY AND\nFUNCTIONS OF SKIN',34,WHITE,True) text_box(s,.83,3.05,7.8,.55,'Structure, physiology, and surgical relevance',19,AQUA) text_box(s,.83,4.0,5,.3,'Based on the provided teaching document',12,WHITE) # layer motif for y,h,c,lab in [(1.4,.38,RGBColor(245,204,183),'EPIDERMIS'),(1.78,1.75,RGBColor(242,171,146),'DERMIS'),(3.53,1.18,RGBColor(243,210,130),'HYPODERMIS')]: sh=s.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(9.9),Inches(y),Inches(2.25),Inches(h)); fill(sh,c); no_line(sh); text_box(s,10.12,y+h/2-.11,1.8,.2,lab,9,NAVY,True,PP_ALIGN.CENTER) # follicle connector(s,11.0,1.2,11.0,3.1,NAVY,3); sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(10.72),Inches(3.0),Inches(.56),Inches(.78)); fill(sh,RGBColor(110,77,54)); no_line(sh) text_box(s,.83,6.98,5,.18,'Editable PowerPoint | 16:9 widescreen',8,AQUA) add_notes(s,'Introduce the skin as the largest organ and an integrated protective, sensory, vascular, and regenerative system.') # 2 s=prs.slides.add_slide(blank); set_bg(s); add_title(s,'Why skin anatomy matters','A structural map explains function, injury, and reconstruction',2) circle(s,.9,1.65,1.45,'BARRIER',TEAL,'water + microbes'); circle(s,3.6,1.65,1.45,'SENSE',BLUE,'touch + pain'); circle(s,6.3,1.65,1.45,'REGULATE',CORAL,'temperature'); circle(s,9.0,1.65,1.45,'REPAIR',GREEN,'healing') for a,b in [(2.35,3.6),(5.05,6.3),(7.75,9.0)]: connector(s,a,2.38,b,2.38,AQUA,3) card(s,.9,4.0,3.55,1.85,'Skin proper','Epidermis + dermis. The hypodermis is anatomically distinct but functionally integrated.',TEAL) card(s,4.88,4.0,3.55,1.85,'Site-specific design','Thickness, appendages, vascularity, mobility, and sensory demand differ across the body.',BLUE) card(s,8.86,4.0,3.55,1.85,'Surgical relevance','Supports decisions about grafts, flaps, tension, wound healing, scars, and contour.',CORAL) footer(s); add_notes(s,'State the central idea: skin layers and appendages work as one functional organ. Relate this to clinical and reconstructive decisions.') # 3 layers s=prs.slides.add_slide(blank); set_bg(s); add_title(s,'The integument: three integrated compartments','Skin proper is epidermis + dermis; subcutaneous tissue supports the functional unit',3) # big cross section layers=[('EPIDERMIS',1.35,.55,RGBColor(250,213,194),'Avascular epithelial barrier'),('DERMIS',1.90,2.15,RGBColor(246,174,148),'Collagen, vessels, nerves, appendages'),('HYPODERMIS',4.05,1.65,RGBColor(249,219,148),'Fat lobules, septa, larger vessels and nerves')] for name,y,h,c,desc in layers: sh=s.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(.9),Inches(y),Inches(5.25),Inches(h)); fill(sh,c); no_line(sh) text_box(s,1.15,y+.16,1.4,.22,name,13,NAVY,True); text_box(s,2.65,y+.16,3.1,.3,desc,12,DARK) # hair and gland diagram connector(s,3.65,1.12,3.65,3.55,RGBColor(84,61,45),3); fol=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(3.3),Inches(3.1),Inches(.7),Inches(1.1)); fill(fol,RGBColor(112,76,50)); no_line(fol) for x,y in [(1.5,4.45),(2.3,4.75),(4.6,4.42),(5.25,4.9)]: o=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(.55),Inches(.48));fill(o,GOLD);no_line(o) add_bullets(s,['Epidermis renews and creates the permeability barrier.','Dermis supplies strength, elasticity, nutrition, and sensory support.','Hypodermis cushions, insulates, and permits skin mobility.'],6.75,1.65,5.4,3.7,17) footer(s); add_notes(s,'Emphasize the anatomical distinction: the epidermis and dermis are skin proper. The hypodermis is essential for function and reconstructive planes.') # 4 thick thin s=prs.slides.add_slide(blank); set_bg(s); add_title(s,'Thick skin and thin skin','Architecture adapts to local mechanical and functional demands',4) card(s,.85,1.48,5.55,4.85,'THICK SKIN | palms and soles','• Thick stratum corneum\n• Stratum lucidum present\n• Prominent epidermal ridges and dermal papillae\n• No hair follicles or sebaceous glands\n• Numerous eccrine sweat glands\n\nClinical link: durable glabrous coverage; adapted to friction and weight-bearing.',TEAL,15) card(s,6.9,1.48,5.55,4.85,'THIN SKIN | most body sites','• Relatively thinner epidermis\n• No distinct stratum lucidum\n• Hair follicles and sebaceous glands generally present\n• Dermal thickness and appendage density vary\n\nClinical link: eyelid is exceptionally thin; scalp is follicle-rich and well vascularized.',BLUE,15) footer(s); add_notes(s,'Compare palmar or plantar skin with eyelid and scalp. Match the tissue properties to the recipient site in reconstruction.') # 5 epidermis s=prs.slides.add_slide(blank); set_bg(s); add_title(s,'Epidermis: a renewing, avascular barrier','Keratinocyte differentiation builds an outward protective shield',5) # stratified layers edata=[('Stratum corneum','Principal physical and permeability barrier',RGBColor(245,211,188)),('Stratum lucidum','Present in thick skin only',RGBColor(250,229,204)),('Stratum granulosum','Lipids + cornification begin',RGBColor(241,190,166)),('Stratum spinosum','Desmosomes create mechanical cohesion',RGBColor(232,163,141)),('Stratum basale','Progenitors, melanocytes, Merkel cells',RGBColor(205,122,111))] y=1.3 for name,desc,c in edata: sh=s.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(.85),Inches(y),Inches(6.0),Inches(.75)); fill(sh,c); no_line(sh); text_box(s,1.05,y+.13,1.75,.2,name,12,NAVY,True); text_box(s,2.95,y+.13,3.55,.2,desc,11,DARK); y+=.78 # arrow upward connector(s,7.25,5.35,7.25,1.4,TEAL,3); text_box(s,7.48,2.55,1.15,.45,'DIFFERENTIATION\n& MIGRATION',10,TEAL,True) card(s,8.85,1.35,3.45,1.3,'Water control','Stratum corneum lipids and corneocytes limit transepidermal water loss.',TEAL,12) card(s,8.85,2.95,3.45,1.3,'Defence','Barrier, antimicrobial peptides, and immune cells reduce microbial invasion.',CORAL,12) card(s,8.85,4.55,3.45,1.3,'UV protection','Melanin helps protect keratinocyte nuclei from ultraviolet injury.',BLUE,12) footer(s); add_notes(s,'Walk from basal proliferation to terminal cornification. Explain why a disruption of stratum corneum increases water loss and infection risk.') # 6 cells s=prs.slides.add_slide(blank); set_bg(s); add_title(s,'Epidermal cell populations','Keratinocytes are dominant, supported by pigment, immune, and tactile cells',6) items=[('KERATINOCYTE','Barrier formation, keratins, cytokines, antimicrobial peptides, repair',TEAL),('MELANOCYTE','Melanin synthesis and transfer; partial ultraviolet protection',GOLD),('LANGERHANS CELL','Antigen recognition and presentation; immune signalling',CORAL),('MERKEL CELL','Fine touch and sustained tactile discrimination',BLUE)] for i,(h,b,c) in enumerate(items): x=.85+(i%2)*6.05;y=1.5+(i//2)*2.25; card(s,x,y,5.45,1.7,h,b,c,15) footer(s); add_notes(s,'Tie each cell type to its dominant physiological role. Mention that these populations feature in pigmentary, immunological, and malignant disease.') # 7 dermis s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Dermis: the supportive, vascular connective tissue','Its matrix and cells determine skin strength, elasticity, sensation, and repair',7) card(s,.85,1.4,5.4,2.15,'PAPILLARY DERMIS','Loose connective tissue with fine collagen, capillary loops, and sensory endings. Supports the epidermal-dermal interface and nutrient exchange.',TEAL,15) card(s,.85,3.85,5.4,2.15,'RETICULAR DERMIS','Dense irregular connective tissue with thick collagen bundles, elastin, appendages, vessels, and nerves. Provides tensile strength and durability.',CORAL,15) # Matrix composition visual text_box(s,7.15,1.35,4.8,.25,'EXTRACELLULAR MATRIX',14,NAVY,True) for x,y,lab,c in [(7.25,2.0,'COLLAGEN',TEAL),(9.15,2.0,'ELASTIN',BLUE),(7.25,3.7,'GROUND\nSUBSTANCE',GREEN),(9.15,3.7,'FIBROBLASTS',CORAL)]: circle(s,x,y,1.35,lab,c) text_box(s,7.15,5.65,4.9,.32,'Deep dermal injury has a greater risk of architectural loss and significant scarring.',12,NAVY,True,PP_ALIGN.CENTER) footer(s); add_notes(s,'Contrast papillary and reticular dermis. Emphasize that dermal preservation affects scar quality, tissue durability, and graft or wound behavior.') # 8 appendages s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Skin appendages extend function beyond the surface','Appendages influence thermal control, lubrication, sensation, and regeneration',8) app=[('Hair follicles','Hair production, sensory input, epithelial progenitor reservoir',RGBColor(128,100,77)),('Sebaceous glands','Sebum: lubrication and surface lipid environment',GOLD),('Eccrine glands','Evaporative cooling; palms and soles are rich in eccrine glands',TEAL),('Apocrine glands','Axilla and anogenital regions; active around puberty',CORAL),('Arrector pili','Smooth muscle that produces piloerection',BLUE),('Nails','Protect distal digits; enable fine manipulation and counterpressure',GREEN)] for i,(h,b,c) in enumerate(app): card(s,.75+(i%3)*4.2,1.4+(i//3)*2.35,3.75,1.8,h,b,c,12) footer(s);add_notes(s,'Point out the regenerative relevance of appendages: surviving follicular and glandular epithelium can contribute to re-epithelialization in selected wounds.') # 9 vasculature s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Blood supply: a dermal network sustains the skin','The epidermis has no intrinsic blood vessels and relies on diffusion from the dermis',9) # networks for y,lab,c,desc in [(1.5,'SUPERFICIAL NETWORK',CORAL,'smaller vessels + papillary capillary loops'),(3.2,'DEEP NETWORK',TEAL,'near dermal-subcutaneous junction; feeds overlying skin')]: connector(s,.9,y,6.6,y,c,6) for x in [1.5,2.5,3.6,4.9,5.8]: o=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y-.18),Inches(.36),Inches(.36));fill(o,c);no_line(o) text_box(s,.95,y-.6,2.0,.2,lab,11,NAVY,True);text_box(s,3.0,y-.6,3.4,.2,desc,10,MID) for x in [1.5,2.5,3.6,4.9,5.8]:connector(s,x,3.2,x,1.5,CORAL,1) add_bullets(s,['Arterial inflow and venous outflow are prerequisites for flap survival.','Skin grafts rely on recipient-bed perfusion for revascularization.','Tension, pressure, trauma, and vascular injury can compromise tissue perfusion.'],7.25,1.55,4.8,3.2,16) card(s,7.25,5.15,4.8,.8,'Plastic surgery principle','Preserve the subdermal vascular network when elevating skin flaps.',TEAL,12) footer(s);add_notes(s,'Explain the difference between dermal microcirculation and source vessels used in flap planning. Mention that venous congestion may jeopardize a flap despite arterial inflow.') #10 sensory lymphatics s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Skin senses and drains','Neural and lymphatic systems support protection, control, and immune surveillance',10) card(s,.85,1.45,5.45,4.75,'SENSORY + AUTONOMIC INNERVATION','Somatic sensation\nPain, temperature, touch, pressure, vibration, itch\n\nAutonomic control\nPredominantly sympathetic: vasomotor tone, eccrine sweating, piloerection\n\nClinical link\nProtective sensation is a priority in hand, foot, and other high-risk areas.',BLUE,15) card(s,6.85,1.45,5.45,4.75,'CUTANEOUS LYMPHATICS','Superficial initial lymphatics collect interstitial fluid and immune cells. Deeper collecting vessels connect with regional nodes.\n\nRoles\nFluid balance, transport of antigens and immune cells, inflammatory responses\n\nClinical link\nDisruption can contribute to oedema and lymphoedema.',GREEN,15) footer(s);add_notes(s,'Clarify that a dermatome is a spinal nerve-root territory, whereas a named peripheral nerve territory usually includes fibers from several roots.') #11 functions s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Functions of skin: one organ, many tasks','Each function depends on more than one layer or cell population',11) funcs=[('Barrier','Stratum corneum, lipids, keratinocytes',TEAL),('Thermoregulation','Vessels, eccrine glands, autonomic nerves',CORAL),('Sensation','Receptors, free nerve endings, nerves',BLUE),('Immune defence','Keratinocytes, antigen-presenting cells, microbiome',GREEN),('Metabolic activity','Vitamin D synthesis; adipose signalling',GOLD),('Repair','Keratinocytes, fibroblasts, vessels, matrix',RGBColor(127,99,166))] for i,(h,b,c) in enumerate(funcs): x=.7+(i%3)*4.2;y=1.5+(i//3)*2.3; card(s,x,y,3.75,1.75,h,b,c,13) footer(s);add_notes(s,'Use this slide as a roadmap for the following function slides. Stress coordinated activity rather than assigning each function to only a single structure.') #12 barrier and immune s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Barrier and immune defence','Physical, chemical, biological, and pigmentary mechanisms act together',12) for i,(h,b,c) in enumerate([('PHYSICAL','Corneocytes, intercellular lipids, cohesive keratinocytes',TEAL),('CHEMICAL','Surface lipids and local chemical environment',GOLD),('BIOLOGICAL','Antimicrobial peptides, immune cells, microbiome',GREEN),('UV','Melanin absorbs and disperses some ultraviolet radiation',CORAL)]): x=.85+(i%2)*6;y=1.5+(i//2)*2.2;card(s,x,y,5.4,1.6,h,b,c,15) text_box(s,.9,6.25,11.5,.25,'When barrier integrity fails in burns, abrasions, or chronic wounds: fluid loss and infection risk rise.',14,NAVY,True,PP_ALIGN.CENTER) footer(s);add_notes(s,'Be clear that melanin reduces but does not eliminate ultraviolet injury. In extensive burns, barrier loss becomes a systemic problem.') #13 thermal metabolic s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Thermoregulation, secretion, and metabolic activity','Blood flow and appendages link the skin to whole-body homeostasis',13) # center body circle(s,5.85,2.4,1.6,'SKIN',NAVY,'homeostasis') for x,y,h,b,c in [(1.0,1.55,'VASODILATION','increases heat transfer to surface',CORAL),(1.0,4.3,'VASOCONSTRICTION','conserves body heat',BLUE),(9.1,1.55,'ECCRINE SWEAT','evaporation removes heat',TEAL),(9.1,4.3,'VITAMIN D','UVB starts vitamin D3 synthesis',GOLD)]: card(s,x,y,3.45,1.3,h,b,c,12); connector(s,4.45 if x<5 else 8.9,y+.65,5.85 if x<5 else 7.45,3.2, c,2) footer(s);add_notes(s,'Explain that effective sweating depends on evaporation, so humidity, airflow, and hydration matter. Mention that large burns impair thermal control.') #14 wound healing s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Skin as a repair system','Healing is a coordinated sequence of cells, blood vessels, and extracellular matrix',14) phases=[('1','HAEMOSTASIS','Platelets + provisional fibrin matrix',CORAL),('2','INFLAMMATION','Debris clearance and inflammatory signalling',GOLD),('3','PROLIFERATION','Re-epithelialization, angiogenesis, granulation tissue, collagen deposition',TEAL),('4','REMODELLING','Collagen reorganization; scar maturation',BLUE)] for i,(n,h,b,c) in enumerate(phases): x=.7+i*3.15;circle(s,x,1.6,.78,n,c);text_box(s,x,2.55,2.9,.25,h,13,NAVY,True,PP_ALIGN.CENTER);text_box(s,x,2.95,2.9,.75,b,11,DARK,False,PP_ALIGN.CENTER) if i<3: connector(s,x+.9,1.99,x+2.95,1.99,MID,2) card(s,1.1,4.65,5.2,1.25,'Epithelial sources','Wound-edge keratinocytes and viable appendageal epithelial structures can contribute to re-epithelialization.',GREEN,13) card(s,7.05,4.65,5.2,1.25,'Depth predicts outcome','Deep dermal injury has more architectural disruption and scar risk. Full-thickness defects often need grafts or flaps.',CORAL,13) footer(s);add_notes(s,'Explain that each phase overlaps in time. Source document highlights the importance of hair follicles and other appendages in epithelial regeneration.') #15 surgery s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'Surgical applications of skin anatomy','The reconstructive choice must restore the right function at the right site',15) for i,(h,b,c) in enumerate([('Skin grafts','Need recipient-bed vascularity; thickness changes contraction, durability, and donor healing.',TEAL),('Flaps','Transfer tissue with intrinsic blood supply; preserve inflow and outflow.',CORAL),('Tissue expansion','Uses sustained deformation and biological adaptation to create like-with-like coverage.',BLUE),('Scar management','Tension, site, depth, inflammation, and remodeling affect outcomes.',GOLD)]): x=.85+(i%2)*6;y=1.45+(i//2)*2.25;card(s,x,y,5.4,1.7,h,b,c,14) text_box(s,.85,6.25,11.4,.25,'Match thickness, colour, texture, laxity, vascularity, and sensory requirements to the recipient site.',14,NAVY,True,PP_ALIGN.CENTER) footer(s);add_notes(s,'Tie the anatomy back to reconstructive practice. A successful reconstruction is not only coverage but suitable vascular, mechanical, sensory, and aesthetic tissue.') #16 takeaways s=prs.slides.add_slide(blank);set_bg(s,NAVY);text_box(s,.8,.75,10,.4,'Key takeaways',30,WHITE,True);text_box(s,.8,1.3,7,.25,'A functional anatomy framework for understanding skin',14,AQUA) for i,(h,b,c) in enumerate([('1','Skin proper = epidermis + dermis; hypodermis completes the functional unit.',TEAL),('2','Epidermis protects and renews; dermis supports, nourishes, senses, and repairs.',CORAL),('3','Appendages, vessels, nerves, and lymphatics enable specialized functions.',BLUE),('4','Anatomy guides wound assessment, graft/flap design, scar prevention, and reconstruction.',GREEN)]): y=2.0+i*1.03;circle(s,.9,y,.55,h,c);text_box(s,1.75,y+.06,10.2,.35,b,15,WHITE) text_box(s,.9,6.55,10.8,.25,'Successful reconstruction restores coverage and the properties needed at that anatomical site.',13,AQUA,True) add_notes(s,'Close by reiterating that anatomical understanding makes physiological and surgical behavior predictable.') #17 references s=prs.slides.add_slide(blank);set_bg(s);add_title(s,'References and source note','Content synthesized from the user-provided document',17) refs=['Provided document: “ANATOMY AND FUNCTIONS OF SKIN: A Plastic Surgery Perspective.”','Standring S, ed. Gray’s Anatomy: The Anatomical Basis of Clinical Practice. Elsevier.','Chung KC, ed. Grabb and Smith’s Plastic Surgery. Wolters Kluwer.','Neligan PC, ed. Plastic Surgery. Elsevier.','Mescher AL. Junqueira’s Basic Histology: Text and Atlas. McGraw Hill.','Bolognia JL, Schaffer JV, Cerroni L, eds. Dermatology. Elsevier.','Lopez-Ojeda W, Pandey A, et al. Anatomy, Skin (Integument). StatPearls. NCBI Bookshelf.'] add_bullets(s,refs,.9,1.45,11.5,4.6,14,DARK,10) text_box(s,.9,6.15,11.1,.35,'Verify editions, years, chapters, and page numbers against institutional copies before formal academic submission.',11,MID,False) footer(s);add_notes(s,'The deck is an educational summary and retains the reference list supplied in the source document.') # core document properties prs.core_properties.title='Anatomy and Functions of Skin' prs.core_properties.subject='Editable educational presentation based on provided document' prs.core_properties.author='Orris' prs.save(OUT) print(OUT) PY python3 "/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py" && ls -lh "/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx"
python3 - <<'PY' from pptx import Presentation p='/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text.replace('\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i, len(s.shapes), ' | '.join(texts[:3])) print('OK') PY
Anatomy and Functions of Skin
Presentation · PPTX
Add more of the slides as per the document in the ppt provided by you
~/skin-anatomy-presentation/
skin anatomy function
skin anatomy epidermis dermis functions NCBI Bookshelf
~/skin-anatomy-presentation/src/create_skin_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py'
python3 "/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py" && python3 - <<'PY' from pptx import Presentation p='/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx' prs=Presentation(p) print('slides:',len(prs.slides)) for i in range(16,24): slide=prs.slides[i-1] texts=[sh.text.replace('\n',' / ') for sh in slide.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i, 'shapes=',len(slide.shapes), 'title=',texts[0] if texts else '<none>') PY ls -lh "/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx"
Anatomy and Functions of Skin
Presentation · PPTX
Combine these two PowerPoint to make a presentation on Anatomy and function of skin, along with addition of slides mentioning Skin tension lines and their clinical application
~/
skin tension lines incision
skin tension lines clinical applications incision Langer relaxed skin tension lines surgical source
~/attachments/dcce024b-6ef1-47bb-8bc2-a3460c3ff70f/
diagram relaxed skin tension lines Langer lines surgical incision anatomy
python3 - <<'PY' from pptx import Presentation files=['/tmp/workspace/attachments/dcce024b-6ef1-47bb-8bc2-a3460c3ff70f/Anatomy_and_Functions_of_Skin (1).pptx','/tmp/workspace/attachments/dcce024b-6ef1-47bb-8bc2-a3460c3ff70f/Skin anatomy.pptx'] for path in files: p=Presentation(path) print('\nFILE',path,'slides',len(p.slides),'size',p.slide_width,p.slide_height) for i,s in enumerate(p.slides,1): text=' | '.join(sh.text.replace('\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()) print(f'{i:02d}: {text[:500]}') PY
~/skin-anatomy-presentation/src/create_skin_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py'
~/skin-anatomy-presentation/src/create_skin_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py'
python3 "/tmp/workspace/skin-anatomy-presentation/src/create_skin_deck.py" && python3 - <<'PY' from pptx import Presentation p='/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx' prs=Presentation(p) print('slides:',len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text.replace('\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(f'{i:02d} shapes={len(s.shapes):02d} title={texts[0] if texts else "<no text>"}') print('slide size:',prs.slide_width,prs.slide_height) PY ls -lh "/tmp/workspace/skin-anatomy-presentation/output/Anatomy_and_Functions_of_Skin.pptx"
Anatomy and Functions of Skin
Presentation · PPTX