Zemax 的人類眼球模型


Zemax 的人類眼球模型

Author
Message
Zemax_Taiwan
Zemax_Taiwan
Forum Member
Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)

Group: Administrators / Zemax Staff
Posts: 214, Visits: 2.5K
摘要:本文章最早發布於June 18, 2007,並於2013年底重新修訂,主要有以下更動。
● 重建非序列模型,使眼球模型環繞在全域座標中心參考,這可以讓眼球的旋轉跟位移更加容易。
● 加入一個雙筒目鏡的非序列模型,此模型可以控制兩眼聚焦角以及雙瞳間距等參數,並且加入光源光線以顯示視線的方向。
● 序列模式有些許改進,以下文章會詳述。
● 文字的編排上有些許改進。
在過去的150年之間,共有10個以上的眼球模型被發表,從非常簡易的 “簡化” 眼球 (單一折射面) 到非常複雜,有4000多個折射面的模型都有。這篇文章示範了幾個Zemax OpticStudio序列與非序列的眼球模型,並包含必要的玻璃目錄資料。
原文連結:Zemax Models of the Human Eye
原文作者:Rod Watkins - Director of Strategic Development Optometry and Vision Science, Flinders University
原文發布時間:December 17, 2013
範例檔案:附件下載

介紹
眼期的光學模型通常用於設計檢查眼球內部的儀器,例如用來檢查眼底照相機的照度均勻度。或是用來設計給眼睛觀看用到元件,例如視光眼鏡、隱形眼鏡以及人工水晶體等。又或者是用來研究眼球本身的光學系統,包含一些疾病對視網膜成像的影響,例如角膜瘢痕或是白內障。

在過去的150年之間,共有10個以上的眼球模型被發表,從非常簡易的 “簡化” 眼球 (單一折射面) 到非常複雜,有4000多個折射面的模型都有。有一些模型包含漸變折射率的水晶體,有一些用兩個或更多均勻折射率的材質替代漸變折射率,而另一些則使用單一均勻折射率的鏡片。

對於各種不同的研究用途,並不存在單一的理想模型符合所有需求。事實上把眼球模型變複雜不見得對於模擬所有眼睛或是特定眼睛的精確度提升有幫助。舉例來說,如果把水晶體的折射率改為漸變形式,不會得到比單一折射率晶體更多有用資訊,反而還顯著降低優化時計算光線的速度的話,則我們沒有道理要做這樣的改變。通常單一波長加上近軸近似就可以對應很多需求,這種狀況下通常用一個很簡易的球面即可以應對。常見的 “簡化” 之近軸眼睛會是一個單一的折射面,帶有60屈光度 (diopter) 以及4/3的折射率。推算可知其曲率半徑為5.55 mm,並且軸項長度為22.22 mm。這樣的模型在計算視網膜影像大小時特別好用。因為節點 (Nodal point) 的位置是在折射面起算5.55 mm的位置,已知位置與大小或是視場角的物體在成像時的高度 (圖中的h) 都可以透過簡單的幾何計算把光線投影到16.67 mm處而得知。這個近軸的的模型對於10度以內的入射光來說,誤差僅在幾個百分比以內。


以下所描述的Zemax模型包還在本文章所提供下載的壓縮檔中。在開始使用之前,請看一下使用到的玻璃庫,這個模型是基於特定的波長範圍與其權重、特定視場角與其權重,以及瞳孔大小而建立的,你可以依據自己的需求而修改他們,已符合你的特殊需要。

序列式模型
序列模式約有兩種常見的使用狀況,一個是我們正在使用外部光學系統檢查眼球內部,例如檢眼鏡或是眼底攝影機,這種情況下,視網膜就是物體 (Object)。另一個狀況是眼睛看入一個光學系統,例如眼鏡鏡片或是視覺儀器,這個狀況下視網膜是成像面。
壓縮檔中包含兩個我們認為使用範圍很廣很好用的模型,Eye_Retinal Image.zmx以及Eye_Retinal Object.zmx。雖然些模型的光學系統是一樣的,但在數據編輯器中有很不一樣的配置,如下所見。注意壓縮檔中也包含.SES檔案。

(上圖為Eye_Retinal Image)

因為使用這個模型通常我們在意的是視覺表現,因此這個模型採用 “Photopic” 這個波長權重設定,視場角度為0、10、20度,權重分別是1.0、0.2及0.1,用來表示這些角度上的相對視力,最後還有一個4 mm的瞳孔設定。

(上圖為Eye_Retinal Object.zmx)

在這個模型中,眼底被視為一個實際的物體 (Object) 使用,這個模型使用F、d、C三波長,權重分別為0.1、0.4、1,以代表眼底不同波長的反射率。視場的設定則是角度,值分別為0、10、20度,權重相同。瞳孔大小同樣是4 mm。像空間採用無焦分析。

壓縮檔中另有一個250 mm調節過的眼球,代表相對到角膜有4度的屈光度 (Diopter),這個眼球模型有時候很有用。這個模型的檔案名稱是Eye_Accommodated.zmx。調節過的眼球其水晶體兩端一個會往眼球前房區域突出,另一端往內部玻璃體突入,因此其軸向長度是增加的,此外還伴隨水晶體的直徑下降,表面形狀改變。大部分的調節是發生在水晶體在前房表面部份的曲率增加以及往前移動影響上。

(上圖是調節過眼球的模型)

此模型使用跟Eye_Retinal_Image同樣的模型。請注意這個模型同時也示範了OpticStudio序列模式把鞏膜繪製為超半球 (hyperhemispheres) 的能力 (請看文章下面的OpticStudio工具介紹)。這省下了在眼球前房區中加入一個虛擬面的動作,且讓整個眼球繪圖看起來更符合真實狀況,不過請小心超半球可能會引起光線追跡上的誤解。如果這個部分會被光線追跡經過,則這些面可能需要用兩個半球來取代原本的設定。

這些模型中的各種參數值都是來自於許多的參考文獻,這裡並沒有一一列出。為了簡化,在影響不大的範圍內,這些參數被簡單的四捨五入過 (例如軸向長度是24.0 mm、視網膜半徑是11.0 mm、放鬆狀態下的前房表面是半徑10.0 mm的球面)。這個模型被設計為接近真實眼睛的平均量測結果,除了水晶體採用單一折射率以外。在這個模型中,我們微調水晶體後表面的圓錐係數,以取代真正的折射率漸變特性 (此模型中水晶體後表面比真正的狀況還要扁平一些,以等效中間部分折射率較低的特性)。在真實眼球的量測中,我們知道這個面或多或少有雙曲面的特性,並且這個特性對於消除離軸像差有非常關鍵的效果。

這個均勻折射率的設定的好處是,可以很大幅度的降低優化以及非序列追跡時所需的時間,並且這樣的近似能符合大部分的使用需求。然而,在一些特殊研究中,漸變折射率的模擬可能是非常關鍵的,此時請參考本知識庫中標題為 “如何在OpticStudio中模擬人眼 (眼球)” 的文章。

非序列模型
許多視光儀器會把光線引導到眼睛內部,此時如果能模擬光線傳遞到眼內的系統,以及在視網膜上照度的均勻度等,將會非常有幫助。在一些案例中,光線會被聚焦到視網膜上,例如用雷射治療糖尿病視網膜病變。而在其他案例中,光線會被聚焦在瞳孔上,因而照亮廣視野,例如非直接式的檢眼鏡。這種兩狀況都可以用同一個非序列模式完成,僅有光源幾何參數需要調整。

真實眼球的光學介質通常不是完全透明,而OpticStudio的非序列模式也提供的強力的工具以研究這些效應在許多病理或生理上的影響。藉由加入吸收、散射以及雜質,我們可以模擬例如角膜瘢痕、白內障、玻璃體漂浮物,以及外來雜質等的影響。同樣的,我們也可以檢視光線在角膜邊緣散射或是眼內散射的效應。

這裡所包含的非序列眼球模型是Eye_NSC.zmx這個檔案。其利用跟序列模型一樣的玻璃目錄。在元件編輯器中 (NSCE) 的第一個物件代表的是整個眼球的中心參考,整個眼球可以透過調整這個參考底的參數來輕易的位移、旋轉。這個檔案中打開的Shaded Model視窗設定為Brightness = 90%以及Opacity = 50%,以讓內部結構可以被清楚看到。你可以點一下視窗左上的箭頭圖示以確認設定值。

(上圖為Eye_NSC.zmx模型)

這個模型使用F、d、C波長,權重相同,並且光欄 (STOP) 設為6 mm直徑,以表示輕微放大的瞳孔。預設的視網膜探測器的大小是全角50度,用來分析大視角下眼底的照明狀況。請注意這個模型的像素大小可能會比物體點光源的成像還要大,因此Detector Viewer上的光分佈顯示的可能只是像素的尺寸,而不是影像的尺寸。如果有需要分析影像大小時,需要把像素尺寸縮小 (可能也需要減少波長範圍以及光瞳尺寸) 。此外須注意視網膜探測器上的像素數對於計算時間會有很大的影響。最大的探測器孔徑應盡可能不要比真正想觀察的區域大上太多。

(上圖為 Eye_Binocular.zmx)

此模型的雙瞳間距 (interpupillary distance,PD) 以及聚焦角 (convergence angle) 可以利用 "Reference Point 1" 這個null object的參數來調整。檔案中有一個軸向光源,用來表示眼球到物體的視線。 (在真實眼球中,視線大約偏向鼻側,與物空間光軸夾4度角 – 稱為 “alpha angle” – 但這個模型中,兩者是共同的。

材料目錄
在附件的檔案中,有一個稱為EYE.AGF的zip壓縮檔必須被複製到Zemax玻璃目錄,以使用眼球模型。使用者可以在 Setup > Project Preferences > Folders中找到資料位置的設定。完成複製後,請點一下F4以打開材料目錄設定,並確認OpticStudio有順利找到這個檔案。

這個材料目錄建立自公開的真實眼睛量測資料,通常這些資料只有提供很有限的波長,通常是F、D、C。因為這些原因,我們使用Conrady公式來描述,因此材料僅支援可見光到近紅外線,並且Nd與Vd沒有被四捨五入。
如果波長範圍需要被擴充到UV或IR,OpticStudio中有一個很有用的材料庫叫做MISC,其中包含Schott公式描述的海水材料 (Seawater),波長範圍從0.334到2.325。因為人眼房水與玻璃體中的成分組成類似於生理鹽水,雖然折射率稍有不同,但色散的效應可以透過海水這個材料來合理評估

OpticStudio相關工具
OpticStudio有許多的工具可以在建立眼球模型時有幫助,而對於不同的應用,我們還可以微調以更加符合需要。
1. Layout:通常因為面的邊緣很陡峭,或真實眼球並不是在兩側用兩個序列面邊緣相連可以表示的等等原因,設計時,在Layout中我們不會刻意讓面的邊緣連起來,以求讓整體繪圖清晰易懂。然而在某些狀況下,我們也許還是會需要把邊緣繪出。此時相關的控制選項可以在LDE > Surface Properties > Draw中找到。

在序列模式中,有些面的邊緣會畫出來,而有些不會。上面的範例中,繪圖中的視網膜半球看起來一直延伸到前面,直到角膜是瞳孔中間,如果這個前方延伸的部分會干擾設計者判斷,使用者可以考慮移除這個面,然後把視網膜後半球的邊緣連結到水晶體。在Eye_Accommodated.zmx模型中,我們藉由Object Cone Angle做為系統孔徑,並設定一個會有歧義的數值,強制讓視網膜面成為超半球,使用者可以在System Explorer > Aperture看到相關設定。我們在鞏膜 (Sclera) 上也套用了同樣的設定。這是一個繪製Layout很有用的技巧,不過我們序列面上的歧義代表了這個設定下的光線追跡一般是不可能的。欲使用這個模型設計光學,我們通常會取消超半球的設定,並用其他序列模型的兩個半球來替代。

在非序列模式中,要把物件包含在另一個物件中,則相對簡單許多,因此在使用超半球來表示鞏膜等用途上,並沒有歧義問題。非序列中超半球面的繪製是非常容易的:只要把面的孔徑值設為負數即可。

2. 波長:OpticStudio中一個對模擬眼球模型非常有用的的工具是插入常用波長,例如FdC可見光、亮視覺 (Photopic) 或是暗視覺 (Scotopic) 等波長,系統會自動調整相對波長強度比例。如果系統是用來觀察視網膜的 (Eye_Retinal Object),用FdC波長會比較適合。如果系統是用來讓眼睛看進去另一個光學系統的 (Eye_Retinal Image),則用亮視覺會比較適合。使用者可以打開System Explorer > Wavelength,選擇Photopic (Bright),然後點一下Select Preset。

波長的選擇很重要,值得注意的是,眼睛的橫向色差非常小,因為第二主面 (Second Principal Plane) 非常接近系統的孔徑光欄 (Aperture Stop),但相對的,縱向色差則非常顯著。我們實際量測2.5屈光度的眼球,其像差會與這些眼睛模型的預測接近。

3. 視場角度權重 (Field Angle weight):當查看視網膜時 (例如用眼底照相機),影像必須不偏離30度左右太多,並且視場角度需要相似的權重。 (視光儀器製造商通常用視角邊緣之間的夾角規範,而不是採用從光軸起算的角度,也就是Zemax定義的兩倍。另外,當視網膜是像面時,中央小窩的相對視力被定義為1.0,而在2.5度時為0.5、10度時0.2、20度時0.1,最外圍時0.025。不正確的權重選擇會使優化系統得到錯誤的結果。使用者可以在System Explorer > Fields定義視場。

4. 影像品質:當視網膜是物面時,一般的像差及解析度分析工具 (光扇圖、點列圖、MTF等) 就很好用了。然而當我們需要考慮眼睛正在注視什麼時,OpticStudio提供了一些非常有用的工具:

4A. 請開啟OpticStudio並選擇Analyze > Extended Scene Analysis > Geometric Image Analysis。你可以看到軟體內建有好幾個圖片檔供使用。特別是LETTERF.IMA以及LINEPAIR.IMA這兩個檔案很有用,因為他們可以直接對應到視力檢查表,有需要時,使用者也可以很輕易的自訂圖案。因為正常視力 (6/6、20/20、1.0) 都是對應到物空間中5弧分 (arc minutes) 下五條線圖案 (例如字母E) 的解析度。這樣的圖案在簡化版眼球模型中可以得到一個0.024 mm的影像尺寸。使用Eye_Retinal Image模型並開啟Geometric Image Analysis,可以顯示出不同波長時,因為縱向色差,影像品質有顯著的不同。 (選用LETTERF.IMA並給Image Size輸入一個大約0.024 mm左右的值,並給Field Size也輸入接近的值) 這對於比較光學系統改變前後的視網膜影像非常的有用,但當我們要對視力下結論時,還需要特別注意的是透過神經網路把訊號送到大腦這部分,也可能對實際感知到的視力有很大影響。 (因為同樣的理由,我們無法把此眼球模型的LINEPAIR.IMA的頻率或是MTF頻率直接對應到視力)。

4B. 請開啟OpticStudio > Extended Scene Analysis > Geometric Bitmap Image Analysis。此工具允許使用bitmap點陣圖當作真實景色,然後投影到視網膜上。此工具中可以看到軟體內建了數個範例圖,並且使用者需要時也可以自己建立圖片。舉例來說,在Eye_Retinal Image模型中,預設會開啟這個分析視窗,其中選擇了Alex200.BMP,設定Pixel Size = 0.0025 mm (大約視中央小窩的柱狀細胞區域的大小),並且依電腦效能以及影像品質需求適當的設定Field Size以及Rays/Pixel兩個參數。 (在這個範例檔中,Alex被放在距離眼睛8公尺處) 這會是一個非常有用的方式,可以估計改變光學系統時,視網膜影像品質的不同。


5. 光線瞄準 (Ray Aiming):眼球的入瞳隨著視場角度而改變外型與位置,因此為了計算不同視場角下正確的光瞳尺寸,我們需要開啟光線瞄準 (Ray Aiming)。使用者可以在System Explorer > Ray Aiming中調整,通常Paraxial Ray Aiming就足夠使用,但我們鼓勵使用者閱讀Help以及此知識庫中相關的文章來了解Ray Aiming細節。 (請注意本文章入瞳指的是幾何光學下的名詞,而瞳孔指的是實際上眼球內真正遮光的部分 (光欄,或稱STOP)。

6. 其他有用的OpticStudio工具

6A. Toroidal面:大部分的真實眼球都會有散光,一般來說原因是角膜在某個方向上的曲率更加陡峭。這個效應可以透過序列模式中的Toroidal面來模擬。在序列與非序列中都有對應的面與物件可以模擬。

6B. 眼球轉動,面傾斜以及離心:這些可以藉由使用Coordinate Break來在序列模型中建立,而在非序列模式中則是單純改變物件的參數。在一些範例中,眼球轉動大角度並觀看光學系統時,我們可能需要考慮其實眼球並沒有固定的轉動中心。因為在不同角度時,眼球周遭的六條肌肉的出力不相同,因此事實上眼球旋轉時還會順帶位移!在小角度時,測量顯示轉動中心平均在角膜前表面往後方15.4 mm以及並往鼻尖橫向移動1.6 mm的位置。然而,這裡我們使用最簡單的方式,直接利用Coordinate Break把眼球中心設定在眼球中心 (在這個模型中大約是角膜前表面往後13 mm,且不需在橫移) ,我們發現有些情況下,這個假設會造成很大的錯誤。

6C. 公差分析:許多研究量測了真實眼球的光學參數,並指出藉由考慮各單一參數分布的疊積而預測的折射率分布與實際量測的結果不同。OpticStudio的公差分析提供了很強力的方式來研究,並讓理論模型更接近實際狀況。

結論
眼球的光學模型可以有非常多的用途,且並不存在單一最佳模型來應對所有的研究。經常一個非常有簡化的模型就可以快速地給出需要的答案,而複雜的模型反而不會給出更多有用的結果。
OpticStudio有許多強力的工具已建立並使用眼球模型,非常值得使用者花一點時間把他們的用法弄清楚。

GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search