अ, I have to prepare three slides which are, अ, mostly prepare-- mostly based on images, अ, for a seminar on, अ, spinal dysraphisms. अ, I want a description only on, अ, these particular, अ, topics. अ, the topics are, अ... अ, अ, अ, � The, अ, terminal myelosysteal, myelosysteal, then, um, simple dysraphic states that is intradural lipoma, filar lipoma, tight filum terminale, persistent terminal ventricle, dermal sinus and, uh, complex dysraphic states, uh, that is, uh, diastematomelia, caudal agenesis and segmental spinal dysgenesis. I want only the image and two to three line description from the article I am going to attach below. Please prepare it. For to the अरिसिन्य article and prepare it. अरिसिन्य article on spinal dysplasias. Radiology of-- Radiological Society of North America article.
RSNA Radiographics spinal dysraphism radiological review article images
https://www.neurosky.med.br/wp-content/uploads/2022/05/Disra…
Trapp RadioGraphics 2021 spinal dysraphism figures terminal myelocystocele diastematomyelia caudal agenesis site:radiographics.rsna.org
https://pmc.ncbi.nlm.nih.gov/articles/PMC5415887
spinal dysraphism MRI terminal myelocystocele diastematomyelia caudal agenesis open access images PMC figures
mkdir -p /tmp/workspace/spinal-dysraphism-slides && ls /tmp/workspace/
python /tmp/skills/shared/scripts/fetch_images.py \ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5415887/bin/WJRR-8-1-g014.jpg" \ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5415887/bin/WJRR-8-1-g015.jpg" \ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5415887/bin/WJRR-8-1-g016.jpg" \ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5415887/bin/WJRR-8-1-g017.jpg" \ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5415887/bin/WJRR-8-1-g020.jpg" 2>&1 | head -60
~/spinal-dysraphism-slides/build_slides.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import io
# ─── Colour palette ───────────────────────────────────────────────────────────
DARK_BLUE = RGBColor(0x1A, 0x37, 0x5F) # header bar
MID_BLUE = RGBColor(0x1F, 0x6F, 0xA8) # sub-headings
ACCENT = RGBColor(0x2E, 0xA8, 0xD0) # top border line
LIGHT_GRAY = RGBColor(0xF2, 0xF4, 0xF7) # image placeholder bg
DARK_GRAY = RGBColor(0x44, 0x44, 0x44) # body text
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
PLACEHOLDER_BORDER = RGBColor(0xAA, 0xCC, 0xDD)
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank_layout = prs.slide_layouts[6]
# ─── Helper: solid fill for a shape ──────────────────────────────────────────
def solid_fill(shape, rgb):
shape.fill.solid()
shape.fill.fore_color.rgb = rgb
def no_fill(shape):
shape.fill.background()
def no_line(shape):
shape.line.fill.background()
def add_text(slide, text, x, y, w, h, bold=False, size=11,
color=DARK_GRAY, align=PP_ALIGN.LEFT, italic=False, wrap=True):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.margin_left = Pt(2)
tf.margin_right = Pt(2)
tf.margin_top = Pt(2)
tf.margin_bottom = Pt(2)
p = tf.paragraphs[0]
p.alignment = align
r = p.add_run()
r.text = text
r.font.bold = bold
r.font.italic = italic
r.font.size = Pt(size)
r.font.color.rgb = color
r.font.name = "Calibri"
return tb
def add_rect(slide, x, y, w, h, fill_rgb=None, line_rgb=None, line_width=Pt(1)):
shape = slide.shapes.add_shape(
1, # MSO_SHAPE_TYPE.RECTANGLE
Inches(x), Inches(y), Inches(w), Inches(h)
)
if fill_rgb:
solid_fill(shape, fill_rgb)
else:
no_fill(shape)
if line_rgb:
shape.line.color.rgb = line_rgb
shape.line.width = line_width
else:
no_line(shape)
return shape
def image_placeholder(slide, x, y, w, h, label="[Insert Image Here]"):
"""Draw a styled placeholder box for an image."""
box = add_rect(slide, x, y, w, h,
fill_rgb=LIGHT_GRAY, line_rgb=PLACEHOLDER_BORDER, line_width=Pt(1.5))
# Label text centred inside
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = True
tf.vertical_anchor = MSO_ANCHOR.MIDDLE
p = tf.paragraphs[0]
p.alignment = PP_ALIGN.CENTER
r = p.add_run()
r.text = label
r.font.italic = True
r.font.size = Pt(9)
r.font.color.rgb = RGBColor(0x80, 0x80, 0x80)
r.font.name = "Calibri"
def header_bar(slide, title, subtitle=None):
"""Full-width dark header bar at top."""
add_rect(slide, 0, 0, 13.333, 1.1, fill_rgb=DARK_BLUE)
# Accent line
add_rect(slide, 0, 1.05, 13.333, 0.07, fill_rgb=ACCENT)
add_text(slide, title, 0.25, 0.05, 13.0, 0.65,
bold=True, size=22, color=WHITE, align=PP_ALIGN.LEFT)
if subtitle:
add_text(slide, subtitle, 0.25, 0.65, 13.0, 0.38,
bold=False, size=13, color=RGBColor(0xC8, 0xE0, 0xFF),
align=PP_ALIGN.LEFT, italic=True)
def section_label(slide, text, x, y, w=4.0):
"""Small coloured section tag."""
add_rect(slide, x, y, w, 0.30, fill_rgb=MID_BLUE)
add_text(slide, text, x+0.05, y+0.02, w-0.1, 0.26,
bold=True, size=10, color=WHITE, align=PP_ALIGN.LEFT)
def desc_box(slide, text, x, y, w, h):
"""White card with description text."""
add_rect(slide, x, y, w, h, fill_rgb=WHITE,
line_rgb=RGBColor(0xCC, 0xDD, 0xEE), line_width=Pt(0.75))
add_text(slide, text, x+0.07, y+0.05, w-0.14, h-0.1,
bold=False, size=10, color=DARK_GRAY, wrap=True)
# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 1 — Terminal Myelocystocele
# ═══════════════════════════════════════════════════════════════════════════════
s1 = prs.slides.add_slide(blank_layout)
add_rect(s1, 0, 0, 13.333, 7.5, fill_rgb=RGBColor(0xF8, 0xFB, 0xFF))
header_bar(s1,
"Terminal Myelocystocele",
"Closed Spinal Dysraphism with Subcutaneous Mass | Source: Trapp et al., RadioGraphics 2021; 41:559-575")
# --- Main large image placeholder (left)
image_placeholder(s1, 0.3, 1.25, 5.5, 4.0,
"Fig. 10 (Trapp 2021)\nSagittal T2-WI: hydromyelia cavity communicating with subcutaneous CSF sac through a posterior spina bifida\n[Replace with article figure]")
# --- Second image (right top)
image_placeholder(s1, 6.1, 1.25, 3.4, 2.5,
"Fig. 10b (Trapp 2021)\nAxial T2-WI: trumpet-shaped dural defect; cystic sac dorsal to conus\n[Replace with article figure]")
# --- Third image (right bottom)
image_placeholder(s1, 9.7, 1.25, 3.3, 2.5,
"Fig. 10c (Trapp 2021)\nSagittal T1-WI: lipomatous stalk connecting placode to cyst wall\n[Replace with article figure]")
# --- Description panel
section_label(s1, "KEY IMAGING FEATURES", 6.1, 3.90)
desc_box(s1,
"Terminal myelocystocele (TMC) is a closed SD with a subcutaneous mass consisting of a dilated central canal (hydromyelia) within the terminal cord that herniates through a posterior spina bifida and communicates with a skin-covered, CSF-filled dorsal cyst. "
"MRI hallmark: a fluid-filled cystic cavity dorsal to the conus medullaris, connected to a dilated central canal ('trumpet sign' on axial T2), always below L1-L2. "
"Unlike myelocystocele, the connection to the rostral central canal is not preserved; this distinguishes it from persistent terminal ventricle. Often associated with anorectal and urogenital anomalies (OEIS complex).",
6.1, 4.20, 6.9, 2.9)
# Footer
add_text(s1,
"Source: Trapp B et al. A Practical Approach to Diagnosis of Spinal Dysraphism. RadioGraphics 2021; 41:559-575. © RSNA",
0, 7.15, 13.333, 0.35,
size=8, color=RGBColor(0x88, 0x88, 0x88), align=PP_ALIGN.CENTER, italic=True)
# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 2 — Simple Dysraphic States (Without Subcutaneous Mass)
# ═══════════════════════════════════════════════════════════════════════════════
s2 = prs.slides.add_slide(blank_layout)
add_rect(s2, 0, 0, 13.333, 7.5, fill_rgb=RGBColor(0xF8, 0xFB, 0xFF))
header_bar(s2,
"Simple Dysraphic States — Without Subcutaneous Mass",
"Intradural Lipoma | Filar Lipoma | Tight Filum Terminale | Persistent Terminal Ventricle | Dermal Sinus | Source: Trapp et al., RadioGraphics 2021")
# Layout: 3 columns x 2 rows, each entity gets an image placeholder + description
# Entities: Intradural Lipoma, Filar Lipoma, Tight Filum Terminale (row 1)
# Persistent Terminal Ventricle, Dermal Sinus (row 2, spread across)
col_w = 4.1
img_h = 1.95
desc_h = 1.45
row1_img_y = 1.20
row1_desc_y = 3.17
row2_img_y = 4.70
row2_desc_y = 6.67 # below slide — rows 2 entities stacked differently
# ---- Row 1: Intradural Lipoma ---
x1 = 0.25
section_label(s2, "Intradural Lipoma", x1, row1_img_y - 0.28, 3.9)
image_placeholder(s2, x1, row1_img_y, col_w - 0.1, img_h,
"Fig. E1 (Trapp 2021)\nSagittal T1-WI: T1-hyperintense intradural mass anterior to cord; no subcutaneous component\n[Replace with article figure]")
desc_box(s2,
"Intradural lipoma is an intramedullary fat-containing lesion, most often in the cervical/thoracic cord, not connected to the dorsal subcutaneous fat. "
"Appears T1-hyperintense (fat signal) with no associated subcutaneous mass. "
"Distinguished from lipomyelomeningocele by absence of dorsal bony defect or subcutaneous extension.",
x1, row1_desc_y, col_w - 0.1, desc_h)
# ---- Row 1: Filar Lipoma ---
x2 = 4.60
section_label(s2, "Filar (Filum Terminale) Lipoma", x2, row1_img_y - 0.28, 3.9)
image_placeholder(s2, x2, row1_img_y, col_w - 0.1, img_h,
"Fig. E3 (Trapp 2021)\nSagittal T1-WI: focal T1-bright lipomatous lesion within filum terminale, no medullary cone communication\n[Replace with article figure]")
desc_box(s2,
"Filar lipoma is a small lipomatous lesion within the filum terminale, with no communication with the medullary cone. "
"T1-hyperintense on MRI; filum may be thickened (>2 mm = fatty filum terminale if diffuse). "
"Can cause tethered cord syndrome; ~0.2-4% prevalence in adults; 95% asymptomatic.",
x2, row1_desc_y, col_w - 0.1, desc_h)
# ---- Row 1: Tight Filum Terminale ---
x3 = 8.95
section_label(s2, "Tight Filum Terminale", x3, row1_img_y - 0.28, 4.1)
image_placeholder(s2, x3, row1_img_y, 4.1, img_h,
"Fig. E4 (Trapp 2021)\nSagittal T2-WI: low-lying conus (below L2-L3), thick filum (>2 mm); tethered cord pattern\n[Replace with article figure]")
desc_box(s2,
"Tight filum terminale is defined as a filum >2 mm in diameter causing tethering of the spinal cord. "
"MRI shows low-lying conus medullaris (below L2-L3 disc) with a short, thick filum often with T1-bright fatty signal. "
"Clinically manifests as tethered cord syndrome with progressive lower-limb and bladder dysfunction.",
x3, row1_desc_y, 4.1, desc_h)
# ---- Row 2: Persistent Terminal Ventricle (left-center) ---
x4 = 0.25
row2_y = row1_desc_y + desc_h + 0.15
img2_h = 1.55
section_label(s2, "Persistent Terminal Ventricle", x4, row2_y, 4.1)
image_placeholder(s2, x4, row2_y + 0.30, 4.1, img2_h,
"Fig. 13 / Fig. 17 (PMC5415887)\nSagittal T2-WI: small CSF cavity in conus tip; maintains central canal continuity\n[Replace with article figure]")
# ---- Row 2: Dermal Sinus (right-center) ---
x5 = 4.60
section_label(s2, "Dermal Sinus", x5, row2_y, 4.1)
image_placeholder(s2, x5, row2_y + 0.30, 4.1, img2_h,
"Fig. E5 (Trapp 2021)\nSagittal T2-WI: thin hypointense tract from skin dimple traversing epidural fat to dura/cord\n[Replace with article figure]")
# Combined description for rows 2 entities on right panel
desc_box(s2,
"Persistent Terminal Ventricle: Small, ependyma-lined CSF cavity within the conus medullaris that retains continuity with the central canal (distinguishing it from TMC). Usually an incidental MRI finding; no tethering or neurological deficit in most cases.\n\n"
"Dermal Sinus: A narrow epithelium-lined tract extending from a skin dimple (with a tuft of hair) inward to the spinal canal, potentially reaching the dura or cord. Risk of recurrent meningitis and dermoid formation. MRI shows a hypointense tract on T1/T2.",
9.0, row2_y, 4.1, img2_h + 0.30)
# Footer
add_text(s2,
"Source: Trapp B et al. A Practical Approach to Diagnosis of Spinal Dysraphism. RadioGraphics 2021; 41:559-575. © RSNA",
0, 7.15, 13.333, 0.35,
size=8, color=RGBColor(0x88, 0x88, 0x88), align=PP_ALIGN.CENTER, italic=True)
# ═══════════════════════════════════════════════════════════════════════════════
# SLIDE 3 — Complex Dysraphic States
# ═══════════════════════════════════════════════════════════════════════════════
s3 = prs.slides.add_slide(blank_layout)
add_rect(s3, 0, 0, 13.333, 7.5, fill_rgb=RGBColor(0xF8, 0xFB, 0xFF))
header_bar(s3,
"Complex Dysraphic States — Without Subcutaneous Mass",
"Diastematomyelia | Caudal Agenesis | Segmental Spinal Dysgenesis | Source: Trapp et al., RadioGraphics 2021")
# 3 columns, one per entity
c_w = 4.2
img_h3 = 2.6
desc_h3 = 2.55
img_y3 = 1.22
desc_y3 = 3.88
lbl_y3 = img_y3 - 0.30
# ---- Diastematomyelia ----
x_a = 0.20
section_label(s3, "Diastematomyelia", x_a, lbl_y3, c_w - 0.1)
image_placeholder(s3, x_a, img_y3, c_w - 0.1, img_h3,
"Fig. 19 (Trapp 2021)\nAxial T2-WI: two hemicords in separate dural sheaths divided by osseous/fibrocartilaginous spur (Type I); or single dural sac (Type II)\n[Replace with article figure]")
desc_box(s3,
"Diastematomyelia is a split spinal cord malformation (SCM) caused by a sagittal cleft dividing the cord into two hemicords. "
"Type I (SCM-I): two hemicords in separate dural sheaths separated by an osseous or fibrocartilaginous spur - best seen on CT/MRI axial views; always causes tethering. "
"Type II (SCM-II): two hemicords within a single dural sac separated by a fibrous band - less severe, spur absent on CT. "
"MRI axial images are key; low-signal spur on T2; often associated with vertebral segmentation anomalies.",
x_a, desc_y3, c_w - 0.1, desc_h3)
# ---- Caudal Agenesis ----
x_b = 4.55
section_label(s3, "Caudal Agenesis (Caudal Regression Syndrome)", x_b, lbl_y3, 4.5)
image_placeholder(s3, x_b, img_y3, 4.5, img_h3,
"Fig. 20 (Trapp 2021)\nSagittal T2-WI: abrupt termination of spine with blunt ('candle-snuffed') or tapered conus; sacral/lumbar vertebral absence\n[Replace with article figure]")
desc_box(s3,
"Caudal agenesis (caudal regression syndrome) is partial or complete absence of the lumbosacral spine with associated spinal cord truncation. "
"Type I: high termination with blunt ('candle-snuffed') conus medullaris above T12; Type II: low, tapered conus with tethering. "
"MRI findings include sacral/lumbar agenesis, abrupt cord termination, and hips in characteristic 'frog-leg' posture. Strongly associated with maternal diabetes mellitus.",
x_b, desc_y3, 4.5, desc_h3)
# ---- Segmental Spinal Dysgenesis ----
x_c = 9.25
section_label(s3, "Segmental Spinal Dysgenesis", x_c, lbl_y3, 3.9)
image_placeholder(s3, x_c, img_y3, 3.9, img_h3,
"Fig. 21 (Trapp 2021)\nSagittal T2-WI: focal vertebral dysgenesis with hypoplastic/absent vertebrae; cord dysplasia/stenosis at same level; associated kyphosis\n[Replace with article figure]")
desc_box(s3,
"Segmental spinal dysgenesis (SSD) is a rare focal anomaly characterised by dysgenesis/agenesis of a spinal segment with associated cord malformation at that level. "
"MRI shows focal vertebral anomalies (absent or hypoplastic vertebrae), cord dysplasia, narrowing, or interruption at the same level, plus kyphoscoliosis. "
"Unlike caudal agenesis, it is a localised defect affecting a mid-thoracic or lumbar segment, not the caudal spine globally.",
x_c, desc_y3, 3.9, desc_h3)
# Footer
add_text(s3,
"Source: Trapp B et al. A Practical Approach to Diagnosis of Spinal Dysraphism. RadioGraphics 2021; 41:559-575. © RSNA",
0, 7.15, 13.333, 0.35,
size=8, color=RGBColor(0x88, 0x88, 0x88), align=PP_ALIGN.CENTER, italic=True)
# ─── Save ──────────────────────────────────────────────────────────────────────
out = "/tmp/workspace/spinal-dysraphism-slides/Spinal_Dysraphisms_Seminar.pptx"
prs.save(out)
print(f"Saved: {out}")
cd /tmp/workspace/spinal-dysraphism-slides && python build_slides.py 2>&1
python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/spinal-dysraphism-slides/Spinal_Dysraphisms_Seminar.pptx') print(f'Slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [s.text_frame.text.strip()[:80] for s in slide.shapes if hasattr(s,'text_frame') and s.text_frame.text.strip()] print(f'\\n--- Slide {i} ---') for t in texts[:6]: print(' ', repr(t)) "
Spinal Dysraphisms Seminar
Presentation · PPTX