ubuntu下离线侧扫声呐xtf格式数据提取软件
? ? ? ? 最近花了比較多時間處理xtf格式的側(cè)掃聲吶數(shù)據(jù),ubuntu下寫了一個數(shù)據(jù)處理的軟件。輸入為xtf文件路徑或xtf文件夾路徑。對每個xtf文件有四個輸出文件,包括基本信息文件(.json),航跡數(shù)據(jù)文件(.mat),左舷強度數(shù)據(jù)文件(.mat),右舷強度數(shù)據(jù)文件(.mat)。輸出文件的信息均為xtf文件記錄側(cè)掃輸出的原始數(shù)據(jù)信息。后續(xù)可行根據(jù)需求利用這些文件做進(jìn)一步的處理,如斜距校正,灰度校正,幾何校正等。另外寫了幾個python小腳本,主要功能是根據(jù)輸出的文件繪制簡易灰度圖和航跡圖。
? ? ? ? 軟件項目的地址如下:
? ? ? ??https://code.ihub.org.cn/projects/5800/repository/xtf_data_analyze
? ? ? ??https://github.com/cabinx/xtf_data_analyze.git
? ? ? ? 項目內(nèi)doc文件夾下有簡易使用手冊可以查詢,包括如何安裝使用等,當(dāng)然文章后續(xù)我也會做簡要說明。此外doc下還有xtf格式的官方文檔。在此默認(rèn)已對側(cè)掃工作原理及輸出數(shù)據(jù)有一定了解。
一、編譯安裝的問題
? ? ? ? 由于項目需要c++下輸出.mat格式文件,因此依賴matio庫(https://github.com/tbeu/matio),編譯前需安裝:
sudo apt-get install libmatio-dev? ? ? ? 我們需要獲取庫的路徑,并在CMakeLists中做相應(yīng)修改。在終端查詢:
dpkg -L libmatio-dev? ? ? ? 其中l(wèi)ibmatio.so路徑就是項目需要鏈接的路徑。由于不同的平臺下系統(tǒng)目錄略有不同,不做修改的話可能會導(dǎo)致編譯失敗。
? ? ? ? 此外,項目在處涉及json文件處理時使用了一個非常好用的輕量級c++的json庫,RapidJSON,感興趣的可以了解一下http://rapidjson.org/zh-cn/。
? ? ? ? 具體安裝測試使用請查閱使用手冊。
二、輸出文件格式問題
? ? ? ? 簡要介紹一下輸出的幾個文件內(nèi)的數(shù)據(jù),具體參考使用手冊。
? ? ? ? 1、基本信息文件(xxx_info.json)
? ? ? ? 主要是fileheader和chaninfo的信息,其中有幾個要注意一下:
? ? ? ? TotalPingNumber:總ping數(shù);
? ? ? ? NavUnits:GPS格式,0表示UTM格式,3表示經(jīng)緯度格式;
? ? ? ? chan_x:通道x,如chan_0表示通道0;
? ? ? ? BytesPerSample:此通道每個數(shù)據(jù)字節(jié)數(shù),本項目只支持1字節(jié)和2字節(jié);
? ? ? ? 大多能在xtf官方文檔中能查詢到。
? ? ? ? 2、航跡數(shù)據(jù)文件(xxx_TRAJ.mat)
? ? ? ? 直接上每列代表的數(shù)據(jù):
? ? ? ? [時間戳,側(cè)掃經(jīng)度,側(cè)掃緯度,側(cè)掃高度,左舷斜距,右舷斜距,左舷單線采樣點數(shù),右舷單線采樣點數(shù),側(cè)掃速度,側(cè)掃Pitch,側(cè)掃Roll,側(cè)掃Heading]
? ? ? ?注意NavUnits為0時,經(jīng)緯度為UTM格式的,需要根據(jù)需求轉(zhuǎn)換。
? ? ? ? 3、強度矩陣數(shù)據(jù)文件
? ? ? ? 左舷(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文件夾下的測試數(shù)據(jù)得到的一些效果如下:
四、一些說明
? ? ? ? 軟件比較粗糙,只是主要對xtf文件原始數(shù)據(jù)做提取處理,若想獲得理想的側(cè)掃圖像,需要利用提取得到的數(shù)據(jù)文件做后處理。此外軟件只支持每個采樣點數(shù)據(jù)大小為1字節(jié)或2字節(jié)。同時對于雙頻側(cè)掃聲吶采集的數(shù)據(jù),由于軟件只提取了0通道和1通道的信息,故輸出的數(shù)據(jù)文件為低頻信息,高頻信息未做處理。
? ? ? ? 目前軟件能滿足個人的使用需求,若后續(xù)有更進(jìn)一步的需求,可能會進(jìn)一步開發(fā)。
總結(jié)
以上是生活随笔為你收集整理的ubuntu下离线侧扫声呐xtf格式数据提取软件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wap网站制作教程
- 下一篇: ubuntu18.04安装monaco字