From 6b4790abc929107d276b3884c32a0c0caac4fdf3 Mon Sep 17 00:00:00 2001 From: Sravan Balaji Date: Wed, 22 Apr 2020 17:37:56 -0400 Subject: [PATCH] Add Gitignore, Folder Renaming, Add Velodyne Data Handlers - Add gitignore so downloaded data, vscode files, and pycache are not included - Move downloader.py to src/dataset/data folder - Rename src/dataset/dataManipulation to src/dataset/data_manip - Rename src/dataset/ManageDataset to src/dataset/read_dataset - Remove gps.csv and read_gps.py from visualization folder - Add read_vel_hits.py and read_vel_sync.py (with python 3 fixes) for reading velodyne data - Add point_cloud_vis.py to create map of entire dataset pointclouds --- .gitignore | 4 + src/dataset/{ => data}/downloader.py | 0 .../GPSmanip.py | 0 .../findBuildingCoord.py | 0 .../pickles/BuildingMappings.pkl | 0 .../pickles/BuildingMappings.txt | 0 .../pickles/pickleManage.py | 0 .../pickles/referenceBuildings4Pickle.txt | 0 .../project_vel_to_cam.py | 0 .../read_gps.py | 0 .../read_ground_truth.py | 0 .../read_hokuyo_30m.py | 0 .../read_hokuyo_4m.py | 0 .../read_ms25.py | 0 .../read_ms25_euler.py | 0 .../read_odom.py | 0 src/dataset/read_dataset/read_vel_hits.py | 89 + src/dataset/read_dataset/read_vel_sync.py | 123 + .../undistort.py | 0 src/visualization/gps.csv | 46447 ---------------- src/visualization/point_cloud_vis.py | 125 + src/visualization/read_gps.py | 60 - 22 files changed, 341 insertions(+), 46507 deletions(-) create mode 100644 .gitignore rename src/dataset/{ => data}/downloader.py (100%) rename src/dataset/{dataManipulation => data_manip}/GPSmanip.py (100%) rename src/dataset/{dataManipulation => data_manip}/findBuildingCoord.py (100%) rename src/dataset/{dataManipulation => data_manip}/pickles/BuildingMappings.pkl (100%) rename src/dataset/{dataManipulation => data_manip}/pickles/BuildingMappings.txt (100%) rename src/dataset/{dataManipulation => data_manip}/pickles/pickleManage.py (100%) rename src/dataset/{dataManipulation => data_manip}/pickles/referenceBuildings4Pickle.txt (100%) rename src/dataset/{ManageDataset => read_dataset}/project_vel_to_cam.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_gps.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_ground_truth.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_hokuyo_30m.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_hokuyo_4m.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_ms25.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_ms25_euler.py (100%) rename src/dataset/{ManageDataset => read_dataset}/read_odom.py (100%) create mode 100644 src/dataset/read_dataset/read_vel_hits.py create mode 100644 src/dataset/read_dataset/read_vel_sync.py rename src/dataset/{ManageDataset => read_dataset}/undistort.py (100%) delete mode 100644 src/visualization/gps.csv create mode 100644 src/visualization/point_cloud_vis.py delete mode 100644 src/visualization/read_gps.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df6b02a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +src/dataset/data/* +!src/dataset/data/downloader.py +.vscode +__pycache__/ \ No newline at end of file diff --git a/src/dataset/downloader.py b/src/dataset/data/downloader.py similarity index 100% rename from src/dataset/downloader.py rename to src/dataset/data/downloader.py diff --git a/src/dataset/dataManipulation/GPSmanip.py b/src/dataset/data_manip/GPSmanip.py similarity index 100% rename from src/dataset/dataManipulation/GPSmanip.py rename to src/dataset/data_manip/GPSmanip.py diff --git a/src/dataset/dataManipulation/findBuildingCoord.py b/src/dataset/data_manip/findBuildingCoord.py similarity index 100% rename from src/dataset/dataManipulation/findBuildingCoord.py rename to src/dataset/data_manip/findBuildingCoord.py diff --git a/src/dataset/dataManipulation/pickles/BuildingMappings.pkl b/src/dataset/data_manip/pickles/BuildingMappings.pkl similarity index 100% rename from src/dataset/dataManipulation/pickles/BuildingMappings.pkl rename to src/dataset/data_manip/pickles/BuildingMappings.pkl diff --git a/src/dataset/dataManipulation/pickles/BuildingMappings.txt b/src/dataset/data_manip/pickles/BuildingMappings.txt similarity index 100% rename from src/dataset/dataManipulation/pickles/BuildingMappings.txt rename to src/dataset/data_manip/pickles/BuildingMappings.txt diff --git a/src/dataset/dataManipulation/pickles/pickleManage.py b/src/dataset/data_manip/pickles/pickleManage.py similarity index 100% rename from src/dataset/dataManipulation/pickles/pickleManage.py rename to src/dataset/data_manip/pickles/pickleManage.py diff --git a/src/dataset/dataManipulation/pickles/referenceBuildings4Pickle.txt b/src/dataset/data_manip/pickles/referenceBuildings4Pickle.txt similarity index 100% rename from src/dataset/dataManipulation/pickles/referenceBuildings4Pickle.txt rename to src/dataset/data_manip/pickles/referenceBuildings4Pickle.txt diff --git a/src/dataset/ManageDataset/project_vel_to_cam.py b/src/dataset/read_dataset/project_vel_to_cam.py similarity index 100% rename from src/dataset/ManageDataset/project_vel_to_cam.py rename to src/dataset/read_dataset/project_vel_to_cam.py diff --git a/src/dataset/ManageDataset/read_gps.py b/src/dataset/read_dataset/read_gps.py similarity index 100% rename from src/dataset/ManageDataset/read_gps.py rename to src/dataset/read_dataset/read_gps.py diff --git a/src/dataset/ManageDataset/read_ground_truth.py b/src/dataset/read_dataset/read_ground_truth.py similarity index 100% rename from src/dataset/ManageDataset/read_ground_truth.py rename to src/dataset/read_dataset/read_ground_truth.py diff --git a/src/dataset/ManageDataset/read_hokuyo_30m.py b/src/dataset/read_dataset/read_hokuyo_30m.py similarity index 100% rename from src/dataset/ManageDataset/read_hokuyo_30m.py rename to src/dataset/read_dataset/read_hokuyo_30m.py diff --git a/src/dataset/ManageDataset/read_hokuyo_4m.py b/src/dataset/read_dataset/read_hokuyo_4m.py similarity index 100% rename from src/dataset/ManageDataset/read_hokuyo_4m.py rename to src/dataset/read_dataset/read_hokuyo_4m.py diff --git a/src/dataset/ManageDataset/read_ms25.py b/src/dataset/read_dataset/read_ms25.py similarity index 100% rename from src/dataset/ManageDataset/read_ms25.py rename to src/dataset/read_dataset/read_ms25.py diff --git a/src/dataset/ManageDataset/read_ms25_euler.py b/src/dataset/read_dataset/read_ms25_euler.py similarity index 100% rename from src/dataset/ManageDataset/read_ms25_euler.py rename to src/dataset/read_dataset/read_ms25_euler.py diff --git a/src/dataset/ManageDataset/read_odom.py b/src/dataset/read_dataset/read_odom.py similarity index 100% rename from src/dataset/ManageDataset/read_odom.py rename to src/dataset/read_dataset/read_odom.py diff --git a/src/dataset/read_dataset/read_vel_hits.py b/src/dataset/read_dataset/read_vel_hits.py new file mode 100644 index 0000000..3d683f1 --- /dev/null +++ b/src/dataset/read_dataset/read_vel_hits.py @@ -0,0 +1,89 @@ +# !/usr/bin/python +# +# Example code to go through the velodyne_hits.bin +# file and read timestamps, number of hits, and the +# hits in each packet. +# +# +# To call: +# +# python read_vel_hits.py velodyne.bin +# + +import sys +import struct + +def convert(x_s, y_s, z_s): + + scaling = 0.005 # 5 mm + offset = -100.0 + + x = x_s * scaling + offset + y = y_s * scaling + offset + z = z_s * scaling + offset + + return x, y, z + +def verify_magic(s): + + magic = 44444 + + m = struct.unpack('=4 and m[0] == magic and m[1] == magic and m[2] == magic and m[3] == magic + +def main(args): + + if len(sys.argv) < 2: + print("Please specify input bin file") + return 1 + + f_bin = open(sys.argv[1], "rb") + + total_hits = 0 + first_utime = -1 + last_utime = -1 + + while True: + magic = f_bin.read(8) + if magic == '': # eof + break + + if not verify_magic(magic): + print("Could not verify magic") + + num_hits = struct.unpack('= 3: + print('Writing to ', sys.argv[2]) + f_csv = open(sys.argv[2], "w") + else: + f_csv = None + + hits = [] + + while True: + + x_str = f_bin.read(2) + if x_str == b'': # eof + break + + x = struct.unpack('