用于眼睛像差评估的Shack‑Hartmann传感器建模
介绍
无论是在研究中还是通过工业设备开发后用于临床目的,Shack‑Hartmann 传感器被广泛应用于测量人眼所产生的像差。
原理
这种装置的基本原理可以描述如下:光束聚焦在用作光扩散器的视网膜上,尽管出于安全考虑优选使用近红外进行测量,但光束的主要部分被这种复杂介质吸收。光的弱背向反射部分穿过人眼结构的不同元件,例如前房的玻璃体和晶状体以及后房的房水和角膜。每一个元件都会对眼睛出瞳处波前的形状产生影响。
下图描述了人眼的构造:https://www.britannica.com/science/ human‑eye
光学系统将眼睛瞳孔和具有给定放大倍数的Shack‑Hartmann 传感器结合起来[1]。下图显示了使用Shack‑Hartmann 传感器进行的人眼像差测量。
Shack‑Hartmann 传感器由小透镜阵列和位于小透镜焦距处的成像传感器组成。每个小透镜通过评估成像传感器上的横向焦点位移来局部测量波前变形。
Shack‑Hartmann 原理如下图所示:https://en.wikipedia.org/wiki/Shack%E2%80%93Hartmannn_wavefront_sensor
该测量不能被视为绝对结果,而是被视为与参考波前(通常是平面波)进行比较的相对变形。然后根据每个小透镜发出的局部结果重建整个波前。Zernike多项式可用于区分和量化眼睛产生的像差类型[2]。
这种系统会产出一个在精度、灵敏度和动态范围之间折中的结果。例如,大的微透镜将提高系统灵敏度。但大型微透镜也意味着无法检测到透镜区域内波前的局部变化,这意味着结果精确度的损失。
为了获得像差波前的可靠重建,在OpticStudio中对系统进行建模有助于确定单个微透镜元素尺寸并评估系统对结果的影响。事实上,系统建模能够评估所选镜头附加波前变形的潜在影响,并可能校准系统。
对于建模来说,系统可以分解为三个部分:人眼建模、采集光学系统和Shack-Hartmann传感器。本文将描述每个部分的建模以及评估系统性能的分析工具。
在本文中,不会对将焦点聚焦到视网膜的注入部分进行专门建模,主要关注的是采集光学系统和传感器。
第1部分:人眼建模
已经提出了几种不同的方法来对如此排列复杂的人眼结构进行建模。此处使用的方法可在之前的微信推送中找到:如何在OpticStudio中模拟人眼。
视网膜中心设置为物体位置(surface 0),光阑固定在眼睛瞳孔(surface 5)处,并根据外部环境给定直径在2到8mm之间变化。
后房玻璃体液的长度是造成视力异常的原因之一。多重结构编辑器可用于根据不同的屈光不正的情况来定义和跟踪系统属性。
第2部分:采集光学系统
在本文中,我们将使用参考文献中 Liang 的期刊论文中所示的设计。它描述了两种无焦系统[1]。
第一望远镜被设定的焦距f1等于第一镜片到眼睛瞳孔的距离。
在第二望远镜中,焦距 f2和 f3 的选择方式应确保有合适的放大倍数,以便根据要检查的光瞳尺寸范围来调整 Shack‑Hartmann 传感器的尺寸。在第二望远镜的中间,第三个透镜的焦平面上有一个针孔,以消除背向散射光,特别是来自角膜的散射光,此类散射对系统产生的障碍较大。
在两台望远镜之间可以进行视场映射,入射光瞳将与 Shack‑Hartmann 共轭。在系统选项中设置:
- 在“孔径类型”下,孔径设置为“光阑尺寸浮动”。光阑表面即人眼瞳孔。
- 在系统孔径中,无焦像空间设置被勾选,因为我们正在处理两个无焦系统。
- 在光线瞄准下,光线瞄准设置为近轴,以便更可靠地填充光阑,特别是在高像差的情况下。有关此选项的更多信息,请参阅知识库文章如何使用光线瞄准。
- 在高级下,参考OPD设置为绝对。为了比较眼睛瞳孔处和 Shack‑Hartmann 前方的波前变形,在两种情况下都根据平面评估波前。
- Zemax 将设置连续的 Zernike 标准多项式作为像差表达方式。
真实镜片的设计如下面的镜头数据编辑器界面所示。
当在同一界面上可视化所有配置时,可以看到不同的屈光不正情况。
第3部分:Shack‑Hartmann 传感器
Shack‑Hartmann 传感器是一个具有给定曲率和节距的透镜阵列。微透镜数据的选择,即尺寸、数量和焦距,必须适应系统所需的动态范围。动态范围与可测量的最大波前变形有关,这主要是由于眼睛屈光不正造成的,它发生在瞳孔的边缘。
Shack‑Hartmann 使用用户定义的表面进行建模:us_array.dll。在参数 3 和 4 中设置150 μm的间距。微透镜的材料、厚度和半径的定义方式与标准表面相同。由系统的像平面表示的成像传感器位于微透镜的后焦距处。有关us_array.dll的更多参数信息可以在 OpticStudio 的帮助系统中找到。
波前图分析
第一项分析可以通过分析Shack-Hartmann入口处的波前(surface 22)来进行。波前图展示了归一化出射光瞳的波前与表面22处的平面波之间的波差异。这些数据可以根据波前图功能区中显示的出瞳直径(以毫米为单位)和系统选项中使用的波长进行缩放。波前图功能区可以显示波前均方根 (RMS) 值和峰谷值 (PV)。
可以用 Zernike标准多项式拟合波前图来测量像差。
下表描述了与 Zernike 多项式和 Zemax 命名法相关的不同像差。Z4 项主要取决于眼睛屈光不正,并且是通常对波前变形的最重要因素。这是在改变玻璃体长度的多重结构内Zernike参数中观察到的主要变化。像散、慧差和球差与眼睛后段问题的关系更大。三阶像差通常幅度较低,但它对视力的影响非常明显,尤其是在弱光环境下。
现在也可以在表面 22 处读取在角膜后面为正常眼睛建立的以下Zernike 多项式,如下图所示:
在角膜(表面8): 透镜后(表面22):
通过将Shack‑Hartmann 前面的 Zernike 参数与眼睛瞳孔前的参数进行比较来评估光学系统在几种像差情况下的可靠性。Shack‑Hartmann模型证明该设备的尺寸正确,可以评估眼睛产生的波前变形。
几何图像模拟
几何图像分析可用于查看 Shack‑Hartmann 传感器上的结果:
在这个模型中,我们从视网膜上的点源开始,但实际上,激光照亮的视网膜主要是散射和吸收的。因此,在本文中,我们将切趾形式定义为高斯。
如下图所示,我们可以通过多种方式查看传感器平面中的辐照度。我们可以通过每个焦点相对于每个微透镜轴上的参考位置的位移来评估波前的局部斜率。整个二维数据集可以在与分析相关的文本文件中恢复,然后可以使用该数据集测试算法并评估其可靠性。
物理光学传播
为了考虑衍射效应而不仅仅是斑点的位置,我们可以使用物理光学传播 (POP) 工具从视网膜(表面1)到成像传感器表面(像面)。
POP 光束定义中的参数是通过读取Analyze…Reports…Prescription Data下的物空间数值孔径找到。
物空间数值孔径定义为:NA=n,sin(θ)=0.126。n=1.34是玻璃体的光学折射率,因此θ等于5.4°。它在POP中被定义为高斯发散角。
请注意,在 Surface 24 上,输出 Pilot 光束半径强制设置为平面。
更多相关信息,请参阅如何将 POP 与微透镜阵列结合使用。
与几何图像分析一样,可以看到传感器平面中的辐照度。
结论
本文通过使用 us_array.dll、Zemax 的几何图像分析或物理光学传播 (POP) 对系统进行序列模式建模,能够评估从眼睛到探测器经过系统不同镜头的光学系统。以及本文介绍了 Zemax提供的可用于在概念的每个步骤评估系统的主要工具, 以及用于实现可靠的系统分析的重要设置。
参考文献
[1]“Objective measurement of wave aberrations of the human eye with the use of a Hartmann-Shack wave-front sensor” Liang et al J. Opt. Soc. Am. A Vol. 11, No. 7 p1949 July 1994.
[2]“Normal-eye Zernike coefficients and root-mean-square wavefront errors ” Salmon, van de Pol, J CATARACT REFRACT SURG - VOL 32, DECEMBER 2006.
翻译:光谱时代 张琛
相关阅读
如何在OpticStudio 中建模人体皮肤以及光学心率探测器