Mri wrist joint anatomy images from textbook

Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
I now have a comprehensive collection of high-quality MRI wrist anatomy images from the textbook. Let me present them all with proper context.

MRI Wrist Joint Anatomy - Textbook Images

All images are from Imaging Anatomy: Text and Atlas, Volume 3 - Bones, Joints, Vessels and Nerves (Chapter 17: Wrist).

1. TFCC - Coronal & Axial MRI (Fig. 17.35)

Triangular Fibrocartilage Complex - Serial coronal and axial MRI
Fig. 17.35 - Triangular fibrocartilage (TFC) serial coronal images (a-e) from dorsal to palmar, and axial MRI (f, g). Key structures labeled:
  • TFC proper (star) attaching to the sigmoid notch of the distal radius
  • Proximal (arrowhead) and distal (thick arrow) laminae attaching at the fovea and ulnar styloid
  • Lunate, Triquetrum, ulnotriquetral ligament (image e)
  • Axial views: ECU tendon, fovea, ulnar styloid (S), dorsal radioulnar ligament (dRUL), volar radioulnar ligament (vRUL), ligamentum subcruentum (LS)
  • Meniscus homologue (MH), ulnar collateral ligament (UCL)

2. TFCC - MRI Coronal Detail (Fig. 17.35a-b)

TFCC MRI coronal views showing sigmoid notch, ECU, fovea, meniscus homologue
Fig. 17.35 (a, b) - Close-up coronal MRI views:
  • (a): Sigmoid notch, ECU tendon, ligamentum subcruentum (LS), ulnar styloid (S), with the proximal lamina (arrowhead) and TFC proper (blue arrow)
  • (b): Meniscus homologue (MH), ulnar collateral ligament (UCL), fovea - showing the precise distal insertion of the TFCC

3. TFCC - Coronal Section Anatomy Diagram (Fig. 17.34)

TFCC coronal anatomy diagram showing articular disk, laminae, ulnar fovea
Fig. 17.34 - Labeled coronal section showing the full TFCC architecture: articular disk, proximal (upper) and distal (lower) laminae, meniscus homologue, ulnar collateral ligament, ECU tendon sheath, prestyloid recess, hyaline cartilage, ulnar fovea, and the ulnar head.

4. Wrist Cross-Section - Tendons, Nerves & Compartments (Fig. 17.50)

Axial cross-section of the wrist showing all 6 extensor compartments, carpal tunnel, and neurovascular structures
Fig. 17.50 - Labeled axial cross-section at the level of the distal radius (R) and ulna (U), showing:
  • 6 extensor compartments (dorsal): EPB/APL (1), ECRL/ECRB (2), EPL (3), Extensors 2-4 (4), EDM (5), ECU (6)
  • Lister's tubercle separating compartments 2 and 3
  • Volar structures: FPL, FCR, Median nerve, FCU, Radial artery, Ulnar artery & nerve
  • Space of Parona (deep palmar space)

5. Wrist MRI - Coronal Overview & ECU Tendinosis (Fig. 17.64)

Coronal and axial MRI of wrist showing ECU tendinosis with labeled structures
Fig. 17.64 - Coronal (a) and axial (b, c) proton density MRI views:
  • (a) Coronal view: All 8 carpal bones clearly visible in their natural arrangement (scaphoid, lunate, triquetrum, pisiform in proximal row; trapezium, trapezoid, capitate, hamate in distal row); radiocarpal joint space well-defined
  • (b, c) Axial views: ECU tendon at the ulnar groove with surrounding signal changes

6. De Quervain's Tenosynovitis - Axial MRI (Fig. 17.63)

Axial fat-saturated MRI showing de Quervain's tenosynovitis of first extensor compartment
Fig. 17.63 - Axial fat-saturated T1W (a) and fat-saturated proton density (b) MRI demonstrating the first extensor compartment (EPB and APL tendons) and tenosynovitis appearance. Note: While this shows pathology, it clearly demonstrates normal axial MRI wrist anatomy including the round tendon cross-sections.

7. Guyon's Canal (Ulnar Tunnel) - Serial Axial MRI (Fig. 17.53a)

Serial axial MRI of ulnar tunnel showing ulnar nerve, artery, and pisohamate hiatus
Fig. 17.53 (a) - Serial axial MRI from proximal to distal through Guyon's canal:
  • Red arrows: Ulnar artery (thick = main; thin short = superficial branch; thin long = deep branch)
  • Blue arrows: Ulnar nerve (thick = main; thin = superficial/motor branches)
  • P = pisiform, H = hook of hamate, Hiatus = pisohamate hiatus
  • PCL (palmar carpal ligament), FCU, FDM (flexor digiti minimi), AbDM (abductor digiti minimi), PB (palmaris brevis), PHL (pisohamate ligament)

8. Guyon's Canal - Serial Coronal MRI (Fig. 17.53b)

Coronal MRI series of Guyon's canal showing ulnar nerve and artery course
Fig. 17.53 (b) - Serial coronal MRI views showing the deep motor branch of the ulnar nerve (blue arrows) and superficial branch, the pisohamate hiatus (Hiatus), AbDM, FDM, PHL structures, with pisiform (P) and hamate (H) landmark bones clearly visible.

Summary of Key MRI Wrist Anatomy Structures

StructureBest MRI PlaneSequence
TFCC / TFC properCoronalPD or T2 fat-sat
Carpal ligaments (SLL, LTL)CoronalPD fat-sat
Extensor compartmentsAxialT1 or PD
Carpal tunnel (median nerve)AxialT1 or PD
Guyon's canal (ulnar nerve/artery)Axial + CoronalT1
Radioulnar ligaments (DRUL/VRUL)AxialPD fat-sat
Carpal bones (osseous anatomy)CoronalT1
Source: Imaging Anatomy Text and Atlas, Vol. 3 - Bones, Joints, Vessels and Nerves, Chapter 17: Wrist (pp. 589-615)

Send pdf of this images

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/wrist-mri-pdf

Writing File

~/wrist-mri-pdf/generate_pdf.py

import requests
import os
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.platypus import SimpleDocTemplate, Image, Paragraph, Spacer, PageBreak, Table, TableStyle
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import HRFlowable
from io import BytesIO
from PIL import Image as PILImage

OUTPUT_DIR = "/home/daytona/workspace/wrist-mri-pdf"
PDF_PATH = os.path.join(OUTPUT_DIR, "MRI_Wrist_Joint_Anatomy.pdf")

# Image data: (url, figure_label, caption)
images_data = [
    (
        "https://cdn.orris.care/cdss_images/6a86bc75f1de7ee4d138bd37c4cf7be5170f5ca41118bb340b41b07050470e4d.png",
        "Fig. 17.35 — Triangular Fibrocartilage Complex (TFCC): Coronal & Axial MRI",
        "Serial coronal images (a–e) from dorsal to palmar, and axial MRI views (f, g) through the TFCC. "
        "The TFC proper (star) attaches on the radial side at the sigmoid notch and on the ulnar side to the fovea and ulnar styloid "
        "via the proximal (arrowhead) and distal (thick arrow) laminae. Structures labeled: Lunate, Triquetrum, Ulnotriquetral ligament, "
        "ECU tendon, Fovea, Ulnar styloid (S), dorsal radioulnar ligament (dRUL), volar radioulnar ligament (vRUL), "
        "ligamentum subcruentum (LS), meniscus homologue (MH), ulnar collateral ligament (UCL)."
    ),
    (
        "https://cdn.orris.care/cdss_images/728fdddb16dba69fd80ff6107ee9866bff0251439ff1095c3e7f9d2b54175535.png",
        "Fig. 17.35 (a, b) — TFCC Coronal MRI Detail",
        "(a) Coronal MRI showing the sigmoid notch, ECU tendon, ligamentum subcruentum (LS), ulnar styloid (S), "
        "TFC proper (blue arrow), and proximal lamina (arrowhead). "
        "(b) More ulnar coronal slice demonstrating the meniscus homologue (MH), ulnar collateral ligament (UCL), "
        "and the foveal attachment of the proximal lamina."
    ),
    (
        "https://cdn.orris.care/cdss_images/74c5c3d44a775cd359b10c7da5df2cf5fd5beadc7195fa5a40d46a6e3c19a6b2.png",
        "Fig. 17.34 — TFCC Coronal Section Anatomy Diagram",
        "Labeled coronal section diagram through the distal radius and ulna showing the complete TFCC architecture: "
        "articular disk, proximal (upper) lamina, distal (lower) lamina, meniscus homologue, joint cavity, hyaline cartilage, "
        "ulnar collateral ligament, ECU tendon sheath, prestyloid recess, fibrovascular tissue, ulnar fovea, and ulnar head."
    ),
    (
        "https://cdn.orris.care/cdss_images/f9856df950e3c9b65b6cc9ad4faf256932834436ab0313a03865b764e707144f.png",
        "Fig. 17.50 — Wrist Axial Cross-Section: All 6 Extensor Compartments & Neurovascular Structures",
        "Labeled axial cross-section at the distal radius (R) and ulna (U) level. "
        "Dorsal (extensor) compartments numbered 1–6: (1) EPB/APL, (2) ECRL/ECRB, (3) EPL, (4) Ext. digitorum/indicis, "
        "(5) EDM, (6) ECU. Lister's tubercle separates compartments 2 and 3. "
        "Volar structures: FPL, FCR, Median nerve, FCU, Radial artery, Ulnar artery & nerve. "
        "Space of Parona (deep to FDP tendons) is also labeled."
    ),
    (
        "https://cdn.orris.care/cdss_images/fdfe1233d2c5c0164f0cf96768a1fb412cb5eaf23203321f0ec12d123710a30a.png",
        "Fig. 17.64 — Wrist Coronal MRI Overview & Axial ECU Tendon Views",
        "(a) Coronal proton density MRI showing all 8 carpal bones in their natural arrangement: "
        "proximal row (scaphoid, lunate, triquetrum, pisiform) and distal row (trapezium, trapezoid, capitate, hamate). "
        "The radiocarpal and midcarpal joint spaces are clearly defined. "
        "(b, c) Axial PD and fat-saturated PD images at the level of the ECU tendon in its groove."
    ),
    (
        "https://cdn.orris.care/cdss_images/de79b00a0f68ae1cfe8bc0ceb38f60ecdd13279b5aa1d4bf8ffdaffea91562ea.png",
        "Fig. 17.63 — Axial MRI: First Extensor Compartment (de Quervain's Region)",
        "Axial fat-saturated T1W (a) and fat-saturated proton density (b) MRI at the level of the first extensor compartment "
        "(EPB — extensor pollicis brevis; APL — abductor pollicis longus). "
        "These images demonstrate the normal cross-sectional appearance of wrist tendons and their sheaths, "
        "with green arrows indicating the first compartment tendons and orange arrow indicating EPL sheath."
    ),
    (
        "https://cdn.orris.care/cdss_images/b68c6069612407d66eea841f6bacf764578226eb4e0249ec7624786ae094973f.png",
        "Fig. 17.53 (a) — Guyon's Canal (Ulnar Tunnel): Serial Axial MRI",
        "Serial axial MRI images from proximal to distal through Guyon's canal. "
        "Red arrows: ulnar artery (thick = main trunk; short thin = superficial branch; long thin = deep branch). "
        "Blue arrows: ulnar nerve (thick = main; short thin = superficial/sensory branch; long thin = deep/motor branch). "
        "Key landmarks: P = pisiform, H = hook of hamate, Hiatus = pisohamate hiatus, "
        "PCL = palmar carpal ligament, FCU, FDM, AbDM, PB (palmaris brevis), PHL (pisohamate ligament)."
    ),
    (
        "https://cdn.orris.care/cdss_images/63e3c56e7ad03e0abe54c88d451ac7db7e401c6b489742db9745464ca64e4aeb.png",
        "Fig. 17.53 (b) — Guyon's Canal: Serial Coronal MRI",
        "Serial coronal MRI views (palmar to dorsal) through Guyon's canal demonstrating "
        "the course of the ulnar nerve (blue arrows — superficial and deep motor branches) "
        "and ulnar artery (red arrows) through the tunnel. "
        "Landmarks: P = pisiform, H = hook of hamate, Hiatus = pisohamate hiatus, "
        "AbDM, FDM, PHL (pisohamate ligament)."
    ),
]

def download_image(url):
    resp = requests.get(url, timeout=30)
    resp.raise_for_status()
    return BytesIO(resp.content)

def get_image_dimensions(img_bytes):
    img_bytes.seek(0)
    pil_img = PILImage.open(img_bytes)
    w, h = pil_img.size
    img_bytes.seek(0)
    return w, h

def build_pdf():
    doc = SimpleDocTemplate(
        PDF_PATH,
        pagesize=A4,
        leftMargin=1.5*cm,
        rightMargin=1.5*cm,
        topMargin=1.5*cm,
        bottomMargin=1.5*cm,
    )

    PAGE_W = A4[0] - 3*cm
    PAGE_H = A4[1] - 3*cm
    MAX_IMG_W = PAGE_W
    MAX_IMG_H = PAGE_H * 0.68

    styles = getSampleStyleSheet()

    title_style = ParagraphStyle(
        'TitleStyle',
        parent=styles['Title'],
        fontSize=20,
        textColor=colors.HexColor('#1a3a5c'),
        spaceAfter=4,
        spaceBefore=0,
        leading=24,
        alignment=TA_CENTER,
    )
    subtitle_style = ParagraphStyle(
        'SubtitleStyle',
        parent=styles['Normal'],
        fontSize=11,
        textColor=colors.HexColor('#2e6da4'),
        spaceAfter=2,
        alignment=TA_CENTER,
        leading=14,
    )
    source_style = ParagraphStyle(
        'SourceStyle',
        parent=styles['Normal'],
        fontSize=9,
        textColor=colors.HexColor('#555555'),
        spaceAfter=0,
        alignment=TA_CENTER,
        leading=12,
    )
    fig_label_style = ParagraphStyle(
        'FigLabel',
        parent=styles['Normal'],
        fontSize=10,
        textColor=colors.HexColor('#1a3a5c'),
        spaceAfter=3,
        spaceBefore=8,
        leading=13,
        fontName='Helvetica-Bold',
        alignment=TA_LEFT,
    )
    caption_style = ParagraphStyle(
        'CaptionStyle',
        parent=styles['Normal'],
        fontSize=8.5,
        textColor=colors.HexColor('#333333'),
        spaceAfter=6,
        spaceBefore=0,
        leading=12,
        alignment=TA_JUSTIFY,
    )
    toc_title_style = ParagraphStyle(
        'TOCTitle',
        parent=styles['Normal'],
        fontSize=13,
        textColor=colors.HexColor('#1a3a5c'),
        spaceAfter=10,
        spaceBefore=4,
        fontName='Helvetica-Bold',
        alignment=TA_CENTER,
    )
    toc_item_style = ParagraphStyle(
        'TOCItem',
        parent=styles['Normal'],
        fontSize=9,
        textColor=colors.HexColor('#222222'),
        spaceAfter=5,
        leading=13,
        leftIndent=10,
    )
    table_header_style = ParagraphStyle(
        'TableHeader',
        parent=styles['Normal'],
        fontSize=9,
        textColor=colors.white,
        fontName='Helvetica-Bold',
        alignment=TA_CENTER,
    )
    table_cell_style = ParagraphStyle(
        'TableCell',
        parent=styles['Normal'],
        fontSize=8.5,
        textColor=colors.HexColor('#222222'),
        alignment=TA_CENTER,
        leading=11,
    )

    story = []

    # ── COVER PAGE ──────────────────────────────────────────────────────────────
    story.append(Spacer(1, 2*cm))
    story.append(Paragraph("MRI Wrist Joint Anatomy", title_style))
    story.append(Spacer(1, 0.3*cm))
    story.append(HRFlowable(width="80%", thickness=2, color=colors.HexColor('#2e6da4'), spaceAfter=8, spaceBefore=4))
    story.append(Paragraph("Textbook Image Atlas", subtitle_style))
    story.append(Spacer(1, 0.2*cm))
    story.append(Paragraph(
        "Source: Imaging Anatomy Text and Atlas, Vol. 3<br/>"
        "Bones, Joints, Vessels and Nerves — Chapter 17: Wrist (pp. 589–615)",
        source_style
    ))
    story.append(Spacer(1, 0.6*cm))

    # Summary table
    toc_items = [
        ["Fig.", "Topic", "Plane / Sequence"],
        ["17.35", "TFCC — Coronal & Axial MRI", "Coronal + Axial / PD"],
        ["17.35 a,b", "TFCC Coronal Detail", "Coronal / PD"],
        ["17.34", "TFCC Anatomy Diagram", "Coronal Section"],
        ["17.50", "All 6 Extensor Compartments\n& Neurovascular Structures", "Axial Cross-Section"],
        ["17.64", "Carpal Bones Overview\n& ECU Tendon", "Coronal + Axial / PD"],
        ["17.63", "First Extensor Compartment", "Axial / T1W + PDFS"],
        ["17.53 a", "Guyon's Canal (Ulnar Tunnel)\nSerial Axial MRI", "Axial / T1"],
        ["17.53 b", "Guyon's Canal\nSerial Coronal MRI", "Coronal / T1"],
    ]

    col_widths = [2.2*cm, 9*cm, 5.5*cm]
    table_data = []
    for i, row in enumerate(toc_items):
        if i == 0:
            table_data.append([Paragraph(cell, table_header_style) for cell in row])
        else:
            table_data.append([Paragraph(cell, table_cell_style) for cell in row])

    tbl = Table(table_data, colWidths=col_widths, repeatRows=1)
    tbl.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a3a5c')),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#eaf3fb'), colors.white]),
        ('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#b0c8e0')),
        ('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
        ('TOPPADDING', (0,0), (-1,-1), 5),
        ('BOTTOMPADDING', (0,0), (-1,-1), 5),
        ('LEFTPADDING', (0,0), (-1,-1), 6),
        ('RIGHTPADDING', (0,0), (-1,-1), 6),
    ]))
    story.append(Paragraph("Contents", toc_title_style))
    story.append(tbl)
    story.append(PageBreak())

    # ── IMAGE PAGES ─────────────────────────────────────────────────────────────
    for idx, (url, label, caption) in enumerate(images_data):
        print(f"Downloading image {idx+1}/{len(images_data)}: {label[:60]}...")
        try:
            img_bytes = download_image(url)
            orig_w, orig_h = get_image_dimensions(img_bytes)

            # Scale to fit
            scale = min(MAX_IMG_W / orig_w, MAX_IMG_H / orig_h)
            disp_w = orig_w * scale
            disp_h = orig_h * scale

            img_bytes.seek(0)
            rl_img = Image(img_bytes, width=disp_w, height=disp_h)
            rl_img.hAlign = 'CENTER'

            story.append(rl_img)
            story.append(Paragraph(label, fig_label_style))
            story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#b0c8e0'), spaceAfter=4, spaceBefore=0))
            story.append(Paragraph(caption, caption_style))
        except Exception as e:
            story.append(Paragraph(f"[Image could not be loaded: {e}]", caption_style))

        if idx < len(images_data) - 1:
            story.append(PageBreak())

    # ── ANATOMY SUMMARY TABLE PAGE ───────────────────────────────────────────────
    story.append(PageBreak())
    story.append(Spacer(1, 0.5*cm))
    story.append(Paragraph("MRI Wrist Anatomy — Quick Reference", toc_title_style))
    story.append(Spacer(1, 0.3*cm))

    summary_data = [
        ["Structure", "Best MRI Plane", "Recommended Sequence"],
        ["TFCC / TFC proper", "Coronal", "PD or T2 fat-sat"],
        ["Carpal ligaments (SLL, LTL)", "Coronal", "PD fat-sat"],
        ["Extensor compartments (1–6)", "Axial", "T1 or PD"],
        ["Carpal tunnel (median nerve)", "Axial", "T1 or PD"],
        ["Guyon's canal (ulnar n./a.)", "Axial + Coronal", "T1"],
        ["Radioulnar ligaments (DRUL/VRUL)", "Axial", "PD fat-sat"],
        ["Carpal bones (osseous anatomy)", "Coronal", "T1"],
        ["Tendons & tendon sheaths", "Axial + Coronal", "PD / PDFS / T2FS"],
        ["Articular cartilage", "Coronal", "PD fat-sat"],
    ]

    s_col_widths = [6.5*cm, 5*cm, 5.5*cm]
    s_table_data = []
    for i, row in enumerate(summary_data):
        if i == 0:
            s_table_data.append([Paragraph(cell, table_header_style) for cell in row])
        else:
            s_table_data.append([Paragraph(cell, table_cell_style) for cell in row])

    s_tbl = Table(s_table_data, colWidths=s_col_widths, repeatRows=1)
    s_tbl.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a3a5c')),
        ('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#eaf3fb'), colors.white]),
        ('GRID', (0,0), (-1,-1), 0.5, colors.HexColor('#b0c8e0')),
        ('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
        ('TOPPADDING', (0,0), (-1,-1), 6),
        ('BOTTOMPADDING', (0,0), (-1,-1), 6),
        ('LEFTPADDING', (0,0), (-1,-1), 8),
        ('RIGHTPADDING', (0,0), (-1,-1), 8),
    ]))
    story.append(s_tbl)
    story.append(Spacer(1, 0.8*cm))
    story.append(HRFlowable(width="80%", thickness=1, color=colors.HexColor('#2e6da4'), spaceAfter=6))
    story.append(Paragraph(
        "Source: Imaging Anatomy Text and Atlas, Volume 3 — Bones, Joints, Vessels and Nerves<br/>"
        "Chapter 17: Wrist | Authors: Jason D. Lather, Farhood Saremi, Dakshesh B. Patel | Pages 589–615",
        source_style
    ))

    doc.build(story)
    print(f"\nPDF saved to: {PDF_PATH}")

build_pdf()
Running Command

cd /home/daytona/workspace/wrist-mri-pdf && python generate_pdf.py

Your PDF is ready! Here's the download link:

MRI Wrist Joint Anatomy

PDF Document · PDF

What's inside (10 pages):
  • Cover page with a contents table listing all 8 figures
  • 8 image pages, each with the full-resolution MRI image + figure label + detailed anatomical caption covering:
    • TFCC coronal & axial MRI (Fig. 17.35)
    • TFCC coronal detail close-ups
    • TFCC anatomy diagram (Fig. 17.34)
    • Wrist axial cross-section showing all 6 extensor compartments (Fig. 17.50)
    • Carpal bones coronal overview & ECU tendon (Fig. 17.64)
    • First extensor compartment axial MRI (Fig. 17.63)
    • Guyon's canal serial axial MRI (Fig. 17.53a)
    • Guyon's canal serial coronal MRI (Fig. 17.53b)
  • Quick Reference table - optimal MRI plane and sequence for each wrist structure
Source: Imaging Anatomy Text and Atlas, Vol. 3, Chapter 17: Wrist (pp. 589–615)
This is a shared conversation. Sign in to Orris to start your own chat.