当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/1176173/

相关文章:

  • 5步构建智能数据处理管道:DataFlow让AI数据准备变得简单高效
  • 【WorkBuddy专栏31】AI接入支付的真意义与真缺陷——WorkBuddy支付功能深度评析
  • BurpSuite 插件迁移实战:Windows 环境 3 步完成配置同步与 Python 插件修复
  • 2026 西安黄金回收 闲置奢侈品回收专业问答合集 - 全国二奢机构参考
  • 2026年7月最新杭州爱彼官方售后维修服务网点地址与客服电话 - 爱彼中国官方服务中心
  • 2026树洞女友体验权威安全不踩坑:分手后聊天记录平台是否会彻底删除实测 - 时时资讯
  • futures-await与标准库async/await对比:历史演进与技术差异终极指南
  • 揭秘开心消消乐消除算法:GameModel核心逻辑与匹配规则
  • 私藏三个宝藏网站,每个都让人上头
  • 日常工作哪家表格工具好用?2026年实用选型参考 - 品牌测评鉴赏家
  • Jackhammer与Jira集成指南:实现漏洞自动上报到缺陷跟踪系统
  • 2026年7月最新帝舵南京金陵万象城维修保养服务电话 - 帝舵中国官方服务中心
  • ARA: Adaptive Rank Allocation for Efficient Large Language Model SVD Compression
  • Lovable.Dev 从零构建全栈应用实战指南
  • 为什么选择ProceduralDungeon?UE开发者必知的5大优势
  • 2026年7月深圳配电房全套设备回收 商业变电站全套设备拆除一站式服务 - 广东再生资源回收
  • 【Agent工程化生死线】:为什么87%的AI应用在工具调用环节崩溃?3个被低估的协议级缺陷+2套已验证的容错架构
  • 如何使用Introspy-iOS:从安装到生成安全报告的完整指南
  • 处方翻译怎么办理?办理流程是什么?2026线上办理全流程干货! - 点办通
  • Redux-cycles实战案例:构建GitHub用户搜索功能的完整指南 [特殊字符]
  • 重庆欧米茄回收价格查询及靠谱平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • UE5蓝图项目Android打包实战:从环境配置到性能优化的完整指南
  • 【晨迹相机】HarmonyOS ArkTS 实战:临时授权失效?使用 fileIo 实现临时 datashare 物理文件保存
  • ChatDocs实战案例:构建法律、医疗、金融等行业的专业知识库
  • Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions
  • 2026年7月最新青岛万国官方售后客户服务电话及线下网点地址 - 万国中国官方服务中心
  • 提速办公!AI 导出鸭搭配实操:如何用 Gemini 做 excel 表格完整流程
  • Cocos Creator粒子系统实战:从核心模块到魔法特效开发
  • 2026职业规划服务公司哪家强 主流机构全维度评测汇总 - 得赢
  • 无名杀网页版:如何在3分钟内开启完全免费的三国杀终极体验