news 2026/7/12 20:30:18

optiland点扩散函数PSF

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 lens=CementedAchromat()lens.draw()plt.show()fromoptiland.psfimportFFTPSF psf=FFTPSF(lens,field=(0,1),wavelength=0.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)}S=Iideal(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)^2Sexp(λ2πσ)21(λ2πσ)2

式中λ \lambdaλ是工作波长,σ \sigmaσ是波前误差的均方根。

这个消色差透镜的Strehl比非常小,说明波前误差很大

psf.strehl_ratio()# 0.03504820744547657
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 20:29:16

第三篇 | HarmonyOS 随机工具技术实现:随机引擎、转盘 Canvas 与结果闭环

​编辑摘要随机工具不是一个 Math.random() 就结束。本文从“转盘决定吧”的转盘、随机抽取、硬币、骰子四类功能出发,拆解一个随机功能的完整技术闭环:输入校验、随机生成、动画反馈、结果页展示、历史记录写入。1. 随机功能的最小闭环​编辑一个可发布…

作者头像 李华
网站建设 2026/7/12 20:24:41

【AI智能体】Cursor 进阶高级使用技巧实战操作详解

目录 一、前言 二、Cursor 介绍 2.1 Cursor 是什么 2.2 Cursor 核心特性 2.3 Cursor与传统IDE区别 2.4 Cursor与传统IDE核心差异总结 三、Cursor 进阶高级技巧案例使用 3.1 TAB 使用 3.1.1 代码/注释自动补全 3.1.2 TAB 键深度使用 3.2 Cursor 内联智能使用 3.2.1 什…

作者头像 李华
网站建设 2026/7/12 20:23:46

neomerx/json-api与其他JSON API库对比:优势、劣势与适用场景

neomerx/json-api与其他JSON API库对比:优势、劣势与适用场景 【免费下载链接】json-api Framework agnostic JSON API (jsonapi.org) implementation 项目地址: https://gitcode.com/gh_mirrors/jso/json-api 在构建现代化的RESTful API时,JSON …

作者头像 李华
网站建设 2026/7/12 20:23:03

Windows系统文件blbres.dll丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/7/12 20:17:48

开心消消乐动画与音效制作:提升游戏体验的关键技巧

开心消消乐动画与音效制作:提升游戏体验的关键技巧 【免费下载链接】kaixinxiaoxiaole 使用cocos creator 编写的三消游戏 开心消消乐 项目地址: https://gitcode.com/gh_mirrors/ka/kaixinxiaoxiaole 开心消消乐作为一款经典的三消游戏,其成功不…

作者头像 李华