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

这篇具有很好参考价值的文章主要介绍了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语言写的话,估计速度更快!

表1 Zernike多项式前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),请移步至某宝,但费用比暗码文件高很多。

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

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

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

下载地址:Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)-CSDN社区文章来源地址https://www.toymoban.com/news/detail-435729.html

到了这里,关于Matlab读Zygo干涉仪面形数据并进行37阶Zernike拟合(附Matlab代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用matlab中的SVM进行数据回归预测

    在MATLAB中使用支持向量机(SVM)进行数据回归预测,你可以遵循以下步骤: 准备数据集: 将你的特征矩阵X和目标变量向量y加载到MATLAB工作空间中。确保X和y的维度匹配。 拆分数据集: 将数据集划分为训练集和测试集,可以使用 cvpartition 函数进行拆分,一个常见的比例是将

    2024年02月16日
    浏览(35)
  • 数字散斑干涉测量仿真研究

    数字散斑干涉技术(digital speckle pattern interferometry,DSPI)是一种测量物体表面微小变形的测量技术,在生物医学检测、缺陷无损检测、精密制造、材料与结构力学参数评估等领域起着日益重要的作用,具有实时性、高精度、非接触、全场测量等特点。 数字散斑干涉技术所记录的

    2024年02月08日
    浏览(36)
  • 使用matlab里的集成树进行数据分类预测

    当使用MATLAB时,您可以使用集成学习方法中的决策树来进行数据分类预测。决策树是一种基于树状结构的机器学习算法,它通过对训练数据进行分层次的决策来进行预测。 MATLAB提供了一个称为ClassificationTree的集成树分类器。以下是一个使用MATLAB进行数据分类预测的基本示例:

    2024年02月16日
    浏览(39)
  • 【MATLAB第37期】 #保姆级教程 XGBOOST模型参数完整且详细介绍,调参范围、思路及具体步骤介绍

    1.XGBoost模型[default=gbtree] 有两种模型可以选择gbtree和gblinear。gbtree使用基于树的模型进行提升计算,gblinear使用线性模型进行提升计算。其中gbtree的效果要远好于gblinear。 2.objective目标函数 [ default=reg:linear ] 定义学习任务及相应的学习目标,可选的目标函数如下: “reg:linear”

    2024年02月10日
    浏览(49)
  • Matlab如何导入Excel数据并进行FFT变换

    如果你发现某段信号里面有干扰,想要分析这段信号里面的频率成分,就可以使用matlab导入Excel数据后进行快速傅里叶变换(fft)。 先直接上使用方法,后面再补充理论知识。 可以通过串口将需要分析的数据发送到串口助手,注意,串口助手复制数据,是你接收了多少,就能

    2024年02月09日
    浏览(41)
  • 使用matlab里的神经网络进行数据分类预测

    在MATLAB中使用神经网络进行数据分类预测,你可以按照以下步骤进行: Step 1: 准备数据 首先,准备用于训练和测试神经网络的数据。将数据集分为输入特征和相应的目标类别。确保数据已经进行了适当的预处理和标准化。 Step 2: 创建并训练神经网络模型 使用MATLAB的Neural Net

    2024年02月16日
    浏览(46)
  • 【重新定义matlab强大系列十二】利用matlab对数据进行分组和分 bin

    🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥  推荐专栏:《算法研究》 ####  防伪水印—— 左手の明天 #### 💗 大家好🤗🤗🤗,我是 左手の明天 !好久不见💗 💗今天开启新的系列—— 重新定义matlab强大系列 💗 📆  最近更新:

    2024年02月11日
    浏览(47)
  • Lumerical Mode 的电场分布数据导出到 Matlab 进行处理

    本文分为两部分: 首先是 Lumerical 中如何导出数据 然后是 Matlab 中如何对数据进行处理 calculate mode 如图 Lumerical 中选中某个模式后会显示电场图,但像素较低且只能导出 jpg 可以采用脚本,如上图我们选择保存 mode5,脚本如下,直接在 Lumerical 中运行即可。 可以保存某个电场

    2024年02月11日
    浏览(28)
  • matlab BP神经网络对iris数据集进行分类

    本文所用数据集👉👉👉iris分类数据集 maxminmap归一化函数和netff函数的输入矩阵都是==”行特征,列样本“==的格式,注意转置 BP实现分类时,Y为分类变量,预处理时需要将其转换成独热编码,sim后将得到的类别概率转换成分类数值,可通过以下函数实现: ind2vec:1×120 --

    2024年02月15日
    浏览(43)
  • 用MATLAB/Simulink对实验/仿真示波器保存的数据进行THD分析、MATLAB自定义横纵坐标轴绘图

    最近年底和师兄交流了数据分析、波形处理问题。一个是将示波器导出的csv数据放到MATLAB中进行THD分析,另一个是自定义横纵坐标轴进行绘图,就这两个问题记录一下。 不需要背代码,简单、易于理解,使用过程中截个图就行了。 1、导入数据至MATLAB,修改变量名和数据类型

    2024年01月22日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包