ubuntu下离线侧扫声呐xtf格式数据提取软件

[复制链接]

最近花了比较多时间处理xtf格式的侧扫声呐数据,ubuntu下写了一个数据处理的软件。输入为xtf文件路径或xtf文件夹路径。对每个xtf文件有四个输出文件,包括基本信息文件(.json),航迹数据文件(.mat),左舷强度数据文件(.mat),右舷强度数据文件(.mat)。输出文件的信息均为xtf文件记录侧扫输出的原始数据信息。后续可行根据需求利用这些文件做进一步的处理,如斜距校正,灰度校正,几何校正等。另外写了几个python小脚本,主要功能是根据输出的文件绘制简易灰度图和航迹图。

软件项目的地址如下:

https://code.ihub.org.cn/projects/5800/repository/xtf_data_analyze

https://github.com/cabinx/xtf_data_analyze.git

项目内doc文件夹下有简易使用手册可以查询,包括如何安装使用等,当然文章后续我也会做简要说明。此外doc下还有xtf格式的官方文档。在此默认已对侧扫工作原理及输出数据有一定了解。

一、编译安装的问题

由于项目需要c++下输出.mat格式文件,因此依赖matio库(https://github.com/tbeu/matio),编译前需安装:

sudo apt-get install libmatio-dev; M, v# }2 |: {# k5 ]& |

我们需要获取库的路径,并在CMakeLists中做相应修改。在终端查询:

dpkg -L libmatio-dev0 g8 O# \% S0 p, j3 [# ]/ D

其中libmatio.so路径就是项目需要链接的路径。由于不同的平台下系统目录略有不同,不做修改的话可能会导致编译失败。

此外,项目在处涉及json文件处理时使用了一个非常好用的轻量级c++的json库,RapidJSON,感兴趣的可以了解一下http://rapidjson.org/zh-cn/

具体安装测试使用请查阅使用手册。

二、输出文件格式问题

简要介绍一下输出的几个文件内的数据,具体参考使用手册。

1、基本信息文件(xxx_info.json)

主要是fileheader和chaninfo的信息,其中有几个要注意一下:

TotalPingNumber:总ping数;

NavUnits:GPS格式,0表示UTM格式,3表示经纬度格式;

chan_x:通道x,如chan_0表示通道0;

BytesPerSample:此通道每个数据字节数,本项目只支持1字节和2字节;

大多能在xtf官方文档中能查询到。

2、航迹数据文件(xxx_TRAJ.mat)

直接上每列代表的数据:

[时间戳,侧扫经度,侧扫纬度,侧扫高度,左舷斜距,右舷斜距,左舷单线采样点数,右舷单线采样点数,侧扫速度,侧扫Pitch,侧扫Roll,侧扫Heading]

注意NavUnits为0时,经纬度为UTM格式的,需要根据需求转换。

3、强度矩阵数据文件

左舷(xxx_PIM.mat);

右舷(xxx_SIM.mat)。

注意BytesPerSample为1时,每个采样点强度信息范围为(0~255);BytesPerSample为2时,每个采样点强度信息范围为(0~65535)。

三、python脚本

几个简易小脚本,在DataProcess中:

draw_intensity_image.py:绘制简易灰度图(基本未校正);

draw_trajectory_image.py:绘制单个文件航迹图;

draw_multi_trajectory_image.py:绘制多个文件航迹图(注意需要同一测试地点的航迹文件)。

用项目中data文件夹下的测试数据得到的一些效果如下:

5 v% |) @* t  p" B; A3 h+ x
                               
登录/注册后可看大图

( c4 D( @; v% l
                               
登录/注册后可看大图

四、一些说明

软件比较粗糙,只是主要对xtf文件原始数据做提取处理,若想获得理想的侧扫图像,需要利用提取得到的数据文件做后处理。此外软件只支持每个采样点数据大小为1字节或2字节。同时对于双频侧扫声呐采集的数据,由于软件只提取了0通道和1通道的信息,故输出的数据文件为低频信息,高频信息未做处理。

目前软件能满足个人的使用需求,若后续有更进一步的需求,可能会进一步开发。

回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
rikey118
活跃在2022-11-6
快速回复 返回顶部 返回列表