Ubuntu 20.04使用MB-System分析与可视化EM3000数据

Ubuntu 20.04使用MB-System分析与可视化EM3000数据

文章目录

首先我们获得了.all的EM3000多波束声呐的数据,但是没有具体的解析工具,通过检索发现了MB的F56包含EM3000这个设备

复制代码
    MBIO Data Format ID:  56
    Format name:          MBF_EM300RAW
    Informal Description: Simrad current multibeam vendor format
    Attributes:           Simrad EM120, EM300, EM1002, EM3000,
                          bathymetry, amplitude, and sidescan,
                          up to 254 beams, variable pixels, ascii + binary, Simrad.

我们注意到这个Format name: MBF_EM300RAW包含了我们需要的设备EM3000

MB-System 中编号为 56 的格式(MBF_EM300RAW)是 Simrad/Kongsberg 厂商使用的多波束原始数据格式,适用于 EM120 / EM300 / EM1002 / ✅ EM3000,包含水深、回波强度、侧扫数据,每 ping 最多 254 波束,数据结构是 ASCII + 二进制混合。

下面开始构建这个**MB-System**,安装教程可以访问https://www.mbari.org/technology/mb-system/installation/


1) 安装依赖(Ubuntu 20.04)

bash 复制代码
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential

# MB-System prerequisites(MBARI 官方给的 20.04/22.04/24.04 依赖清单)
sudo apt install -y libtirpc-dev \
  netcdf-bin libnetcdf-dev libgdal-dev \
  gmt libgmt6 libgmt-dev libproj-dev \
  libfftw3-bin libfftw3-dev libmotif-dev \
  xfonts-100dpi libglu1-mesa-dev \
  libopencv-dev cmake gfortran

官方还提示:装完依赖后注销/重新登录一次,让 X11 字体等资源正确加载。


2) 获取 MB-System 源码

方式 A:直接 clone

bash 复制代码
cd ~
git clone https://github.com/dwcaress/MB-System.git
cd MB-System

方式 B:下载 release 源码包

去 release 页面下 tar.gz/zip(官方给了 releases 入口),下载后示例(用你实际版本号替换)

本文以目前最新版本5.8.2为例

bash 复制代码
sudo mkdir -p ~/MB-System-src
sudo mv MB-System-MB-System-5.8.2.tar.gz ~/MB-System-src
cd ~/MB-System-src
sudo tar xvzf MB-System-MB-System-5.8.2.tar.gz
cd MB-System-MB-System-5.8.2

3) CMake 构建 & 安装

在源码顶层创建 build 目录并编译安装:

bash 复制代码
sudo mkdir -p build
cd build
sudo cmake ..
sudo make -j"$(nproc)"
sudo make install

4) 环境变量

官方说明默认会装到 /usr/local/bin,把它加入 PATH:(MBARI)

bash 复制代码
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证安装是否成功

less 复制代码
mbinfo -V

Program MBINFO
MB-system Version 5.8.2

MBIO Error returned from function <mb_read_init>:
Illegal format identifier, initialization failed

Swath File <stdin> not initialized for reading

Program <MBINFO> Terminated

5) 参数文档

在这个网页中包含了一些常见的命令和参数

本文以mbinfo为例,其余类似

bash 复制代码
-I filename 指定输入文件
-F format 我们是EM3000对应的是.all → 58 -F58
-N 输出记录
-O 生成 *.inf文件 后面可视化需要
bash 复制代码
mbinfo -F58 -I 0001_20160903_020128_raw.all -O

6) 可视化

MB-System 的一些图形化工具依赖 X11/Motif/OpenGL;Ubuntu 20.04 依赖里已经包含了 libmotif-dev、libglu1-mesa-dev 等(这是 MBARI 依赖清单的一部分)

复制代码
mbinfo -F58 -I 0001_20160903_020128_raw.all -O

在上一步的-N的内容是生成0001_20160903_020128_raw.all.inf,用于可视化

复制代码
mbeditviz -F58 -I 0001_20160903_020128_raw.all
相关推荐
AllData公司负责人2 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe22 小时前
数据库备份的分类与特点
数据库
时间的拾荒人6 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠6 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__7 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行3509 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
Martina_03219 小时前
AI生成的3D白模单帧没问题,镜头一移动就被挡?用6步检查遮挡与构图
图像处理·人工智能·数学建模·3d·ai·自然语言处理·游戏策划
星恒随风12 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下13 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck14 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型