I have a seminar on descending tract so how I explain this
"Good morning everyone. I am [Your Name], from [Batch/Roll No.]. Today I will be presenting on Descending Tracts - the motor pathways that carry voluntary and involuntary commands from the brain down to the spinal cord to control our muscles."
| System | Tracts | Function |
|---|---|---|
| Pyramidal (Lateral Motor System) | Corticospinal, Corticobulbar | Voluntary, fine, discrete movements |
| Extrapyramidal (Medial Motor System) | Rubrospinal, Reticulospinal, Vestibulospinal, Tectospinal | Posture, tone, balance, gross movements |



| Tract | Origin | Location in cord | Effect |
|---|---|---|---|
| Pontine reticulospinal | Pontine reticular nuclei | Anterior column | Excitatory - stimulates antigravity muscles |
| Medullary reticulospinal | Medullary reticular nuclei | Lateral column | Inhibitory - relaxes antigravity muscles |
| Feature | Lateral (Pyramidal + Rubrospinal) | Medial (Reticulospinal + Vestibulospinal) |
|---|---|---|
| Location in cord | Lateral funiculus | Anterior/medial funiculus |
| Muscles controlled | Distal limb muscles | Axial, proximal, antigravity |
| Movement type | Fine, skilled, discrete | Gross, postural, balance |
| Decussation | Lower medulla (pyramidal) | Variable |
"To summarize - descending tracts are the efferent motor highways of the CNS. The corticospinal tract is the primary pathway for voluntary fine movements, decussating at the medullary pyramids. The rubrospinal tract serves as an accessory lateral pathway. The reticulospinal and vestibulospinal tracts form the medial motor system controlling posture and tone. Lesions in these pathways produce characteristic UMN signs seen in clinical practice. Thank you."
What I exactly explain in time
"Good morning everyone. I am [Your Name], from [your batch]. Today my topic is Descending Tracts â the pathways that carry motor commands from the brain down to the spinal cord to control our muscles."
"These tracts are divided into two major systems â the Pyramidal system and the Extrapyramidal system."
"Descending tracts are classified as:
- Pyramidal tracts â Corticospinal and Corticobulbar
- Extrapyramidal tracts â Rubrospinal, Reticulospinal, Vestibulospinal, and Tectospinal"
"The pyramidal tracts control fine voluntary movements, while extrapyramidal tracts control posture, tone, and balance."
"The most important descending tract is the Corticospinal tract, also called the Pyramidal tract."
"It originates from three areas â 30% from primary motor cortex Area 4, 30% from premotor and supplementary motor areas, and 40% from somatosensory areas posterior to the central sulcus."
"The fibers travel downward through the posterior limb of the internal capsule, then through the basis pedunculi of the midbrain, then through the longitudinal fascicles of the pons, and then form the pyramids of the medulla â which is why this tract is called the pyramidal tract."
"At the lower end of the medulla, about 85 to 90% of fibers cross to the opposite side â this is called the pyramidal decussation or decussation of pyramids. These crossed fibers form the lateral corticospinal tract in the lateral funiculus of the spinal cord."
"The remaining 10 to 15% fibers do not cross and descend as the ventral corticospinal tract in the anterior funiculus."
"Most fibers terminate on interneurons in the intermediate zone of the cord gray matter. Very few terminate directly on anterior motor neurons."
"The most important fibers in this tract originate from Betz cells â giant pyramidal cells found only in the primary motor cortex. They are 60 micrometers in diameter, conduct at 70 meters per second â the fastest signals from brain to spinal cord â and there are about 34,000 such fibers in each tract."
"The corticospinal tract is responsible for voluntary, fine, skilled movements â especially of the hands and fingers."
"The Rubrospinal tract originates from the red nucleus in the midbrain. It crosses in the midbrain and travels in the lateral funiculus â just next to the corticospinal tract. Together, these two form the Lateral Motor System. It controls relatively discrete limb movements."
"Next are the Reticulospinal tracts â there are two of them." "The Pontine reticulospinal tract is excitatory â it stimulates antigravity muscles." "The Medullary reticulospinal tract is inhibitory â it relaxes the same muscles." "Together they control posture and muscle tone. They form part of the Medial Motor System."
"The Vestibulospinal tract originates from the vestibular nuclei. It has two parts â lateral and medial. It maintains upright posture and balance by exciting extensor muscles."
"Finally, the Tectospinal tract arises from the superior colliculus and controls reflex turning of the head and eyes toward visual or auditory stimuli."
"Clinically, damage to these tracts produces Upper Motor Neuron lesions â seen in conditions like stroke." "Features include: contralateral spastic paralysis, hyperreflexia, and a positive Babinski sign."
"We also see characteristic postures:" "Decorticate posture â lesion above the red nucleus â arms are flexed, legs extended â because the rubrospinal tract is still working." "Decerebrate posture â lesion below the red nucleus â all four limbs extended â only vestibulospinal and reticulospinal tracts are active."
"To summarize â" "Descending tracts are motor pathways carrying commands from brain to spinal cord." "The Corticospinal tract is the most important â it decussates at the medullary pyramids and controls fine voluntary movements." "The Rubrospinal tract is an accessory lateral pathway." "The Reticulospinal and Vestibulospinal tracts form the medial system controlling posture and tone." "Lesions cause UMN signs â spasticity, hyperreflexia, Babinski positive." "Thank you."
| What to remember | Value |
|---|---|
| Corticospinal origin | 30 + 30 + 40 rule |
| Fibers that cross | 85-90% at lower medulla |
| Betz cell size | 60 Ξm |
| Betz fiber diameter | 16 Ξm |
| Conduction velocity | 70 m/sec |
| Lateral motor system | Corticospinal + Rubrospinal |
| Medial motor system | Reticulospinal + Vestibulospinal |
| Decorticate | Lesion ABOVE red nucleus |
| Decerebrate | Lesion BELOW red nucleus |
How I write on board
|_______________|___________________|_______________|
| LEFT SIDE | CENTRE (main) | RIGHT SIDE |
| Classification| Corticospinal | Other tracts|
|_______________|___________________|_______________|
DESCENDING TRACTS
âââââââââââââââââ
CLASSIFICATION
ââââââââââââââ
1. PYRAMIDAL
âĒ Corticospinal
âĒ Corticobulbar
2. EXTRAPYRAMIDAL
âĒ Rubrospinal
âĒ Reticulospinal
âĒ Vestibulospinal
âĒ Tectospinal
CORTICOSPINAL TRACT
ââââââââââââââââââââ
Motor Cortex (Area 4, 6, somatosensory)
â
Posterior limb of Internal Capsule
â
Basis Pedunculi (Midbrain)
â
Longitudinal fascicles (Pons)
â
Pyramids of Medulla
â
Pyramidal Decussation (lower medulla)
â â
85-90% 10-15%
(crosses) (uncrossed)
â â
Lateral CST Ventral CST
(Lat. funiculus) (Ant. funiculus)
â
Interneurons / Anterior motor neurons
âââââââââââââââââââââââââââââââ
â BETZ CELLS â
â Size = 60 Ξm â
â Fiber dia = 16 Ξm â
â Velocity = 70 m/sec â
â Number = 34,000/tract â
âââââââââââââââââââââââââââââââ
OTHER TRACTS
âââââââââââââââââââââââââââââââââââââ
Tract Origin Function
âââââââââââââââââââââââââââââââââââââ
Rubrospinal Red nucleus Fine limb mvmt
(midbrain) Lateral system
Pontine Pontine EXCITATORY
Reticulospinal reticular (antigravity)
nuclei
Medullary Medullary INHIBITORY
Reticulospinal reticular (antigravity)
nuclei
Vestibulospinal Vestibular Posture/Balance
nuclei
Tectospinal Sup. Head-eye reflex
colliculus
âââââââââââââââââââââââââââââââââââââ
CLINICAL
âââââââââââââââââââââââââââââ
UMN lesion â Spastic paralysis
â Hyperreflexia
â Babinski +ve
Decorticate â Lesion ABOVE red nucleus
Arms flexed, legs extended
Decerebrate â Lesion BELOW red nucleus
All 4 limbs extended
| Step | What you write | When |
|---|---|---|
| Step 1 | Heading | Very beginning |
| Step 2 | Classification | While saying intro |
| Step 3 | CST flow chart | While explaining CST course |
| Step 4 | Betz cell box | While saying Betz cell facts |
| Step 5 | Other tracts table | While explaining extrapyramidal |
| Step 6 | Clinical | While explaining clinical |
Create a PDF handout/notes I can print and study
mkdir -p /home/daytona/workspace/descending-tracts && ls /home/daytona/workspaceâĶ
~/descending-tracts/create_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, KeepTogether)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import Flowable
import reportlab.lib.colors as rcolors
# ââ colour palette ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
DARK_BLUE = colors.HexColor('#1a3a5c')
MED_BLUE = colors.HexColor('#2e6da4')
LIGHT_BLUE = colors.HexColor('#d6e8f7')
ACCENT = colors.HexColor('#e8523a')
YELLOW_HL = colors.HexColor('#fff8cc')
GREEN = colors.HexColor('#2d7a3a')
LIGHT_GREEN = colors.HexColor('#d4edda')
GRAY_BG = colors.HexColor('#f5f5f5')
BORDER_GRAY = colors.HexColor('#cccccc')
WHITE = colors.white
doc = SimpleDocTemplate(
'/home/daytona/workspace/descending-tracts/Descending_Tracts_Handout.pdf',
pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=1.5*cm, bottomMargin=1.5*cm
)
styles = getSampleStyleSheet()
# ââ custom paragraph styles âââââââââââââââââââââââââââââââââââââââââââââââââ
def S(name, **kw):
return ParagraphStyle(name, **kw)
title_style = S('Title2', fontSize=20, textColor=WHITE,
alignment=TA_CENTER, fontName='Helvetica-Bold',
spaceAfter=4, leading=24)
subtitle_style = S('Subtitle2', fontSize=10, textColor=LIGHT_BLUE,
alignment=TA_CENTER, fontName='Helvetica',
spaceAfter=2)
section_style = S('Section', fontSize=12, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_LEFT,
spaceAfter=2, leading=16)
sub_section_style = S('SubSection', fontSize=10, textColor=DARK_BLUE,
fontName='Helvetica-Bold', spaceBefore=6, spaceAfter=3)
body_style = S('Body2', fontSize=9, textColor=colors.black,
fontName='Helvetica', leading=13, spaceAfter=3,
alignment=TA_JUSTIFY)
bullet_style = S('Bullet2', fontSize=9, textColor=colors.black,
fontName='Helvetica', leading=13, spaceAfter=2,
leftIndent=14, bulletIndent=4)
bold_body = S('BoldBody', fontSize=9, textColor=DARK_BLUE,
fontName='Helvetica-Bold', leading=13, spaceAfter=2)
clinical_style = S('Clinical', fontSize=9, textColor=colors.HexColor('#7b1f1f'),
fontName='Helvetica-BoldOblique', leading=13, spaceAfter=2,
leftIndent=10)
tip_style = S('Tip', fontSize=8.5, textColor=GREEN,
fontName='Helvetica-Bold', leading=12, spaceAfter=2)
footer_style = S('Footer', fontSize=7.5, textColor=colors.gray,
alignment=TA_CENTER, fontName='Helvetica-Oblique')
# ââ helper: coloured banner âââââââââââââââââââââââââââââââââââââââââââââââââ
def banner(text, bg=DARK_BLUE, style=section_style, pad=6):
return Table(
[[Paragraph(text, style)]],
colWidths=[17.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('TOPPADDING', (0,0), (-1,-1), pad),
('BOTTOMPADDING', (0,0), (-1,-1), pad),
('LEFTPADDING', (0,0), (-1,-1), 10),
('ROUNDEDCORNERS', [4]),
])
)
def sub_banner(text):
return banner(text, bg=MED_BLUE, pad=4)
# ââ helper: info box ââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
def info_box(rows, bg=LIGHT_BLUE, border=MED_BLUE):
data = [[Paragraph(r, body_style)] for r in rows]
return Table(data, colWidths=[17.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 0.8, border),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 10),
]))
# ââ helper: two-col table âââââââââââââââââââââââââââââââââââââââââââââââââââ
def two_col_table(headers, rows, col_widths=None):
if col_widths is None:
col_widths = [5*cm, 12.4*cm]
head_row = [Paragraph(h, S('th', fontName='Helvetica-Bold', fontSize=9,
textColor=WHITE)) for h in headers]
data = [head_row] + [
[Paragraph(str(c), body_style) for c in row] for row in rows
]
ts = TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('BACKGROUND', (0,1), (-1,-1), GRAY_BG),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GRAY_BG]),
('BOX', (0,0), (-1,-1), 0.5, BORDER_GRAY),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
])
return Table(data, colWidths=col_widths,
style=ts, hAlign='LEFT')
# ââ helper: multi-col table âââââââââââââââââââââââââââââââââââââââââââââââââ
def multi_col_table(headers, rows, col_widths):
head_row = [Paragraph(h, S('th2', fontName='Helvetica-Bold', fontSize=8.5,
textColor=WHITE)) for h in headers]
data = [head_row] + [
[Paragraph(str(c), S('td', fontSize=8.5, fontName='Helvetica',
leading=12)) for c in row]
for row in rows
]
ts = TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GRAY_BG]),
('BOX', (0,0), (-1,-1), 0.5, BORDER_GRAY),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
('VALIGN', (0,0), (-1,-1), 'TOP'),
])
return Table(data, colWidths=col_widths, style=ts, hAlign='LEFT')
# ââ helper: highlight box (yellow) âââââââââââââââââââââââââââââââââââââââââ
def highlight_box(text, bg=YELLOW_HL, border=colors.HexColor('#e6c800')):
return Table([[Paragraph(text, S('hl', fontSize=9, fontName='Helvetica-Bold',
textColor=DARK_BLUE, leading=13))]],
colWidths=[17.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 1, border),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 10),
]))
# ââ helper: clinical red box ââââââââââââââââââââââââââââââââââââââââââââââââ
def red_box(rows):
data = [[Paragraph(r, S('rb', fontSize=9, fontName='Helvetica',
textColor=colors.HexColor('#5c0000'), leading=13))]
for r in rows]
return Table(data, colWidths=[17.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#fdecea')),
('BOX', (0,0), (-1,-1), 1, ACCENT),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 10),
]))
def sp(n=4): return Spacer(1, n)
# ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
# BUILD DOCUMENT
# ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
story = []
# ââ TITLE BANNER ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
title_tbl = Table(
[[Paragraph('DESCENDING TRACTS', title_style)],
[Paragraph('Physiology Seminar Handout | Department of Physiology | SAMC & PGI, Indore', subtitle_style)]],
colWidths=[17.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), DARK_BLUE),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
('LEFTPADDING', (0,0), (-1,-1), 14),
('ROUNDEDCORNERS', [6]),
])
)
story += [title_tbl, sp(8)]
# ââ SECTION 1: INTRODUCTION ââââââââââââââââââââââââââââââââââââââââââââââââââ
story += [banner('1. INTRODUCTION'), sp(4)]
story.append(Paragraph(
'Descending tracts are bundles of nerve fibres that carry motor commands '
'<b>from higher centres (brain)</b> downward to the <b>spinal cord</b> to '
'control skeletal muscles. They are responsible for <b>voluntary movement, '
'posture, muscle tone, and balance</b>.',
body_style))
story += [sp(4)]
story.append(highlight_box(
'â KEY CONCEPT: Every voluntary movement you perform â writing, walking, '
'speaking â is initiated and controlled by these descending motor tracts.'))
story += [sp(8)]
# ââ SECTION 2: CLASSIFICATION ââââââââââââââââââââââââââââââââââââââââââââââââ
story += [banner('2. CLASSIFICATION OF DESCENDING TRACTS'), sp(4)]
class_data = [
['PYRAMIDAL SYSTEM', 'EXTRAPYRAMIDAL SYSTEM'],
['âĒ Corticospinal tract\n (Lateral + Ventral)\nâĒ Corticobulbar tract',
'âĒ Rubrospinal tract\nâĒ Reticulospinal tract\n (Pontine + Medullary)\n'
'âĒ Vestibulospinal tract\n (Lateral + Medial)\nâĒ Tectospinal tract'],
['Fine, voluntary, discrete movements\n(especially hands & fingers)',
'Posture, muscle tone, balance,\ngross/axial movements'],
]
ct = Table(class_data, colWidths=[8.7*cm, 8.7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), MED_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('BACKGROUND', (0,1), (0,1), LIGHT_BLUE),
('BACKGROUND', (1,1), (1,1), colors.HexColor('#e8f4e8')),
('BACKGROUND', (0,2), (0,2), colors.HexColor('#cce0f5')),
('BACKGROUND', (1,2), (1,2), colors.HexColor('#d4edda')),
('BOX', (0,0), (-1,-1), 0.8, MED_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 8),
('ALIGN', (0,0), (-1,0), 'CENTER'),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [ct, sp(8)]
# ââ SECTION 3: CORTICOSPINAL TRACT âââââââââââââââââââââââââââââââââââââââââââ
story += [banner('3. CORTICOSPINAL (PYRAMIDAL) TRACT'), sp(4)]
story += [sub_banner(' 3a. Origin'), sp(3)]
origin_rows = [
['30%', 'Primary Motor Cortex â Area 4 (precentral gyrus)'],
['30%', 'Premotor cortex (Area 6) & Supplementary Motor Area (SMA)'],
['40%', 'Somatosensory areas â posterior to central sulcus (Areas 1, 2, 3)'],
]
story += [two_col_table(['%', 'Cortical Area of Origin'], origin_rows,
col_widths=[2*cm, 15.4*cm]), sp(6)]
story += [sub_banner(' 3b. Course (follow the pathway top â bottom)'), sp(3)]
course_text = [
'<b>1. Motor Cortex</b> â fibres collect and converge',
'<b>2. Posterior limb of Internal Capsule</b> â between caudate nucleus and putamen',
'<b>3. Basis Pedunculi (Crus Cerebri)</b> â midbrain',
'<b>4. Longitudinal fascicles of Pons</b> â fibres dispersed then regroup',
'<b>5. Pyramids of Medulla Oblongata</b> â visible ventral bulge (gives the tract its name!)',
'<b>6. Pyramidal Decussation</b> â lower medulla: 85â90% of fibres cross to the opposite side',
'<b>7a. Lateral Corticospinal Tract</b> â crossed fibres â lateral funiculus of spinal cord',
'<b>7b. Ventral (Anterior) Corticospinal Tract</b> â uncrossed fibres (10â15%) â anterior funiculus',
]
for c in course_text:
story.append(Paragraph('âķ ' + c, bullet_style))
story += [sp(4)]
story += [highlight_box(
'ð PYRAMIDAL DECUSSATION: 85â90% fibres cross at the lower medulla â '
'form Lateral CST (contralateral). 10â15% remain uncrossed â form Ventral CST (ipsilateral, '
'but most eventually cross in the cervical/upper thoracic cord).'), sp(6)]
story += [sub_banner(' 3c. Termination'), sp(3)]
story.append(Paragraph(
'âĒ Majority terminate on <b>interneurons</b> in the intermediate zone of cord gray matter<br/>'
'âĒ Some terminate on <b>sensory relay neurons</b> in the dorsal horn<br/>'
'âĒ Very few terminate <b>directly on anterior motor neurons</b> (monosynaptic â most important for fine finger control)',
body_style))
story += [sp(6)]
story += [sub_banner(' 3d. Betz Cells â Key Facts'), sp(3)]
betz_data = [
['Parameter', 'Value'],
['Cell body diameter', '60 micrometres (Ξm) â among the largest neurons in CNS'],
['Axon (fibre) diameter', '16 Ξm (large myelinated)'],
['Conduction velocity', '70 m/sec â fastest from brain to spinal cord'],
['Number per tract', '~34,000 Betz cell fibres'],
['Total fibres per CST', '>1,000,000'],
['Betz cells as % of total', 'Only 3%'],
['Location', 'ONLY in primary motor cortex (Area 4) â Layer V'],
]
bt = Table(betz_data, colWidths=[6*cm, 11.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e8523a')),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('ROWBACKGROUNDS',(0,1), (-1,-1), [YELLOW_HL, WHITE]),
('BOX', (0,0), (-1,-1), 0.8, ACCENT),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [bt, sp(6)]
story += [sub_banner(' 3e. Function'), sp(3)]
story.append(Paragraph(
'Voluntary, fine, skilled, discrete movements â especially of the <b>distal muscles '
'(hands and fingers)</b>. The corticospinal system is the primary pathway for executing '
'precise motor commands.',
body_style))
story += [sp(8)]
# ââ SECTION 4: OTHER TRACTS ââââââââââââââââââââââââââââââââââââââââââââââââââ
story += [banner('4. EXTRAPYRAMIDAL TRACTS'), sp(4)]
# 4a Rubrospinal
story += [sub_banner(' 4a. Rubrospinal Tract'), sp(3)]
story.append(Paragraph(
'<b>Origin:</b> Magnocellular (large-cell) portion of the <b>Red Nucleus</b>, midbrain (receives input from motor cortex via corticorubral tract and from cerebellum)<br/>'
'<b>Decussation:</b> Crosses in the midbrain (ventral tegmental decussation)<br/>'
'<b>Course:</b> Lateral funiculus of spinal cord â immediately adjacent and anterior to corticospinal tract<br/>'
'<b>Termination:</b> Interneurons in intermediate zone; some directly on anterior motor neurons<br/>'
'<b>Function:</b> Accessory pathway for relatively discrete limb movements; controls wrist movements even when CST is damaged<br/>'
'<b>System:</b> Part of the <b>LATERAL MOTOR SYSTEM</b> (with corticospinal tract)',
body_style))
story += [sp(5)]
# 4b Reticulospinal
story += [sub_banner(' 4b. Reticulospinal Tracts'), sp(3)]
ret_data = [
['Feature', 'Pontine Reticulospinal', 'Medullary Reticulospinal'],
['Origin', 'Pontine reticular nuclei\n(slightly posterior/lateral)', 'Medullary reticular nuclei\n(ventral and medial)'],
['Location in cord', 'Anterior (ventral) column', 'Lateral column'],
['Effect', '⎠EXCITATORY\n(antigravity muscles)', '⎠INHIBITORY\n(antigravity muscles)'],
['Excitation source', 'Vestibular nuclei +\ncerebellar deep nuclei', 'Corticospinal collaterals\n(cortical inhibitory input)'],
['Function', 'Stimulates axial/extensor\nmuscles; supports body\nagainst gravity', 'Inhibits same antigravity\nmuscles; allows relaxation'],
]
rt = Table(ret_data, colWidths=[4*cm, 6.7*cm, 6.7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), MED_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('BACKGROUND', (1,1), (1,-1), colors.HexColor('#e8f4e8')),
('BACKGROUND', (2,1), (2,-1), colors.HexColor('#fdecea')),
('BOX', (0,0), (-1,-1), 0.8, MED_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [rt, sp(5)]
# 4c Vestibulospinal
story += [sub_banner(' 4c. Vestibulospinal Tracts'), sp(3)]
vest_data = [
['Feature', 'Lateral Vestibulospinal', 'Medial Vestibulospinal'],
['Origin', "Deiter's nucleus\n(lateral vestibular nucleus)", 'Medial vestibular nucleus'],
['Course', 'Entire spinal cord\n(anterior funiculus)', 'Cervical cord only\n(via MLF)'],
['Effect', 'EXCITATORY â ipsilateral\nextensor muscles', 'EXCITATORY/INHIBITORY\nneck/axial muscles'],
['Function', 'Maintains upright posture;\nbalance against gravity', 'Coordinates head/eye movements'],
]
vt = Table(vest_data, colWidths=[4*cm, 6.7*cm, 6.7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), MED_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('BACKGROUND', (1,1), (1,-1), LIGHT_BLUE),
('BACKGROUND', (2,1), (2,-1), colors.HexColor('#e8f0fa')),
('BOX', (0,0), (-1,-1), 0.8, MED_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [vt, sp(5)]
# 4d Tectospinal
story += [sub_banner(' 4d. Tectospinal Tract'), sp(3)]
story.append(Paragraph(
'<b>Origin:</b> Superior colliculus (tectum of midbrain)<br/>'
'<b>Decussation:</b> Crosses in midbrain (dorsal tegmental decussation â fountain decussation of Meynert)<br/>'
'<b>Course:</b> Anterior funiculus of cervical spinal cord<br/>'
'<b>Termination:</b> Cervical motor neurons (mainly C1âC4)<br/>'
'<b>Function:</b> Reflex turning of <b>head and eyes</b> toward sudden visual or auditory stimuli',
body_style))
story += [sp(8)]
# ââ SECTION 5: LATERAL vs MEDIAL MOTOR SYSTEM ââââââââââââââââââââââââââââââ
story += [banner('5. LATERAL vs MEDIAL MOTOR SYSTEM'), sp(4)]
lm_data = [
['Feature', 'LATERAL Motor System', 'MEDIAL Motor System'],
['Tracts included', 'Corticospinal\nRubrospinal', 'Reticulospinal\nVestibulospinal\nTectospinal'],
['Location in cord', 'Lateral funiculus', 'Anterior/medial funiculus'],
['Muscles controlled', 'Distal limb muscles\n(hands, fingers, wrists)', 'Axial & proximal muscles\n(trunk, neck, girdles)'],
['Type of movement', 'Fine, skilled, discrete\nvoluntary movements', 'Gross, postural\nautomatic movements'],
['Decussation', 'Contralateral\n(crosses in medulla/midbrain)', 'Mostly ipsilateral\nor bilateral'],
['Damage effect', 'Loss of fine motor control\nof distal muscles', 'Postural instability\nimpaired tone'],
]
lmt = Table(lm_data, colWidths=[4*cm, 6.7*cm, 6.7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('BACKGROUND', (1,1), (1,-1), LIGHT_BLUE),
('BACKGROUND', (2,1), (2,-1), LIGHT_GREEN),
('BOX', (0,0), (-1,-1), 0.8, DARK_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [lmt, sp(8)]
# ââ SECTION 6: CLINICAL CORRELATIONS ââââââââââââââââââââââââââââââââââââââââ
story += [banner('6. CLINICAL CORRELATIONS', bg=colors.HexColor('#8b1a1a')), sp(4)]
story.append(Paragraph('<b>A. Upper Motor Neuron (UMN) Lesion</b>', sub_section_style))
story += [red_box([
'âĒ Caused by damage to corticospinal + accessory cortical fibers (e.g., stroke involving internal capsule)',
'âĒ <b>Contralateral</b> spastic paralysis (because fibers have crossed)',
'âĒ <b>Hyperreflexia</b> â deep tendon reflexes exaggerated',
'âĒ <b>Positive Babinski sign</b> â big toe extends upward on plantar stimulation',
'âĒ <b>Spasticity</b> â increased muscle tone (due to loss of cortical inhibition on reticular/vestibular nuclei)',
'âĒ <b>No muscle wasting</b> (lower motor neuron intact)',
]), sp(5)]
story.append(Paragraph('<b>B. Decorticate vs Decerebrate Posture</b>', sub_section_style))
posture_data = [
['Feature', 'DECORTICATE Posture', 'DECEREBRATE Posture'],
['Level of lesion', 'ABOVE red nucleus\n(cortex/internal capsule)', 'BELOW red nucleus\n(midbrain/pons)'],
['Upper limbs', 'FLEXED\n(arms, wrists, fingers)', 'EXTENDED and internally rotated'],
['Lower limbs', 'Extended', 'Extended'],
['Reason', 'Rubrospinal tract intact\nâ some flexion preserved', 'Only vestibulospinal &\nreticulospinal active\nâ pure extensor tone'],
['Prognosis', 'Less severe', 'More severe'],
]
pt = Table(posture_data, colWidths=[4*cm, 6.7*cm, 6.7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#8b1a1a')),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('BACKGROUND', (1,1), (1,-1), colors.HexColor('#fdecea')),
('BACKGROUND', (2,1), (2,-1), colors.HexColor('#fff0e0')),
('BOX', (0,0), (-1,-1), 0.8, colors.HexColor('#8b1a1a')),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [pt, sp(5)]
story.append(Paragraph('<b>C. Isolated Pyramidal Tract Lesion</b>', sub_section_style))
story += [red_box([
'âĒ Loss of fine voluntary movements of the hand and fingers',
'âĒ Gross limb movements retained (via rubrospinal tract)',
'âĒ Wrist movements preserved if rubrospinal tract intact',
'âĒ True isolated pyramidal lesion is rare â most strokes damage adjacent areas too',
]), sp(8)]
# ââ SECTION 7: QUICK MEMORY TABLES ââââââââââââââââââââââââââââââââââââââââââ
story += [banner('7. ALL TRACTS AT A GLANCE â MASTER SUMMARY TABLE'), sp(4)]
master_data = [
['Tract', 'Origin', 'Decussation', 'Location\nin Cord', 'Function'],
['Lateral\nCorticospinal', 'Motor cortex\n(Areas 4,6,SSA)', 'Lower medulla\n(85-90%)', 'Lateral\nfuniculus', 'Fine voluntary\nmovements'],
['Ventral\nCorticospinal', 'Motor cortex', 'Cervical/thoracic\ncord (10-15%)', 'Anterior\nfuniculus', 'Bilateral\npostural control'],
['Corticobulbar', 'Motor cortex', 'Variable\n(to brainstem)', 'Internal\ncapsule (genu)', 'Head & face\nmuscles (CN nuclei)'],
['Rubrospinal', 'Red nucleus\n(midbrain)', 'Midbrain\n(ventral tegmental)', 'Lateral\nfuniculus', 'Discrete distal\nlimb movements'],
['Pontine\nReticulospinal', 'Pontine reticular\nnuclei', 'Uncrossed\n(ipsilateral)', 'Anterior\nfuniculus', 'Excites antigravity\nmuscles'],
['Medullary\nReticulospinal', 'Medullary reticular\nnuclei', 'Crossed &\nuncrossed', 'Lateral\nfuniculus', 'Inhibits antigravity\nmuscles'],
['Lateral\nVestibulospinal', "Deiter's\nnucleus", 'Uncrossed\n(ipsilateral)', 'Anterior\nfuniculus', 'Excites extensors;\nbalance/posture'],
['Medial\nVestibulospinal', 'Medial vestibular\nnucleus', 'Bilateral', 'Anterior\nfuniculus (MLF)', 'Head-eye\ncoordination'],
['Tectospinal', 'Superior\ncolliculus', 'Midbrain\n(Meynert decuss.)', 'Anterior\nfuniculus', 'Reflex head-eye\norientation'],
]
mt = Table(master_data, colWidths=[3.2*cm, 3.6*cm, 3.2*cm, 2.8*cm, 4.6*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 7.5),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GRAY_BG]),
('BOX', (0,0), (-1,-1), 0.8, DARK_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 4),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [mt, sp(8)]
# ââ SECTION 8: KEY NUMBERS CHEATSHEET âââââââââââââââââââââââââââââââââââââââ
story += [banner('8. KEY NUMBERS & FACTS TO MEMORISE'), sp(4)]
nums_data = [
['FACT', 'VALUE / DETAIL'],
['CST origin â primary motor cortex', '30%'],
['CST origin â premotor + SMA', '30%'],
['CST origin â somatosensory cortex', '40%'],
['Fibres that decussate at lower medulla', '85â90%'],
['Fibres forming ventral CST (uncrossed)', '10â15%'],
['Betz cell body diameter', '60 Ξm'],
['Betz cell axon diameter', '16 Ξm (largest myelinated fibres)'],
['Betz cell conduction velocity', '70 m/sec (fastest cortex â cord)'],
['Betz cell fibres per tract', '~34,000'],
['Total fibres per corticospinal tract', '>1,000,000'],
['Betz cells as % of total CST fibres', 'Only 3%'],
['Decorticate: lesion level', 'ABOVE red nucleus'],
['Decerebrate: lesion level', 'BELOW red nucleus'],
]
nt = Table(nums_data, colWidths=[10*cm, 7.4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#e8523a')),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('ROWBACKGROUNDS',(0,1), (-1,-1), [YELLOW_HL, WHITE]),
('BOX', (0,0), (-1,-1), 0.8, ACCENT),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
story += [nt, sp(8)]
# ââ SECTION 9: SEMINAR SCRIPT SUMMARY âââââââââââââââââââââââââââââââââââââââ
story += [banner('9. SEMINAR SPEAKING OUTLINE (5â6 minutes)'), sp(4)]
outline_data = [
['Time', 'What to Say', 'Marks'],
['0:00â0:30', 'Introduction â name yourself, introduce topic, state definition of descending tracts', '1'],
['0:30â1:00', 'Classification â pyramidal vs extrapyramidal, show table on board', 'â'],
['1:00â3:00', 'Corticospinal tract â origin (30-30-40), course (internal capsule â pyramidal decussation), Betz cells, function', '3'],
['3:00â4:30', 'Other tracts â rubrospinal, reticulospinal (excitatory/inhibitory), vestibulospinal, tectospinal', 'â'],
['4:30â5:15', 'Clinical correlations â UMN lesion features, decorticate vs decerebrate posture', 'â'],
['5:15â5:45', 'Summary â recap 5 key points, thank audience', '1'],
]
ot = Table(outline_data, colWidths=[2.5*cm, 12.9*cm, 2*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), MED_BLUE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GRAY_BG]),
('BOX', (0,0), (-1,-1), 0.8, MED_BLUE),
('INNERGRID', (0,0), (-1,-1), 0.3, BORDER_GRAY),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('ALIGN', (2,0), (2,-1), 'CENTER'),
]))
story += [ot, sp(8)]
# ââ FOOTER NOTE âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
story.append(HRFlowable(width='100%', thickness=0.5, color=BORDER_GRAY))
story += [sp(4)]
story.append(Paragraph(
'Sources: Guyton & Hall Textbook of Medical Physiology, 14th Edition, pp. 689â693 | '
"Kandel's Principles of Neural Science, 6th Edition, pp. 867â868 | "
'SAMC & PGI Physiology Seminar â July 2026',
footer_style))
# ââ BUILD ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
doc.build(story)
print("PDF created successfully.")
cd /home/daytona/workspace/descending-tracts && python create_pdf.py
ls -lh /home/daytona/workspace/descending-tracts/
Descending Tracts Handout
PDF Document · PDF
| Section | Content |
|---|---|
| 1. Introduction | Definition and overview |
| 2. Classification | Pyramidal vs Extrapyramidal â colour-coded table |
| 3. Corticospinal Tract | Origin (30-30-40), full course pathway, Betz cell data table, termination, function |
| 4. Extrapyramidal Tracts | Rubrospinal, Reticulospinal (comparison table), Vestibulospinal (comparison table), Tectospinal |
| 5. Lateral vs Medial System | Side-by-side comparison table |
| 6. Clinical Correlations | UMN lesion features, Decorticate vs Decerebrate posture table |
| 7. Master Summary Table | All 9 tracts â origin, decussation, location, function in one table |
| 8. Key Numbers Cheatsheet | All important numbers highlighted in yellow (great for last-minute revision) |
| 9. Seminar Speaking Outline | Timed script summary (0:00 to 5:45) |