惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
S
SegmentFault 最新的问题
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
U
Unit 42
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - Franky
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research

林中阴影

林中阴影 | 关于蓝光刻录的一些调查 林中阴影 | 与IPv6地址战斗 林中阴影 | 半年前的NAS升级 林中阴影 | “智能” 家居笔记:一→两年后的回顾 林中阴影 | 旧手机做RDP客户端的一些尝试 林中阴影 | 一些矿渣的耗电量 林中阴影 | 穷人的IP-KVM远程访问 林中阴影 | 内网访问第三季:在运营商的CGNAT网络下 林中阴影 | “智能”家居笔记,其之二 林中阴影 | “智能”家居笔记,其之一 林中阴影 | 仅IPv6家庭内网服务实现v6+v4双栈访问 林中阴影 | 下载装小蜜监理拍摄的图片 林中阴影 | 几物互联 林中阴影 | 整了个“新”平板 林中阴影 | 获取招商信用卡账单的另一种方法 林中阴影 | 我在GitHub的⭐ 林中阴影 | 你可能并不需要内网穿透 林中阴影 | 2020 林中阴影 | 和(基本上)什么也不能连的电脑传递信息 林中阴影 | 我将贻笑于大方之家 林中阴影 | 一个新主题 林中阴影 | 2019过去了,我…… 林中阴影 | Beancount试用,半年后 林中阴影 | 自动输入剪贴板中的内容 林中阴影 | Unicode与数学公式 林中阴影 | Python中光学计算相关的库/Awesome Python for Optics 林中阴影 | 一本厕纸小说 林中阴影 | 震惊!为了在Windows上访问EXT4分区,他竟然做出了这样的事! 林中阴影 | 我的2018 林中阴影 | 笔记软件踩雷
林中阴影 | Python与光学计算,2021
2021-07-21 · via 林中阴影

本文是2019年同名博文的更新版本。就像在那里说的,光学计算是一个非常宽泛的话题,把所有的库放在一起,倒是具有一种全栈(full-stack)工程师的气质,可是好像很容易造成Stack Overflow

这次,我尝试对这些代码进行简单的分类。因为我不属于光学前端工程师1,也不属于光学后端工程师1,而更像是光学系统运维1,分类得大概并不算准确。

物理光学演示:LightPipes

正像我之前说的那样,我使用opticspy/lightpipes完成了一部分激光物理过程的模拟,这个库大体上能够满足我当时的要求。但是要注意的是,个人感觉这个库是为了物理实验、教学演示而设计的,揭示原理的部分多于实际计算的部分,而且计算是序列化的。或许把它理解成类似虚拟物理实验室更好?

不过如果能力足够的话,大概能在上面实现一些比较复杂的功能。而且话又说回来,真正有一些严肃需求的人,早就去求助一些商业软件了。

光线追迹(Ray Tracing)

在上次的博文里,在光线追迹方面,我曾经介绍过Sterncat/opticspyRayOptcihologramas/pyoptools,其中,前两组大概已经停止更新了,反而pyoptools看起来处于活跃开发的阶段。另外,这次我还看到了三个新鲜面孔:mjhoptics/ray-opticsmess42/pyratebryancole/raypier_optics2

ray-optics

ray-optics的Qt界面

序列化的光线追迹,或成像光学,完成度很高,甚至自带一个类似Zemax的界面。在其手册上提到:

Rethink how image forming optical calculations are done absent historical constraints on computer speed and memory.

我学不会光学设计肯定是因为软件历史包袱太重,嗯。

Raypier

非序列的光学追迹,在几何光学传输的基础上增加了一部分高斯光束和衍射效应,并且可以(通过VTK)生成一些漂亮的三维模型。(之后我一定要想办法成功安装……)

文档在这里。

pyrate

正在写这篇博文的时候,我发现了这一套代码,似乎可以与FreeCAD互动,但是更具体的功能和特性还没有仔细看。毕竟我还没找到文档在哪里……

pyoptools

大概还在紧张地开发之中,等文档写好之后我会再回来看看的。

另:ricktu288/ray-optics

当然不是用Python编写的,但是谁不喜欢开箱即用的玩具呢?

另:Beam4及其他

也许代码就像蘑菇一样,找到一个又有另外两个出来。Beam4是用Java编写的,但看起来成熟度比这里的很多库高得多,比如将要提到的两个。

我把tracepyodakoptcom列在这里,只是为了之后不要重新发现它们了。求求你们好好写写文档吧……

光学设计:为望远镜/日冕仪准备的Python

你想学习怎样设计日冕仪吗?

詹姆斯·韦伯空间望远镜的光学设计,来自poppy

就像所有的专业软件一样,如果你理解了整个物理过程,中间的示意图就并不是那么重要了。这样的库包括:

  1. brandondube/prysm (examples)
  2. spacetelescope/poppy
  3. ajeldorado/falco-python3
  4. ehpor/hcipy (examples)

等。

它们大概都能够计算光学系统的点扩散函数(PSF)、调制传递函数(MTF)、点列图之类的,而优化算法似乎欠奉4。如果你对上面的一系列名词不大了解的话,建议和我一起补习《光学系统设计》

我逐渐理解一切

这些库的对比可以看这里5如果你真的想设计日冕仪的话也可以读一读这篇文献,那里对设计方法也有一些介绍。

就我而言,我比较喜欢HCIPy,至少这里面还包含一些传递过程的内容,不至于直接跳到结论,和上个部分的库们更加接近一些。

另一类光线追迹

这种的主要目的是为了让自己的文章显得更好看,所以我就直接放两张图:

Raysect生成的,就好像杂志封面一样

光线追迹——用inkscape更简单的画图方式

电磁场级别的仿真

无论是用EME法求解模式的CAMFR,还是用FDTD法计算电磁场的meep,都远远超出了我的能力,请有识之士自行判断。

激光谐振腔的简单计算

rezonatorsimcav/simcav等,或许过于简单了,可能LightPipes能做的事情还要更多一些。

大气光谱学

请移步这里这里

其他

pyNLO

  • PyNLO:与非线性光学有关,大概是SNLO的某种代替品。
  • Jomiri/pyfiberamp:有关掺Er光纤激光器的计算。没有什么用处。
  • AOtools/soapy:用于自适应光学过程的模拟,另有一组用于分析的库。
  • Finesse and PyKat:为了LIGO设计的语言,用于引力波探测器的光路设计。这次我依旧没有看懂。
  • OASYS:如果X射线也是光的话,那么WOFRY也是光学计算。
  • laserbeamsize:一个完善的激光光斑直径和$M^2$计算库。

总之祝大家好运吧。如果有条件的话,还是尽量使用商业软件。Seriously.


  1. 据我了解并不存在前两种职业。而运维在哪里都存在。 ↩︎ ↩︎ ↩︎

  2. 感觉这些既会光学又会Python的人,在起名字方面都没有什么创意。 ↩︎

  3. A J Eldorado Riggs, Garreth Ruane, Erkin Sidick, Carl Coker, Brian D. Kern, Stuart B. Shaklan, "Fast linearized coronagraph optimizer (FALCO) I: a software toolbox for rapid coronagraphic design and wavefront correction," Proc. SPIE 10698, Space Telescopes and Instrumentation 2018: Optical, Infrared, and Millimeter Wave, 106982V (9 August 2018); https://doi.org/10.1117/12.2313812PDF文件 ↩︎

  4. 如果尝试优化的话,可以看看doi:10.1016/j.ijleo.2018.10.073 ↩︎

  5. Ruane, G., “Review of high-contrast imaging systems for current and future ground- and space-based telescopes I: coronagraph design methods and optical performance metrics”, in Space Telescopes and Instrumentation 2018: Optical, Infrared, and Millimeter Wave, 2018, vol. 10698. doi:10.1117/12.2312948. ↩︎