掃掠視誘發電位
Sweep VEP (Visual
Evoked Potential)
王藹侯
我1990夏到1991夏在舊金山The Smith-Kettlewell Eye
Research Institute (SKERI)進修小兒眼科及斜視(Fellowship of Pediatric
Ophthalmology and Strabismus)的一年裡,有幸接觸到兩套電生理的設計,其一是Dr. Erich Sutter的多焦網膜電圖(Multifocal ERG),其二是Dr. Anthony Norcia和Dr. Christopher Tyler的掃掠視誘發電位(Sweep VEP)。目前國際臨床視覺電生理學會(International Society for
Clinical Electrophysiology of Vision, ISCEV)已經有多焦網膜電圖的標準(https://iscev.wildapricot.org/standards),掃掠視誘發電位的標準還沒有列入。除了臨床使用之外,這兩項工具也是視覺的基礎科學研究的利器。
Dr. Anthony Norcia Dr. Christopher Tyler
臨床上圖像視誘發電位(Pattern Visual
Evoked Potential)使用西洋棋盤反轉(Checkerboard reversal),兩眼分開各自作,每一眼作四種大小的格子 – 每邊16格,32格,64格和128格(見圖),格子的大小則是邊長1°,1/2°,1/4°和1/8°。嚴謹的實驗室每種情境作兩次,將波型重疊一起,展示實驗的穩定性和可重現性(Reproducibility)。
通常作暫態視誘發電位(Transient VEP),每秒反轉3.7次(3.7reversals)(見圖)。加總100次腦波(average)以提高訊噪比(Signal/Noise
Ratio)√100=10倍。至少需時27秒(3.7 reversals/sec à 27
sec/100reversals)。嬰幼兒通常沒有辦法長時間注視著這麼無聊的畫面。
這是一位左眼弱視的病人,右眼視力極佳,1/8°最小的格子仍然誘發出大電位,格子漸小,可見峰谷潛值逐漸拉長。左眼弱視,第二條、1/2°格子的誘發電位已經看不清NPN波型了。
為了以電生理的方法快速評估視覺功能,在1970、1980年代,Dr. Christopher Tyler和Dr. Anthony Norcia開發了掃掠視誘發電位(Sweep VEP)的系統,估計小兒視力(visual acuity)、對比敏感度(contrast sensitivity)和游標視力(vernier acuity)的發育。這個系統由1970、80年代發展至今,叫做PowerDiva。
只要記錄10秒的腦波。作穩態視誘發電位,每半秒變換一次圖像的參數,10秒共展示20種大小。
評估視力,是用正弦柵紋,由寬而窄,依空間頻率(spatial frequency)線性(linear)地掃掠20種寬度(見圖)。
Sweep
Spatial Frequecy (Size) (Visual Acuity)
Linearly
from Low to High Spatial Frequency (From Large to Small size)
評估對比敏感度,是用固定寬度的正弦柵紋,對比有小而大,依對比(contrast)等比(logarithmic)地掃掠20種對比(見圖)。
Sweep
Contrast (Contrast Sensitivity)
Logarithmically
from Low to High Contrast
評估游標視力,是用方波柵紋,錯位(offset)由窄而寬,依空間頻率(spatial frequency)等比(logarithmic)地掃掠20種寬度(見圖)。
Sweep
Offset (Vernier Acuity)
Logarithmically
from Small to Large Offset
全部10秒的腦波,取2秒為一個區塊 – 0到2秒為一個區塊、0.5到2.5秒為一個區塊、1到3秒為一個區塊……7.5到9.5秒為一個區塊、8到10秒為一個區塊,一共17個區塊。評估視力的柵紋如果以6Hz(12 reversals/sec)反轉,2秒的區塊裡有24個反轉,抽取這2秒腦波的24倍頻(24th
harmonic)的振幅(amplitude)和相位(phase)。同時抽取每一區塊23倍頻(23rd harmonic)和25倍頻(25th
harmonic)的振幅,兩者的平均值當作雜訊(noise),噪訊比低,表示24倍頻上確實是誘發而來的電位(見圖)。
將17個2秒區塊得到的17個振幅和17個相位,以及17個區塊的雜訊作圖如下(見圖)。當反轉柵紋漸漸變窄,誘發電位幅度漸漸變小,相位漸漸移位(相當於暫態視誘發電位的潛值漸漸變長)。綜合三個值來估計視力的閾值(threshold),也就是估計柵紋變到多細,受試者就看不到反轉了。
1. 外插(extrapolate)高空間頻率處的振幅(紅線),0電位處的空間頻率作為視力估計值。
2. 相位漸漸移位,移位趨勢轉向或變亂,該處的空間頻率作為視力估計值。
3. 噪訊比(noise/signal)漸漸變大,明顯快速變大的地方的空間頻率作為視力估計值。(見圖)
這套系統可以改變的參數有許多,分析方法主要使用傅立葉轉換抽取某幾個頻率的振幅和相位,感覺上並不難寫。
通常想要知道對某一參數的視覺閾值(Threshold),這套系統的標準設定是,視刺激的圖形每半秒改變一次,10秒中共掃掠20個圖形。可以從比較看得清楚漸漸變到比較看不清楚,這套系統掃掠視力,或者說是空間頻率(spatial frequency),就是由大條紋掃掠向小條紋;也可以相反過來,這套系統掃掠對比(contrast)和掃掠游標視力(vernier acuity),就是從比較看不清楚漸漸掃掠到比較看得清楚(見圖)。
20個圖形改變的方式和速度也要考量:掃掠視力使用的柵紋的空間頻率是線性(linear)變化的,空間頻率的單位是每度視角幾周(cycles
per degree),是視角的倒數,相當於Snellen視力,和現今使用的對數(logMAR)視力表就不一樣了。掃掠對比,由弱對比到強對比,每一步是依對數(logarithmic)增加的。對比的單位通常是用(最高亮度-最低亮度)/平均亮度。掃掠游標視力,雖然和柵紋(grating)視力一樣,也是空間大小的概念,但是游標柵紋的錯位由小而大卻是依對數增加的(見圖)。
Tyler CW, Apkarian P, Levi DM, Nakayama K. Rapid assessment of visual
function: an electronic sweep technique for the pattern visual evoked
potential. Invest
Ophthalmol Vis Sci. 1979 Jul;18(7):703-13.
Norcia AM, Tyler
CW, Hamer RD. Development of contrast sensitivity in the human infant.
Vision Res. 1990;30(10):1475-86.
Skoczenski AM,
Norcia AM. Development
of VEP Vernier Acuity and Grating Acuity in Human Infants. Invest Ophthalmol
Vis Sci. 1999;40:2411–2417.
Hou C, Good WV, Norcia AM. Detection of
amblyopia using sweep VEP Vernier and grating acuity. Invest Ophthalmol Vis
Sci. 2018;59:1435–1442.
前面所述傅立葉分析是用2秒為一區塊,相鄰區塊間隔0.5秒,則10秒共有17個區塊。但是如下圖,如果分析的區塊長1秒,間隔0.5秒,則10秒裡就會有19個區塊了。區塊的長度和相鄰區塊的間隔可以任意改變,同時也決定了10秒裡區塊的總數。例如區塊長3秒、區塊間隔1秒,則區塊總數是8個區塊。
如果視刺激的頻率是3.75Hz,區塊長2秒,則2秒裡有7.5個周期。傅立葉分析7.5倍頻(7.5th harmonic)是基頻(
如果10秒都不改變圖形,當然就不叫作掃掠視誘發電位,但是依舊可以利用這個系統的傅立葉分析。將原本2秒的區塊拉長到10秒,當然全程也就只有1個區塊。就如同穩態/暫態視誘發電位 Steady-state vs. Transient VEP一文裡描述的“運動覺/視動眼震鼻顳側不對稱的視誘發電位”,振動(jittering)的柵紋如果以6Hz振動,10秒鐘總共振動了60個周期。在10秒的腦波裡,以傅立葉分析抽取60倍頻(60th harmonic)的振幅和相位是基頻(
關於圖像視刺激器,大部分電腦螢幕的速度(frame rate)每秒展示大約60張圖象,或說60格(frames)。快速的圖象轉換,如果能夠在下一幕/下一格出現之前完成計算、推出新畫面,在電腦螢幕的展示功能上,就算達到“即時”(real-time)的門檻。
圖像視誘發電位以電腦螢幕呈現圖象,每秒呈現60張圖象,好像膠片電影每秒呈現24張圖象一樣。在圖象1/圖象2交替呈現的情況(例如西洋棋盤反轉是西洋棋盤1和西洋棋盤2交替呈現),如果每一圖象停留1格,每一周就是2格,每秒就是30周(cycle,Hz)或60反轉(reversal)。如果每一圖象停留4格,就是7.5Hz、15反轉;每一圖象停留3格,就是10Hz、20反轉……。總之,那必須是整數、60除得盡的整數。
作視覺實驗時,3Hz、6反轉常被用作慢的時間頻率(low temporal frequency),而5Hz、10反轉常被用作快的時間頻率(high temporal frequency)。傅立葉分析抽取基頻(
如果電腦程式設計呈現圖象不和螢幕同步,或者每秒圖象數不是60的約數,螢幕上的動態圖象就會出現斷線,而受試者接受到的視覺刺激就不在你設計、控制的範圍之內。
除了掃掠視力、對比和游標視力之外,色覺、雙眼視、......任何視覺的閾值(threshold),原則上都可以設計成逐漸改變的圖象來記錄掃掠視誘發電位。這是電生理的閾值,可以和心理物理實驗得到的閾值相互比較參考。現今的多電極腦波/誘發電位記錄則可以研究這一視覺參數變化過程的大腦定位。
嬰幼兒的視力,視誘發電位的估計值比偏好注視(preferential looking)的估計值高出許多,在一歲左右就達到1.0的視力,和臨床的經驗不太吻合。一直到近年仍然在嘗試,是作游標視力或是作柵紋視力的掃掠視誘發電位比較接近於臨床上弱視的評估(Hou, 2018)。掃掠的參數則嘗試是由小條紋掃掠到大條紋,或者相反;是線性地改變大小,或是對數地改變大小;是圖象反轉(pattern reversal)或是圖象出現/消失(pattern onset/offset);是分析基頻(
Hou C, Good WV, Norcia AM. Detection of
amblyopia using sweep VEP Vernier and grating acuity. Invest Ophthalmol Vis
Sci. 2018;59:1435–1442.
先天內斜視病人的運動覺/視動眼震是鼻顳側不對稱的,會將反轉柵紋看成向左或向右移動的柵紋,並引發視動眼震(optokinetic nystagmus)。掃掠柵紋視力(grating
acuity)於是改用柵紋和平均亮度的空白畫面交替出現(grating onset/offset)(見圖)。這樣的話,傅立葉分析應該要分析基頻(
PowerDiva
1980年代的原型是寫在Apple-II電腦上的,年輕人已經沒法想像那是多麼原始的電腦了,記憶體(RAM)只有64KB!在那樣艱困的環境下,得靠高超的程式技術來補足。記得浙大副教授唐渝當時也在Tony的實驗室設計程式,設法改進誘發電位抽取信號的速度和效率。
10秒記錄之前,通常有幾秒的先置適應(adaptation)畫面,測試者確定幼兒的專注力來到螢幕上了,才按鈕啟動正式的視刺激掃掠畫面。
即便只需要10秒鐘注視螢幕,許多幼兒還是沒法一次完成。測試者發現他的視線移開螢幕時,立即按鈕暫停記錄腦波;等將他的注意力吸引回螢幕之後,再按鈕開始記錄。重啟的記錄會重複部分暫停前的視刺激,之後將幾段腦波裁減、連接起來,得到正好10秒鐘的腦波進行分析。(見圖,再看一次幼兒視誘發電位的檢查畫面)
目前PowerDiva這套系統在美國許多醫學中心、視覺研究中心使用中。
另一套包含掃掠視誘發電位的系統則是Diopsys
Enfant® Pediatric Visual Evoked Potential Module (見圖)
光電管(photocell)作為視誘發電位實驗室的模型眼 – 測試系統的正確性
之前製作的實體找不到了,網路上找些材料圖來解說。
主體是那顆光電阻(photoresistor),焊在BNC座上,固定在底片盒底。視誘發電位用的腦波放大器(amplifier)通常放大100,000×,光電管直接接上去電太大,並連一個電阻(BNC terminator)就剛好。
這是我們以光電管替代人眼,測試自己開發的掃掠視誘發電位的電腦程式與系統。振幅(amplitude)和相位(phase)都十分完美。
如果自行開發多焦網膜電圖/視誘發電位(Multifocal
ERG/VEP)電腦系統,一樣可以用光電管替代人眼,測試並偵錯系統是否正確。
附記 – 數位傅立葉分析 (Digital Fourier Analysis)
附上簡短的BASIC語言程式:
橫軸h個點
抽取m倍頻(mth harmonic)
[非快速傅立葉傳換(Fast
Fourier Transform, FFT)]
real = 0: imag = 0
FOR i = 0 TO h - 1
real
= real + y(i) * COS(2 * pi * i * m / h)
imag
= imag + y(i) * SIN(2 * pi * i * m / h)
NEXT
amp =
(real ^ 2 + imag ^ 2) ^ .5 / h * 2
IF real = 0 AND imag > 0
THEN
phase = .5 * pi
ELSEIF real = 0 AND imag
< 0 THEN
phase = 1.5 * pi
ELSE
phase = ATN(imag
/ real)
IF
real < 0 THEN phase = phase + pi
IF
real > 0 AND imag < 0 THEN phase = phase + 2 * pi
END IF
IF phase >= 2 * pi THEN
phase = phase - 2 * pi
phase = phase / pi