valschmidt / kmall Goto Github PK
View Code? Open in Web Editor NEWA python module for reading Kongsberg kmall data files.
License: Creative Commons Zero v1.0 Universal
A python module for reading Kongsberg kmall data files.
License: Creative Commons Zero v1.0 Universal
Hi, I'm trying to use the kmall_to_ros_bag.py script with the aim to obtain a point cloud file from it. This is how I call the script
'python kmall_to_ros_bag.py -o myBagFile.bag myKmFile.kmall'
, which creates the 'myBagFile.bag' file ok. Then I convert it to a pcd file with this script,
"
import rosbag
import sensor_msgs.point_cloud2 as pc2
import numpy as np
import open3d as o3d
def bag_to_pcd(bag_file, topic, output_pcd_file):
accumulated_points = []
with rosbag.Bag(bag_file, 'r') as bag:
for _, msg, _ in bag.read_messages(topics=[topic]):
pc_data = pc2.read_points(msg, field_names=("x", "y", "z"), skip_nans=True)
pc_np = np.array(list(pc_data))
pc_xyz = pc_np[:, :3]
accumulated_points.append(pc_xyz)
# Concatenate all points
if accumulated_points:
all_points = np.concatenate(accumulated_points, axis=0)
point_cloud = o3d.geometry.PointCloud()
point_cloud.points = o3d.utility.Vector3dVector(all_points)
o3d.io.write_point_cloud(output_pcd_file, point_cloud)
if name == "main":
bag_file = "myBagFile.bag"
topic = "mbes/pings"
output_pcd_file = "myPclFile.pcd"
bag_to_pcd(bag_file, topic, output_pcd_file)
"
, which also makes the 'myPclFile.pcd' file ok. However, when displaying the pcd file in a point cloud viewer, all the scans end up in the same spot, as if the vessel was not moving (which it is). I'm sure there must be a dead simple detail that I'm missing, but I'm not able to figure how. Do you have the possibility to show me how I can make sure that I get the navigation, attitudes as well as compensation for svp into the exported files?
Kind regards
Hi, I have used your script to try to extract the SPO datagram so I have added the following function to extract the SPO datagrams.
this works for the majority of the kmall files logged with our SIS5 system but or few of them we get this error
Unfortunately my python / datagram decoding skills are pretty low so I was wondering if you could have a look.. I might be able to provide you the kmall file..
Recently "Rev G" of the Kmall format was released. This introduced a new version of a few datagrams (at least the MRZ datagram). But we are not (yet) checking the datagram version number so changes we make to support this new one will break reading the old one if we're not careful. We need to add datagram version checking.
We've added a script to test the kmall module against several data files, but not all the data files have not been included in the repository, which makes the script kind of useless. We need to add those data files. (Eventually we should probably migrate the test script to a set of unit tests.)
The module does not yet parse out the installation parameters from the string encased within the datagram. These need to get parsed so they are generally available within the module.
The module needs a method to extract the XYZ data in geographic or projected (UTM) coordinates, both at a record and file level.
The comments in kmall.py say "see Coordinate systems for definition" in many places, but I can't find that section in the comments or documents.
Can a brief summary of the coordinate system be added?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.