optiland点扩散函数PSF

📅 2026/7/12 20:30:26
optiland点扩散函数PSF
文章目录PSF简介与测试FFTPSF参数strehl比PSF简介与测试点扩散函数(Point Spread Function, PSF)是评估光学系统成像质量的最核心、最本质的物理量。简单来说就是当一个理想的无限小点光源经过实际光学系统后在像平面探测器上形成的光强分布。设物平面的光强分布为I o ( x , y ) I_o(x,y)Io​(x,y)像平面的光强分布为I i ( x , y ) I_i(x,y)Ii​(x,y)在空间不变假设下成像过程可表示为I i ( x , y ) I o ( x , y ) ⊗ P S F ( x , y ) N ( x , y ) I_i(x,y)I_o(x,y)\otimes PSF(x,y)N(x,y)Ii​(x,y)Io​(x,y)⊗PSF(x,y)N(x,y)其中⊗ \otimes⊗为卷积N NN为噪声P S F PSFPSF即点扩散函数。则不考虑噪声的情况下对上述过程进行Fourier变换则F [ P S F ] F [ I i ] F [ I o ] \mathcal F[PSF]\frac{\mathcal F[I_i]}{\mathcal F[I_o]}F[PSF]F[Io​]F[Ii​]​即通过快速Fourier变换可以快速计算点扩散函数。所以optiland中提供了FFTPSF类用于计算点扩散函数。下面以消色差胶合透镜为例其结构如下其点扩散函数为代码如下importmatplotlib.pyplotaspltfromoptiland.samplesimportCementedAchromat lensCementedAchromat()lens.draw()plt.show()fromoptiland.psfimportFFTPSF psfFFTPSF(lens,field(0,1),wavelength0.65)psf.view()plt.show()FFTPSF参数除了Optic类型的光学系统之外【FFTPSF】在初始化时还可以传入以下参数【field】视场范围格式是H x , H y H_x, H_yHx​,Hy​代表的是视场边缘位置。【wavelength】波长除了可以输入以微米为单位的浮点型数值外还可以输入‘primary’表示光学系统的主波长。【num_rays】定义追迹光线数默认128。【grid_size】FFT网格尺寸。【strategy】计算策略可选参数包括chief_ray(以主光线为参考), centroid(以光斑质心为参考)和best_fit(以最佳拟合球面为参考)默认chief_ray.【remove_tilt】布尔型是否在计算结果中自动移除“倾斜 (Tilt)”和“活塞(Piston)”项这两项通常不影响成像清晰度仅代表参考系的偏移。FFTPSF的返回值是一个ScalarFFTPSF对象对象中的【psf】存储了点扩散函数的离散数组。strehl比Strehl表示实际光学系统 PSF 的中心峰值光强 与 同口径、同波长下完美无像差衍射极限系统的 PSF 中心峰值光强 之比即S I a c t u a l ( 0 , 0 ) I i d e a l ( 0 , 0 ) S\frac{I_{actual}(0,0)}{I_{ideal}(0,0)}SIideal​(0,0)Iactual​(0,0)​S SS越小代表波前误差越大能量从中心主斑扩散到了周围的旁瓣或背景中成像越模糊。根据Maréchal 近似S ≈ exp ⁡ − ( 2 π σ λ ) 2 ≈ 1 − ( 2 π σ λ ) 2 S\approx \exp-\left(\frac{2\pi\sigma}{\lambda}\right)^2\approx 1-\left(\frac{2\pi\sigma}{\lambda}\right)^2S≈exp−(λ2πσ​)2≈1−(λ2πσ​)2式中λ \lambdaλ是工作波长σ \sigmaσ是波前误差的均方根。这个消色差透镜的Strehl比非常小说明波前误差很大psf.strehl_ratio()# 0.03504820744547657