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? ? ? ? 我們需要獲取庫的路徑,并在CMakeLists中做相應修改。在終端查詢:
dpkg -L libmatio-dev? ? ? ? 其中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文件夾下的測試數據得到的一些效果如下:
四、一些說明
? ? ? ? 軟件比較粗糙,只是主要對xtf文件原始數據做提取處理,若想獲得理想的側掃圖像,需要利用提取得到的數據文件做后處理。此外軟件只支持每個采樣點數據大小為1字節或2字節。同時對于雙頻側掃聲吶采集的數據,由于軟件只提取了0通道和1通道的信息,故輸出的數據文件為低頻信息,高頻信息未做處理。
? ? ? ? 目前軟件能滿足個人的使用需求,若后續有更進一步的需求,可能會進一步開發。
總結
以上是生活随笔為你收集整理的ubuntu下离线侧扫声呐xtf格式数据提取软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wap网站制作教程
- 下一篇: ubuntu18.04安装monaco字