模拟偏振敏感的散射过程

概述

这篇文章介绍了如何在OpticStudio中使用一个自定义的DLL模拟偏振敏感的体散射和荧光现象。该散射模型由MSP.DLL文件定义,它考虑了非序列模式下入射光的偏振属性,模拟了散射对光线的传播方向和偏振态的影响,并且该模型还可以用来模拟考虑米氏散射 (Mie Scattering) 的荧光现象。在模拟生物成像时,考虑荧光以及偏振敏感的散射现象是十分重要的。最后,本文还总结了基于MSP.DLL体散射模型的7个应用示例。本文使用的附件请从以下链接下载:

https://customers.zemax.com/ZMXLLC/media/Knowledge-Base/Attachments/MSP_v3.zip


介绍

在很多应用情况中,模拟光线在浑浊介质中的散射作用是十分重要的,例如遥感、水下成像以及在大气湍流印象下成像等。其中,在模拟生物成像时尤为重要,这是因为在生物成像系统中,光线经常需要传播穿过浑浊的介质或具有散射性质的样本。使用OpticStudio的非序列模式可以方便快捷的对这些现象进行建模,在OS中提供了很多严谨有效的体散射模型以及示例成像系统。本文简单介绍了使用MPS.DLL散射模型模拟米氏散射中的偏振效应,更多使用信息请参考文献[1]。


模拟散射

当光线入射到一个浑浊的介质时主要发生两种效应:吸收和散射[2]。我们可以使用蒙特卡洛方法使用光线对光束进行采样,这些光线在穿过浑浊样本时会发生吸收和散射现象。其中,样本的光学参数决定了光线在穿过时发生吸收或散射的概率。

在OpticStudio中模拟吸收现象的其一种方法是根据Beer-Lambert定理对光线的光强进行衰减,其中z是光线在介质中传播的距离,μa是吸收系数。下图演示了光的吸收效应,其中上图为宏观下的输入光束,下图为蒙特卡洛模拟光线追迹:

光束由N根光线表示(本例中光线在截面上随机分布),并且每根光线的强度Iray等于光束的总光强I除以光线根数N。每根光线在穿过介质时都会产生吸收,衰减率由exp(-zμa)决定。

当散射发生时,光线的强度保持不变,但是光的传播方向因散射而改变。这会造成光线从入射光束中偏离进而使入射光发生损耗。在本例中,散射造成衰减率由exp(-zμs)决定,其中散射系数μs为平均自由程的倒数,用以表征散射发生的概率,如下图所示:

介质的属性(例如折射率、粒子尺寸和浓度等)决定了散射的平均自由程和概率角分布。散射模型改变光的传播方向,最终导致光线偏离入射光方向。散射介质会使入射光形成新的远场分布,在不考虑吸收效应的情况下,所有方向的散射光的强度与输入光相同。(本例中为了保证模型的有效性,散射活动必须相互独立)因此,散射造成光束强衰减是由于输入方向上光线根数的减少造成的。

发生散射时,光线的散射方向由相应的概率分布函数决定,该函数最终反映为散射的远场强度分布。这也意味着只要追迹足够多的光线,我们就可以得到较为准确的散射远场强度分布。其中该概率分布函数也称作相函数 (Phase Function),常用的相函数包括Henyey-Greenstein相函数、米氏 (Mie) 相函数和Rayleigh相函数等。


偏振敏感的散射过程

通常来讲,相函数与入射光的偏振相关[2]。使用Henyey-Greenstein相函数可以快捷的模拟生物样本中的散射效应,但该函数不考虑入射光的偏振。在一些散射模拟中,我们需要使用更详细的物理模型,例如分析模拟入射光的偏振态对米氏散射的影响。本文附件中给出的MSP.DLL散射模型可以准确模拟米氏散射中的偏振效应(准确模拟每根光线的电场分布)。

在OpticStudio非序列下使用该散射模型需要先将MSP.DLL文件保存在Zemax根目录下DLL > BulkScatter文件夹中,您可以在非序列编辑器 > 物体属性 > 体散射(Bulk Physics) > DLL文件散射 (DLL defined scattering) 中调用MSP.DLL文件:

这里我们使用相函数图表来表示散射分布。下图给出了不同粒子尺寸(参数α)和不同偏振态(参数L,L=0表示随机偏振光,L=1表示线偏光)下的米氏散射示例。在下图中,光线沿Z轴发射,其偏振方向(无论是线偏振还是椭圆偏振)沿Y轴方向。包裹的表面表示各个方向上的散射概率。从图中可以看出,相函数及其表征的散射方向与入射光的偏振态L相关。

在上图所示的米氏散射模型中,散射也改变光线的偏振态,所以我们需要及时更新散射光线的电场数据(偏振)。在散射过程中正确计算偏振需要以下三个步骤:

1、计算输入光的偏振态,L

2、根据偏振敏感的相函数计算新的传播方向

3、更新散射光线的电场数据

在OpticStudio中,其它体散射模型并不考虑光的偏振(假设散射光为随机偏振态)。散射光的电场方向始终与传播方向垂直,即k*E=0,但不会实际的偏振态并不会被记录。


实例建模

接下来我们将通过几个实例一起探索在OpticStudio中使用MSP.DLL模拟偏振相关的散射过程:


实例1

在第一个实例中,我们首先设置一个点光源向散射样本发射光线,并将探测器设置在散射样本的上方,如下图所示:

设置光源为只发生一次散射(位于光源物体的物体属性中的光源标签栏中)并设置散射样本的平均自由程为一个很小的数值(0.001mm)。这将使光线在样本中迅速发生散射并且散射只发生一次。设置样本材料的折射率为1以使样本的外形不影响散射光线的传播方向。因此,探测器接收到的强度分布只和散射样本的相函数相关。

当样本中的粒子尺寸设置的非常小时,样本中的散射属于Rayleigh散射范畴。在本例中,我们已知Rayleigh散射的简单解析解 (Closed-form solution),我们可以很直观的将其结果与理论值进行比较。下图表示探测器接收到的非相干辐照度分布及其纵轴截面分布,此时入射光定义为随机偏振光或圆偏振光。

根据探测器的摆放位置,辐照度分布的纵轴方向与入射光方向一致,因此探测器的每个像素表示了不同方向角,并且越靠近边缘强度越低。将其与随机偏振Rayleigh相函数的理论分布相比较:

上图为理论上的随机偏振Rayleigh相分布,橙色标记的角度范围表示探测器在纵轴方向上的延展区域。该角度范围内的光强分布被探测器记录(探测器长度为1mm,与样本距离为0.2mm)。将理论值与MSP.DLL计算结果相叠加,如右图所示,可以看出仿真结果与理论值相符。


实例2

将随机偏振的入射光设置为垂直线偏光(在光源物体的物体属性 > 光源标签栏中设置)将得到完全不同的分布结果:

如右下图所示,MSP.DLL模拟的Rayleigh散射和偏振结果与理论值相符。


实例3

在上文的实例中我们看到了相函数和输入光偏振的相关性。我们可以进一步验证不同入射光偏振态下的散射分布变化:假设同样还是随机偏振光入射,但使用偏振探测的方法,只接收于偏振方向与探测器局部Y轴方向一致的偏振光(在矩形探测器中,设置偏振参数为2)。结果如下图所示:

从右下图可以看出MSP.DLL的计算结果与理论值相符。


实例4

另一个探索相函数与偏振态相关性的方法是在OpticStudio中使用多个散射角范围内的单像素探测器,直接测量散射强度分布。系统布局图及探测结果如下所示:

在右图中我们可以看到,每个探测器的探测强度表示一个测量点的数据(点)。Rayleigh散射的理论预期结果(线条)也绘制在图中用于参考。图中蓝色、红色和黄色分别对应X方向的线偏光、Y方向的偏振光和随机偏振光。可以看出模型计算出的数据与理论值相符。


实例5

目前为止,我们探索了Rayleigh散射范畴内的偏振依赖性。MSP.DLL对于通用的米氏散射同样有效。在本例中,我们使用和前三个实例相同的系统设置但增大粒子尺寸到米氏散射范畴。同样,比较理论值与MSP.DLL的计算结果(虽然米氏计算并不是简单的求解析解,但它也可以通过数值计算得到[3])。粒子尺寸分别为0.1λ(上),0.2λ(中)和0.5λ(下)的计算结果如下图所示:

我们可以从强度分布看出:随着粒子尺寸的增加,与入射光方向相同的正向散射逐渐增强,这也和理论预期相符。


实例6

与实例4相似,我们可以在样本纵向的360°方向设置多个单像素探测器来测量相函数分布:

每个探测器测量得到的强度数据以极坐标图的形式展示,如右图所示,该测量结果显示MSP.DLL计算得到的强度分布与通用的米氏散射强度分布相吻合。


实例7

最后我们将展示一个更加通用的偏振散射结果。通过测量来自散射介质平板的背向散射来计算穆勒矩阵(Mueller Matrices,与每个像素相对应)作为空间地图 (Spatial Map)。探测器位于平板的前表面并且只用来接收背向散射光线。一束光正向入射到散射介质的平板上。在进入散射介质后,光线发生多次散射,其中一部分光线最终散射回物空间并被探测器接收:

我们可以使用MSP.DLL来计算偏振敏感的散射,并将输出光线的偏振态与入射光的偏振态相联系。斯托克斯矢量 (Stokes Vector) 是用来描述偏振的标准方法,它使用四个参数定义任意常规的偏振态。因此,任何光学元件对光束偏振态的影响都可以使用穆勒矩阵来定义,其中输入和输出的偏振态可由四个参数的向量表示,因此穆勒矩阵为4x4矩阵:

在本例中,散射介质平板可被看作一个光学元件,它改变了背向散射光线的偏振态。光线在探测器上的位置趋近于中心点。因此我们可以计算出相应的穆勒矩阵,但是这个4x4矩阵是基于背向散射光线的出射点位置的,这也是为什么可以通过计算穆勒矩阵得到空间地图。计算结果如下所示:

由于这些图表示了散射介质平板的背向散射偏振态的全测量结果(对于本例而言),这个结果可以看作是偏振探测的通常情况。


模拟荧光现象

除了可以计算偏振敏感的米氏散射效应,MSP.DLL还可以用来模拟荧光。MSP.DLL使用OpticStudio体散射工具提供的波长偏移 (wavelength shift) 功能来模拟荧光现象。通过输入文本字符串 “wave1, wave2, prob” 来定义散射过程中入射光的波长从波长编号1变到波长编号2的概率。

该方法可以在体散射定义的平均自由程内以一定概率产生荧光。如果产生荧光需要更长的平均自由程(在产生荧光前的平均光程),则可通过降低前文定义的荧光产生概率来实现。在MSP.DLL中,您可以设置产生荧光的平均自由程短于散射的平均自由程。这可以通过输入 “Fluorescence mean free path(荧光平均自由程)” 来实现,该参数会决定荧光产生前(以前文定义的概率)光线传播的平均距离。该距离参数可以低于散射的平均自由程,但不能更高。

如果一根光线产生荧光,则其波长、传播方向和偏振态都会产生相应的变化。荧光的传播方向遵循各项同性的原则,其偏振态会设置为随机方向的线偏振光,并且光的初始相位为随机相位。在许多根光线平均叠加后,发射的荧光表现为非相干光。该特性只存在于产生荧光的时候。

如果光线发生体散射,则散射光线会计算新的平均自由程,通过材料属性和米氏散射的相函数可以计算得到新的传播方向,偏振态也会根据米氏理论更新。因此散射和荧光现象可以被同时模拟。我们可以利用这一特性模拟具有自荧光特性的散射样本,或穿过该介质的成像结果[1]。


小结

这篇文章讨论了OpticStudio非序列模式中体散射模型的偏振敏感性。本文提供的MSP.DLL散射模型可以考虑散射中偏振效应,并在文中列举了多个实例验证了模型的偏振敏感性。该模型还具备同时模拟米氏散射和荧光现象的能力。在模拟生物成像时,往往需要同时对成像系统以及散射(荧光)样本对光的散射作用进行建模,因此同时模拟荧光和散射以及考虑米氏散射的偏振特性是非常重要的。