Zygo读取&保存dat文件(光学领域知道Zygo的一定要看)

简介: Zygo读取&保存dat文件(光学领域知道Zygo的一定要看)

Zygo概述

      Zygo在光学干涉领域是世界龙头,也是被我们国家光学领域视为最大竞争对手的企业。无论是各大高校的科研学术工作,还是各大企业的商业工程化项目,只要与光学干涉有关,必定听过Zygo公司的名字。


      Zygo于1970年建立,至今已有50年的历史,其最早成立的目标就是加工制造高水平的光学元件。在1972年推出了第一台商用的菲索型激光干涉仪,用来测试光学元件表面形貌。往后,Zygo保持飞速发展的态势,陆陆续续研发出了数十种前沿光学技术,用于光学加工、计量、控制等方面,处于国际顶尖水平。当前Zygo的白光干涉仪、激光干涉仪等光学仪器设备仍占据国际市场较大份额;国内虽有中图、乾曜、太科等优秀的光学科技公司,但仍与Zygo存在较大的差距。


      鉴于当前严峻的国际环境,我国在某些领域的技术壁垒急需突破,自主研发属于我们自己的核心技术是当前中国每一个科研人员的首要任务。无论是本科、硕士、博士,还是具备一定专业知识和技术的人才,都应认真钻研技术核心,创新研发,提高我们国家的科研水平。于公讲,这是每个中国人的义务;于私讲,当你具备一定核心技术后,无论是薪资待遇还是职业发展都将顺利无比,吃得苦中苦方为人上人,真不是唬人的大道理。


什么是dat文件

      上面废话了一大堆,接下来讲重点了,相信很多高校实验室的学生或者同领域企业的研发人员都知道,在使用Zygo干涉仪时,Zygo计算分析后得到的数据主要以dat、asc、xyz的文件形式保存下来,文件中存放了一张干涉图和解包裹图还有相关的参数信息。


      打开Zygo的MetroPro软件(MetroPro是老版软件,许多高校都有该离线包;最新软件为MX,必须连接Zygo干涉仪才能使用,只有少数有经济实力的实验室才能购买到Zygo干涉仪),界面如图1:

图1 MetroPro软件界面

       点击Save Data按钮,将分析后的数据可以存储为各类文件形式,如图2所示:

图2 保存文件

      保存下来的asc文件打开是这样的,asc文件内容如图3所示。配合Zygo的产品说明书,可以知道其第几行第几个数据是什么参数,通过matlab或者其他语言编写相关程序,实现数据的读取,后续既可以开展相关的研究工作和验证工作了,当前许多高校评价自身技术的有效性和准确性,一般都以Zygo的结果为标准,不得不说Zygo的国际影响力真的强。  

图3 ASC文件内容

      一般来说,ASC和XYZ的读取是真没什么问题,毕竟数据比较直观,但是DAT文件就不一样,这是二进制格式,其数据的排布逻辑非常非常非常难理顺。DAT文件内容如图所示。

图5 DAT文件内容

       所以,你悟了吗。。。

如何读取&保存dat文件

      我之前很长一段时间都不知道如何读取和保存DAT文件,而有些客户又非要读取和保存DAT文件的功能,迫于无奈,只能继续研究了还真让我碰巧在某个光学论坛找到了一个办法。


      那就是采用Zygo提供的dat_to_asc.exe和asc_to_dat.exe。当加载的时候,用命令行的方式调用dat_to_asc.exe,将DAT文件转化为ASC文件再分析,删除掉中间文件ASC节省空间;当保存的时候,反过来,调用asc_to_dat.exe,先保存数据至ASC文件,再转化为DAT文件。


      为了方便大家理解,我将步骤细化具体说明:


1)假设用matlab读取文件,我的m文件路径为C:\Users\qy\Desktop\std,如图4所示。


图4 m文件路径

2)通过Win+R键打开运行窗口,输入cmd,打开命令行。输入cd C:\Users\qy\Desktop\std,将当前路径转换到m文件路径下;输入命令dta.exe -f test.dat result.asc。如图1所示,result.asc就生成了。

图5 加载DAT文件命令

3)之所以给大家展示2步骤,是为了告诉大家下方matlab代码中进行的操作本质上是什么意义。该matlab代码执行的效果同上面命令行一致。

% 获取dat文件路径
[filename,pathname]= uigetfile('*.dat','打开数据文件' );
% 构建完整路径
fn=strcat(pathname,filename);
% 调用命令行指令,其中dta.exe就是执行dat转asc的exe程序
% %s其实就是fn,也就是dat文件的完整路径
% 生成的asc文件就叫result.asc
doscommand=sprintf('dta.exe -f %s result.asc',fn);
% 输出结果
dos(doscommand);

4)代码执行到这一步,文件中已经有result.asc了,接下来就是读取asc文件。

图6 读取ASC文件

5)执行完代码后,得到的干涉图如下。

图7 干涉图

 6)得到的解包裹图在工作区是PhaseData,mesh一下,效果如下。周围平整的区域是掩膜外区域。

图8 解包裹图

总结

       好啦,总的就是这些内容了,在此分享给大家,希望从事光学领域的同学们,以后就业往光学方面走,别去搞金融什么和专业完全不相关的,学什么就干什么,那些行业让学金融学数学的去做,光学行业非常非常缺人,如果未来我们所有年轻一代都不从事科研工作,那技术壁垒的大手就始终捏在我们脖子上。如果有什么不懂的,在不触犯保密协议的前提下,我会尽我所能地给大家答疑,可以评论区留言,也可以qq加我交流,我是不收费的(之前有网友问我要钱不,所以我要说明一下,我写博客就单纯喜欢分享一些技术方面的知识,帮助更多的人少走一些弯路,个人兴趣而已,这样也没什么负担和压力,如果收费了就肯定要负责到底,这样容易影响到我本职工作,本末倒置了)。


      最后补充一下,如果某些同学电脑上本身就安装有Zygo的软件,那软件的bin目录下就放着这两个exe,一般系统环境变量也包含了,所以不用切换文件路径直接使用dat_to_asc -f也行。


      文章提到的matlab代码和两个exe文件我打包分享资源了,分享积分有点贵,别问,问就是我买的。。。我肯定设高点对吧,如果你不想花钱就给我点赞收藏加关注,然后评论留言邮箱,我一般一天内就发送了哈哈哈,我不赚也别让我赔是吧嘻嘻(#^.^#)

相关文章
|
1月前
|
编解码 API 计算机视觉
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
|
8月前
|
存储 Go 数据格式
Zygo保存zxg(Zemax File)文件(光学领域知道Zygo的一定要看)
Zygo保存zxg(Zemax File)文件(光学领域知道Zygo的一定要看)
124 0
|
11月前
|
存储 编解码
ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析
ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析
318 1
|
11月前
从文件1中读取数据,修改数据的内容,然后存入文件2中,再从文件2中把数据读取出来显示在屏幕上
从文件1中读取数据,修改数据的内容,然后存入文件2中,再从文件2中把数据读取出来显示在屏幕上
120 0
|
11月前
ENVI_IDL:(批量处理)如何对HDF5文件进行GLT文件的创建并进行几何校正最终输出为IMG格式?
ENVI_IDL:(批量处理)如何对HDF5文件进行GLT文件的创建并进行几何校正最终输出为IMG格式?
130 0
|
11月前
|
存储
ENVI_IDL: 创建HDF5文件并写入数据(以将Geotiff文件写入HDF文件为例) + 详细解析
ENVI_IDL: 创建HDF5文件并写入数据(以将Geotiff文件写入HDF文件为例) + 详细解析
128 0
|
12月前
|
C++
c++ 读取 .tfw 文件数据(读取 .tif 影像中的投影信息)
c++ 读取 .tfw 文件数据(读取 .tif 影像中的投影信息)
|
存储 C++ iOS开发
【C++之文件与文件流】f1.dat 和 f2.dat 文件的读写
【C++之文件与文件流】f1.dat 和 f2.dat 文件的读写
|
大数据 C#
C# 读取大文件 (可以读取3GB大小的txt文件)
原文:C# 读取大文件 (可以读取3GB大小的txt文件) 在处理大数据时,有可能 会碰到 超过3GB大小的文件,如果通过 记事本 或 NotePad++去打开它,会报错,读不到任何文件。
4165 1