多焦網膜電圖/視誘發電位      最長序列的應用

Multifocal ERG/VEP      M-sequence (Maximal sequence)

 

王藹侯

 

 

我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. Erich Sutter

 

以圖像誘發網膜和大腦視皮質的電位反應叫做圖像網膜電圖(Pattern Electroretinogram,ERG)和圖像視誘發電位(Pattern Visual Evoked Potential,VEP),大部分使用的圖像是西洋棋盤反轉(Checkerboard Reversal)(左圖)。

 

多焦網膜電圖(Multifocal ERG)和多焦視誘發電位(Multifocal VEP)使用右圖的圖樣作為視刺激器。

 

 

 

多焦網膜電圖記錄的方式如同一般的圖像網膜電圖(Pattern ERG)(左圖),是以螢幕的圖象為視刺激器,全螢幕的平均亮度維持不變。它的記錄(右圖)則是對每一個局部小六角形的電位反應。就局部來看,又似乎比較接近於閃光網膜電圖(Flash ERG)

 

          

 

記錄多焦網膜電圖的電極和一般網膜電圖無異(見圖)。那麼多的六角形同時在閃爍、刺激各個局部的網膜。它是怎麼樣分析、記錄到那麼多個別的網膜電位反應呢?這計算的方式是滿高檔的、稱為最長序列(Maximal sequence,M-sequence) 的0、1數學。

 

 

本文將說明最長序列的計算原理,也介紹我們使用M-sequence紀錄雙眼視誘發電位的另類方法及發現。

 

 

最長序列也稱為偽隨機最長序列(Pseudorandom M-sequence),是一個0、1的序列(見圖),看似0、1隨機排列,這序列的產生方法卻是有規則、不是真隨機的,因此稱為偽隨機序列。運用在心理物理學實驗(psychophysical experiment)或生理學實驗(physiological experiment),0、1的出現基本上是隨機的、無法預期的。

 

最長序列的長度(0、1的總數)是某一整數n的2n-1個0、1。序列裡有2n-1個1和2n-1-1個0,1比0多一個。

 

n = 3的最長序列有23 - 1 = 7個0、1。

[ 1 0 0 1 0 1 1 ]

 

 

它是一個迴圈,從每一個位置開始都可以,共有7個最長序列

 

n = 7的最長序列,有27-1 = 127個0、1。

 

[ 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1

0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1

1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1

1 0 0 0 0 0 1 ]

 

我們先來看“最長序列是怎麼樣分析、記錄到那麼多個別的網膜電位反應”的秘密 –

如前所述,n = 3的最長序列有7個,依每一個序列輸入刺激 – 序列是1給予刺激,得到反應;序列是0則不刺激,沒有反應(見圖)。同時依7個最長序列輸入7個刺激,7個反應加總一起得到輸出。

我們依第三個最長序列 [ 0 1 0 1 1 1 0 ] 將加總的反應乘上 [ -1 1 -1 1 1 1 -1 ],遇0就減,遇1就加,對第3個輸入的計算結果,是疊加了2(3-1) = 4次,對第5個輸入的反應則是加2次、減2次,抵銷沒有了;對第7個輸入的反應也是加2次、減2次,抵銷沒有了。除了對第3個序列刺激的反應得到4次疊加,其他6個序列的反應都自相抵消不見了!於是從加總的反應中抽取得到對第3個序列刺激的反應。同樣地,依另6個序列的0、1將加總反應作加、減運算,就得到每一個序列刺激的個別反應。

由此可知,最長序列是一個多輸入、單輸出(multiple inputs,single output)的系統。而經由最長序列的特性去運算,可以從單一輸出裡分析出對每一個輸入的個別反應。

 

這0、1的神奇數學,請參考Shift Register Sequences by Solomon W. Golomb

https://www.amazon.com/-/zh_TW/SHIFT-REGISTER-SEQUENCES-LIMITED-ACCESS-MATHEMATICAL-ebook-dp-B071GL2R73/dp/B071GL2R73/ref=mt_kindle?_encoding=UTF8&me=&qid=

 

 

 

如何產生最長序列?

 

先複習2進位數字:1 (001)  2 (010)  3 (011)  4 (100)  5 (101)  6 (110)  7 (111)

這裡以n = 3最基本、最短的最長序列為例子。

有左、右兩種暫存器移位(Shift Register)的方式。

 

第一種方法(左圖) – 暫存器的三個位置訂為x1、x2、x3。

x2、x3向左移位至x1、x2,右邊補0。

移出的x1如果為0,右兩位的0、1不變。

移出的x1如果為1,右兩位的0、1反相(0改成1、1改成0) – 亦即暫存器內容和閥門暫存器(Tap Register) 3 (011),做邏輯運算XOR。

從1 (001)開始反覆這個暫存器移位的步驟,暫存器裡依次成為2 (010)、4 (100)、3 (011)、6 (110)、7 (111)、5 (101),再下一步又回到起頭的1 (001)。

由暫存器左邊依次推出的[ 0 0 1 0 1 1 1 ]就是長度為23-1=7的最長序列

 

第二種方法(右圖) – 暫存器的三個位置也是x1、x2、x3。

x1、x2向右移位至x2、x3。

如果移位之前的x2 XOR x3 = 1,暫存器左邊x1位置補1。

如果x2 XOR x3 = 0,左邊x1位置補0。

從1 (001)開始反覆暫存器移位的動作,暫存器裡依次成為4 (100)、2 (010)、5 (101)、6 (110)、7 (111)、3 (011),再下一步又回到起頭的1 (001)。

由暫存器右邊依次推出的[ 1 0 0 1 0 1 1 ]就是長度為23-1=7的最長序列

 

 

依據第一種方法產生n = 7,tap = 65的最長序列的BASIC電腦語言程式

 

DEFINT A-Z

n = 7

tap = 65 ’---------------------------------------------------閥門暫存器65 (1000001)

nn = 2 ^ n – 1

DIM M(nn) ’------------------------------------------------最長序列長度2n-1

M(1) = 1 ’---------------------------------------------------起始值從1開始

CLS

FOR i = 1 TO nn

IF M(i) >= 2 ^ (n - 1) THEN ’--------------------------如果移出1

PRINT " 1"; ’-------------------------------------------最長序列這一位是1

M(i + 1) = ((M(i) - 2 ^ (n - 1)) * 2) XOR tap ’------暫存器內容和閥門暫存器65做XOR邏輯運算

ELSE ’-------------------------------------------------------如果移出0

PRINT " 0"; ’-------------------------------------------最長序列這一位是0

M(i + 1) = M(i) * 2 ’---------------------------------------暫存器內容不改變

END IF

NEXT

END

 

產生的長度27 - 1 = 127的最長序列–

 

 

閥門暫存器(Tap Register)的選擇非常重要。前述的第一種方法,在移出的x1為1時,暫存器內容要和Tap做XOR邏輯運算,產生新的暫存器內容。

包含有n個0、1的暫存器一共有2n種可能的0、1組合,看成2進位的數字,就是0到2n-1的連續整數。

不好的Tap在產生序列的重複過程裡會提早回到這個產生序列迴圈的起始值,出現重複的整數,而循環在一個不包含全部整數的比較小的數群裡;而好的Tap則會經過所有2n-1個整數(除了0)才回到從頭,產生的序列才叫做“最長序列”(Maximal sequence,M-sequence),才有最長序列的一些特殊性質。

好的Tap一定有偶數個1,但是有偶數個1的不一定是好的Tap。

 

 

 

從n=5到n=11,可以產生最長序列的好的Tap如下:

 

 

最長序列的特殊性質

 

¨               最長序列的最重要特質應該是抽取各個單元反應的方法。前段描述了n = 3的最長序列抽取信號的方法。這裡有8個單元,以同一個n = 5的最長序列、但是不同起點(紅箭頭處)作刺激(如圖)。在加總的反應上以第一單元0、1相應的-1、1序列(如圖)去抽取,會得到單元1的反應。這個反應是2(n-1) = 24 = 16個反應的疊加(average)結果。疊加m次可以增強訊、噪比(signal/noise ratio,S/N ratio)√m倍,在這裡每個單元的訊、噪比會加強2(n-1)/2 = 24/2 = 22 = 4倍。

 

[ 1  1  0  1  1  1  1  1  0  1  0  0  0  1  0  0  1  0  1  0  1 ........]

[ 1  1 -1  1  1  1  1  1 -1  1 -1 -1 -1  1 -1 -1  1 -1  1 -1  1 ........]

 

 

¨               n位元暫存器產生的最長序列長度是2n-1,其中有2(n-1)個1和2(n-1)-1個0。在多焦網膜電圖的六角形陣列裡,如果1是白、0是黑,則黑、白六角形的數目永遠大致相等,整體螢幕可以維持著固定的平均亮度(見圖)。

 

 

¨               2n-1個最長序列裡任意兩個最長序列作XOR邏輯運算,得到的仍然是群裡的另一個最長序列。運算之後的最長序列稱為2階核心(2nd order kernel),可以解釋是前兩個最長序列的交互作用(interaction)。不過在做這種演譯(interpretation)的時候,要看實驗的設計是如何安排、使用最長序列,才不會得出莫名其妙的結論。

 

例如n=3的7個最長序列(左圖)中的第1和第6做XOR運算,得到第5個最長序列(右圖)。以這個最長序列抽取得到的反應,應該解釋成第5個最長序列誘發的反應,或是第1和第6兩個反應的交互作用呢?解決的方法就是使用n更大、更長的最長序列以避免重疊。

       

 

¨               多焦網膜電圖241個六角形要使用非常長的最長序列,才可以得到理想的訊、噪比。例如n=16的最長序列有216-1 = 65535個0、1,就算電腦螢幕每秒呈現60頁,也需要65535 / 60 = 1092秒 = 18分鐘才能做完。沒有人能忍受18分鐘注視螢幕的實驗或檢查,於是將之拆成36個半分鐘,再將記錄的片段連接起來做分析。

 

¨               另一個最長序列交互作用的例子是以最長序列記錄視誘發電位。一般臨床視誘發電位檢查使用西洋棋盤反轉(Checkerboard Reversal)作為是刺激器,就是在兩張西洋棋盤 – 西洋棋盤1和西洋棋盤2之間規律地反轉(左圖)。右圖則是依M-sequence反轉的西洋棋盤 – M-sequence是0的時候展示西洋棋盤1,M-sequence是1的時候展示西洋棋盤2。

 

  

西洋棋盤規律地反轉                              西洋棋盤依M-sequence反轉

 

以這個最長序列去抽取腦波的誘發電位,是1階的反應(1st order kernel),並抽取不到反應 (右圖左欄),因為誘發電位是由西洋棋盤“反轉”而來,並不是由西洋棋盤本身誘發出來。要抽取由“反轉”而來的電位,就要用第一瞬間和次一瞬間兩個最長序列作XOR運算產生的最長序列去抽取腦波,這稱為2階的反應(2nd order kernel) (左圖),就得到和傳統西洋棋盤反轉誘發的相似的NPN波形(右圖右欄)

 

     

 

如果實驗的設計是最長序列1的時候改換西洋棋盤、0的時後不改變。這樣的話,以1階序列(1st order kernel)就可以抽取到視誘發電位了。

 

¨               以最長序列做實驗可以即時(real time)產生最長序列,而不需事先準備好全部的最長序列。例如有8個單元(element),好比多焦網膜電圖有8個位置(focus),第1時間最長序列的0、1依序分派給8個單元(見圖,由左而右),分派完第一時間的8個單元,延續原本的最長序列分派給第2時間的8個單元(如圖,由上而下),同樣地繼續分派給第3時間、第4時間.....。最長序列2n-1個0、1用完了,再重頭開始循環。這樣由左而右、由上而下橫向分派最長序列的結果,如果縱向、由上而下看,每一個單元的0、1序列仍然是原本的最長序列,起端不一樣而已!而8個單元的最長序列的起端是位於相隔1/8最長序列長度的位置(圖中紅箭頭處)!

 

 

¨               單元的數目必須是2的次方 – 1 (20)、2 (21)、4 (22)、.....、256 (28)、.....、2048 (211)、4096 (212).....才有上述這種橫向分派0、1的性質。多焦網膜電圖程式裡的61個六角形、103個六角形、241個六角形,它們應該分別是使用64 (26)、128 (27)和256 (28)個單元來分派最長序列的0、1(見圖)。

 

 

¨               這是一個n=9,長度29-1,tap=33,起始值=67的最長序列,依序分配給16個單元(element)的動態示意圖 (如圖,由左而右)。分派完第一時間的16個單元,延續原本的最長序列分派給第2時間的16個單元(如圖,由上而下),同樣地繼續分派給第3時間、第4時間.....。最長序列2n-1個0、1用完了,再重頭開始循環。這樣由左而右、由上而下橫向分派最長序列的結果,如果縱向、由上而下看,每一個單元的0、1序列仍然是原本的最長序列,起端不一樣而已!而16個單元的最長序列的起端是位於相隔1/16最長序列長度的位置。

 

 

¨               多焦網膜電圖的61個六角形可以如左圖,都一樣大小。但是配合視野中央部分敏感度比較高、電反應比較大、接受域(receptive field)比較小的性質,61個六角形於是做成中間小、外邊大的樣子(右圖)。

 

  

 

¨               除了“即時”產生序列,最長序列做實驗也可以“即時”分析結果,而不必等實驗、檢查作完才事後作分析。這8個單元的最長序列的起點都是知道的,隨著實驗的進行,以每一個單元的序列相應的-1、1序列去抽取,該單元的反應會漸漸地疊加浮現出來,而其他單元的反應則漸漸地自我互相抵消,每一個單元的反應逐漸地分離呈現出來。實驗結束,即時就完成分析,得到每一個單元分離的、個別的反應。這當然得依靠快速、大量的運算才有可能,這裡使用的是Fast Walsh-Hadamard Transform (FWT)。

 

如前所述,最長序列可以即時產生視刺激器,不必事前計算、準備;最長序列抽取每一個單元的反應,也可以即時完成。這大量的運算當然可以先將腦波、網膜電波儲存起來事後處理,但是如果可以在實驗、檢查進行當下即時呈現至少一個單元的反應,監視記錄是否成功,會比較有臨場感,也可以即時發現錯誤,不會浪費時間。快速、即時分析最長序列請參考沃爾什轉換Hadamard-Walsh Transform,Fast Walsh-Hadamard Transform (FWT),這是一種廣義的傅立葉轉換Fourier Transform,Fast Fourier Transform (FFT)。這個系統的數學運算非常複雜,但是演算法(algorithm)都是公開的,並非完全遙不可及。

 

(The Hadamard transform is also known as the Walsh–Hadamard transform, Hadamard–Rademacher–Walsh transform, Walsh transform, or 

Walsh–Fourier transform.)

 Hans Rademacher - Alchetron, The Free Social Encyclopedia 

Jacques Solomon Hadamard(1865-1963),Hans Adolph Rademacher(1892–1969),Joseph Leonard Walsh(1895–1973)

 

 

這是Erich Sutter的系統,EDI公司的VERIS。

 

Erich Sutter在歐洲沒請專利,於是有德國公司複製了這個系統,RETI-scan視覺電生理系統(德國羅蘭公司)。

 

美國的EDI VERIS視覺電生理系統

RETI-scan視覺電生理系統(德國羅蘭公司)

Diagnosis視覺電生理系統(美國Epision公司)

法國的Metro Vision視覺電生理系統

 

一次在大陸會議的廠商展示場合,也有大陸的公司自己創作了這個系統。

GT-2000NV視覺電生理系統(重慶國特醫療設備公司)

BIO-2000視覺電生理系統(南昌吾方醫療器械有限公司)

IVE-205A視覺電生理系統(重慶艾爾曦醫療設備有限公司)

APS-2000A視覺電生理系統(重慶康華科技有限公司)

 

 

以最長序列演算法同時記錄兩眼的視誘發電位

 

一般臨床視誘發電位檢查是兩眼分別檢查。既然最長序列是一個多輸入、單輸出的系統,而經由最長序列的特性去運算,可以從單一輸出裡分析出對每一個輸入的個別反應。我們於是設計戴紅、綠眼鏡 – 右眼綠片、左眼紅片 – 同時記錄雙眼視誘發電位的電腦程式。紅、綠西洋棋盤各自跟隨最長序列呈現。就使用最長序列的演算來說,這比Erich Sutter的多焦網膜電圖的規模是小的多了,這裡只用了左眼和右眼兩個單元(element)。左眼紅西洋棋盤跟隨M(1)最長序列呈現 – M(1)是0的時候展示西洋棋盤1、M(1)是1的時候展示西洋棋盤2;右眼綠西洋棋盤跟隨M(2)最長序列呈現 – M(2)是0的時候展示西洋棋盤1、M(2)是1的時候展示西洋棋盤2。左圖是傳統的黑、白西洋棋盤反轉,右圖是紅、綠西洋棋盤跟隨最長序列反轉,同時記錄兩眼的視誘發電位。

 

  

 

我們依照臨床視誘發電位檢查,由上而下作4個格子依序變小的視誘發電位(見圖),可見依據最長序列同時記錄兩眼,得到幾乎同樣的圖像視誘發電位(pattern VEP)的NPN波形。

 
傳統VEP      M-seq VEP           傳統VEP      M-seq VEP

 

兩眼同時記錄也可以觀察兩眼之間是否有交互作用。我們記錄五個項目–(1)兩眼同時看,(2)左眼西洋棋盤靜止,(3)右眼西洋棋盤靜止,(4)

遮住左眼、只右眼看和(5)遮住右眼、只左眼看。

        

兩眼同時看               左眼西洋棋盤靜止         右眼西洋棋盤靜止                 只右眼看                       只左眼看

 

這是5位雙眼視、立體感正常的人。兩眼依最長序列同時記錄(左欄)的波幅(amplitude)只有單眼記錄(右兩欄)的一半。

 

這是6位雙眼視不佳、立體感測試不通過的人。兩眼依最長序列同時記錄(左欄)的波幅和單眼記錄(右兩欄)的波幅幾乎相同。

 

Dr. Suzanne McKee提出一個詞彙“融合性抑制” (Fusional suppression),指的是雙眼視正常的人,兩眼的交互作用抑制了兩眼各自的活動力。用工程的術語來說,是有雙眼視的人,兩眼的交互作用讓兩眼單眼視的能量有一部分移去了雙眼視,於是雙眼同時記錄的視誘發電位降低。雙眼視不佳的人,則能量都留在兩眼各自的單眼視,雙眼同時記錄的視誘發電位並沒有降低,維持和單眼看時同樣的波幅。

 

融合性抑制(Fusional suppression)的參考文獻:

McKee SP, Harrad RA. Fusional suppression in normal and stereoanomalous observers. Vis Res. 1993 Aug;33(12):1645-58.

Fu VL, Norcia AM, Birch EE. Fusional Suppression in Accommodative and Infantile Esotropia. Invest Ophthal & Vis Sci May 2006, Vol.47, 2450. ARVO Annual Meeting Abstract May 2006.

Birch EE, Fu VL, Norcia AM. Fusional Suppression During Infancy. Invest Ophthal & Vis Sci May 2006, Vol.47, 2449. ARVO Annual Meeting Abstract May 2006.

 

 

以上展示我們利用2個單元的小規模最長序列演算法同時記錄兩眼的視誘發電位。類似的設計可以同時記錄單眼鼻、顳側視野的視誘發電位(2單元);同時記錄兩眼鼻、顳側視野的視誘發電位(4單元)等等。兩眼鼻側視野(顳側網膜、非交叉視路,uncrossed optic pathway)之間的交互作用是非常有興趣的,因為非交叉視路是物種演化上,兩眼由頭部兩側逐漸移到前面,兩眼的視野變成有部分重疊,從而產生雙眼視之後才漸漸加重比例、增加數量的,應該和雙眼視覺的機制有密切的關聯。

 

多焦網膜電圖和視皮質誘發電位檢查和視野檢查有幾分類似。後者是受試者主觀(subjective)地作出反應的心理物理學(psychophysics)檢查,前者則是客觀(objective)的電位記錄。

 

曾有人記錄多焦瞳孔收縮反應(Multifocal pupillary light reflex),看看網膜上每一個位置接受光亮對瞳孔收縮反應貢獻的比重。

 

有人先以黃光背景漂白(bleach)紅錐細胞和綠錐細胞,之後以藍光六角形跟隨最長序列記錄藍錐細胞的多焦網膜電圖,用來追蹤青光眼傷害藍錐細胞的病程。

 

總之,發揮想像力,好好利用最長序列這個多輸入、單輸出,再從單輸出裡分析對各個輸入的個別反應的強大系統。