Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)

光学码农 2023-07-01 07:41:34
加精

下载地址:

代码有暗码版(部分代码为暗码,不影响功能,详情里有说明)和明码版,价格相差较大,请跳转到某宝下单,可开具发票:Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)


本代码具有以下两个主要功能:

一、Matlab读Zygo干涉仪/轮廓仪.dat文件中的面形数据

通过在Matlab中开发大量的反编译代码,我们成功地在Matlab中提取到Zygo .dat二进制文件中所包含的137个测量参数,包括:相位/面形数据(PhaseData)、干涉图(IntensityData)、干涉图像素标定(pixel_height和pixel_width)、测试波长(wavelength_in)和Zygo公司为后续产品预留的参数等等。本文所用到的只是这137个参数中的相位/面形数据(PhaseData)这一个参数(阉割版),关于.dat二进制文件中完整的137个测量参数的反编译说明可跳转至下面这篇文章:

Matlab读取Zygo干涉仪dat数据文件 光学检测加工(明码需另付费)

废话不多说。首先,我们在Matlab中画出提取到的相位/面形数据(PhaseData)(一个十进制矩阵)的二维轮廓图,并用colormap('jet');上色。下图是MetroPro软件与Matlab软件的面形对比图:

c860ebced70749d38f7bd7e032c5bfbf.png

图1 MetroPro软件与Matlab软件的对比图

 

二、Matlab对提取到的Zygo面形数据进行37阶Zernike拟合

你是否对Zygo MetroPro软件中的“Zernike polynomial”感兴趣?是否想验证它的正确性?——本代码将实现这个功能。

下图红色方框中的37阶Zernike拟合系数是由MetroPro软件给出的:

8f11bb932c3c4c0a90054fe6bd66d9bc.png

图2 MetroPro软件给出的关于上述面形数据的37阶Zernike拟合系数

通过在Matlab中编写Zernike多项式拟合代码,我们同样可以得到上述面形数据的37阶Zernike拟合系数(如下图下方中间的红框中所示,可以看到与MetroPro数据之间的误差很小)、37阶Zernike拟合系数的柱状图(下图右侧中间所示)和37阶Zernike拟合图(下图右下角所示,可以看到面形形状和PV与MetroPro的差异都很小)。37阶Zernike拟合用时仅0.346529秒,跟MetroPro的计算速度差不多

95473c90ad454bb5ba848000fb19ab94.png

图3 Matlab对提取到的面形数据进行37阶Zernike拟合

 

图3可能看不清楚,我放1张局部图:

ccd070aa5b1f4a01b82760d93a85db8f.png

图4 用Matlab拟合得到的Zernike拟合系数与MetroPro的Zernike拟合系数对比图

表1为拟合时间与面形矩阵尺寸之间的关系表。当面形矩阵为1K×1K时,37阶拟合仅用时0.69s;当面形矩阵为2K×2K时,37阶拟合仅用时2.80s。—— 这与MetroPro拟合耗时几乎一样,如果用C语言写的话,估计速度更快!

表1 Zernike多项式前37阶系数拟合用时与面形矩阵尺寸之间的对照表

序号

面形矩阵尺寸

拟合耗时(MATLAB)

1

256×256

0.07s

2

512×512

0.18s

3

1024×1024

0.69s

4

2048×2048

2.80s

总之,本程序包中共包含以下4个文件。其中,ZernikeFitZygodat_main为主程序,MyData.dat为本文中所用到的Zygo二进制数据文件(供测试使用),DecodeZygodat_mini.p和ZernikeFitZygodat.p文件需联系购买(.p格式是Matlab暗码文件,不能看到里面的代码,但不影响调用)。如需DecodeZygodat_mini.p和ZernikeFitZygodat.p的明码文件(.m),请移步至某宝,但费用比暗码文件高很多。

22c15175f1cd49bea74ba7903d8f20c3.png

图5 本程序包中所包含的文件列表

(本文为CSDN“光学码农”原创,转载须注明本文网址,违者必究!)

再发一遍下载地址:

代码有暗码版(部分代码为暗码,不影响功能,详情里有说明)和明码版,价格相差较大,请跳转到某宝下单,可开具发票:Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)

...全文
1623 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXY1010TNN 2023-09-14
  • 打赏
  • 举报
回复

博主您好,想学习一下您的相位提取和解包裹程序代码,可以分享一下吗?十分感谢!邮箱:xinyusherry@126.com
比心比心

28

社区成员

发帖
与我相关
我的任务
社区描述
每周更新!
matlabpython算法 个人社区
社区管理员
  • 光学码农
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧