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软件的面形对比图:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

序号

面形矩阵尺寸

拟合耗时

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),请移步至某宝,额外付费购买旗舰版: DecodeZygodat_mini.p和ZernikeFitZygodat.p明码文件 ,但费用比暗码文件高很多。

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

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

下载地址:暂无法上传付费资源,请私信购买或联系上文中的某宝客服

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

Original: https://blog.csdn.net/Loveoptics/article/details/125832056
Author: 光学码农
Title: Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/633811/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球