用于模拟和分析显微镜点扩展函数(PSFs)的python库
pyotf的Python项目详细描述
皮托夫
用python语言编写的光学显微镜光学传递函数(OTF)/点扩散函数(PSF)建模的仿真软件包。在
简介
这个包的大部分文档都包含在源代码中,应该可以在任何交互式会话中使用。本文档的目的是快速概述包的功能和潜在用途。大部分代码在设计时都考虑到了交互式会话,但它仍然可以用于更大的脚本和程序中。在
安装
使用conda
安装最简单:
conda install -c david-hoffman pyotf
组件
该软件包由四个组件模块组成:
otf.py
其中包含用于生成不同类型的otf和psf的类phase_retrieval.py
它包含执行光学系统后孔径迭代{a1}的函数和类zernike.py
,其中包含计算Zernike Polynomials的函数utils.py
,其中包含在整个包中使用的各种实用程序函数。在
你知道吗otf.py公司
本模块提供两种光学成像系统模型,一种由Hanser et al描述,另一种由Arnison and Sheppard描述。事实上,它们在数学上是等价的,但在实践中它们各有优缺点。HanserPSF
的一大好处是它允许计算PSF的选定z平面。然而,如果选择的z平面不是等间距的,那么由模型计算的场OTF(OTFa
)和强度OTF(OTFi
)将没有物理意义。在
SheppardPSF
和{
- 工作波长(假设为单色光)
- 物镜的数值孔径
- 介质的折射率
对于数值计算,我们还需要知道x/y分辨率和点数。注意,假设z是物镜的光轴。在
相位_检索.py
本模块中实现的相位恢复算法由Hanser et. al描述。在
你知道吗泽尼克.py
Zernike Polynomials是在单位圆盘上定义的正交函数。作为正交函数,定义在单位圆盘上的任何函数都有一个独特的分解成Zernike多项式。在这个软件包中,Zernike多项式被用来量化光学系统的回瞳的相位和幅度的变化。为此,可以调用一个PhaseRetrievalResult
对象的fit_to_zernikes
方法,该方法将为后瞳孔检索到的相位和幅度调整指定数量的Zernike模式,并返回一个ZernikeDecomposition
对象。为了方便起见,返回的ZernikeDecomposition
还保存为PhaseRetreivalResult
对象的属性,该对象调用了fit_to_zernikes
方法。ZernikeDecomposition
对象具有绘图方法,以便用户可以检查分解。ZernikeDecomposition
物体也有重建相位、幅度或完全复瞳孔的方法,这些方法可以反馈到{PhaseRetreivalResult
类的成员,但稍后可能会移动到ZernikeDecomposition
类。在
你知道吗实用工具.py
utils
的大部分内容对于普通用户save-one函数是没有用的:prep_data_for_PR(data, xysize=None, multiplier=1.5)
。prep_data_for_PR
顾名思义,可以使用phase_retrieval
模块的retrieve_phase
函数快速准备PSF图像数据以进行相位检索。在
LabVIEW应用程序接口
在\labview\Test Phase Retrieval.vi
中给出了从LabVIEW(>;2018)输入3D堆栈并运行此python函数的示例
用例
参考文献
- 在 在
- 在 在
- 在 在
- 项目
标签: