Visualize Data From Stray Scanner https://keke.dev/blog/2021/03/10/Stray-Scanner.html

Overview

StrayVisualizer

A set of scripts to work with data collected using Stray Scanner.

Staircase pointcloud

Usage

Installing Dependencies

Install dependencies with pip -r requirements.txt.

Example Datasets

If you don't have your own dataset, download one of these example datasets:

  • wget https://stray-data.nyc3.digitaloceanspaces.com/datasets/ZB1.tar.gz
  • wget https://stray-data.nyc3.digitaloceanspaces.com/datasets/ZB2.tar.gz
  • wget https://stray-data.nyc3.digitaloceanspaces.com/datasets/ZB3.tar.gz

Assuming you selected ZB1.tar.gz, you can extract the dataset using the command tar -xvf ZB1.tar.gz.

Visualizing the data

Run python stray_visualize.py <path-to-dataset>.

Available command line options are:

  • --point-clouds shows pointclouds.
  • --confidence=<value> there are three levels of confidence for the depth outputs: 0, 1 and 2. Higher is more confident. Only points having confidence higher or equal to the given value are shown.
  • --frames shows the camera pose coordinate frames.
  • --every=<n> determines how often the coordinate frame is drawn. Default is to draw every 60th frame.
  • --trajectory shows a black line for the trajectory of the camera.
  • --integrate will run the data through the Open3D RGB-D integration pipeline and visualize the resulting mesh.
  • --voxel-size=<size> sets the voxel size in meters for RGB-D integration.
  • --mesh-filename save the mesh from RGB-D integration into the given file. Defaults to no mesh saved.

Creating a Video From the Depth Maps

python make_video.py <dataset-path> will combine depth maps into a video. It will create a file depth_video.mp4 inside the dataset folder.

Running 3D Reconstruction on Collected Data

For convenience, the convert_to_open3d.py script is provided to convert the Stray Scanner format to the Open3D reconstruction system format.

Usage: python convert_to_open3d.py --dataset <path-to-dataset> --out <where-to-save-converted-dataset>.

You can run their reconstruction pipeline using python <path-to-open3d-repo>/examples/python/reconstruction_system/run_system.py <config.json> --make --register --refine --integrate as described here. <config.json> is a configuration file created for convenience by convert_to_open3d.py into the newly created dataset folder. It contains absolute paths, so if you move your dataset, be sure to update the configuration.

Beware that the Open3D reconstruction system takes up quite a lot of memory and compute. On Mac, you might need to add "python_multi_threading": false into the config file to avoid crashing.

Reporting Issues

If you find any issues with this project or bugs in the Stray Scanner app, you can open an issue on this repository.

Owner
Kenneth Blomqvist
Kenneth Blomqvist
This is Gaurav's IP Project Completed in the year session of 2021-2022.

The Analyser by Gaurav Rayat Why this Project? Today we are continuously hearing about growth in Crime rates and the number of murders executed day by

1 Dec 30, 2021
Passenger Car Unit (PCU) Calculator

This is a streamlit web application which can be used to calculate Passenger Car Unit (PCU) values for a selected road section.

Dineth Dhananjaya 1 Apr 26, 2022
A way to write regex with objects instead of strings.

Py Idiomatic Regex (AKA iregex) Documentation Available Here An easier way to write regex in Python using OOP instead of strings. Makes the code much

Ryan Peach 18 Nov 15, 2021
Refer'd Resume Scanner

Refer'd Resume Scanner I wanted to share a free resource we built to assist applicants with resume building. Our resume scanner identifies potential s

Refer'd 74 Mar 07, 2022
Using graph_nets for pion classification and energy regression. Contributions from LLNL and LBNL

nbdev template Use this template to more easily create your nbdev project. If you are using an older version of this template, and want to upgrade to

3 Nov 23, 2022
Organize seu linux - organize your linux

OrganizeLinux Organize seu linux - organize your linux Organize seu linux Uma forma rápida de separar arquivos dispersos em pastas. formatos a serem c

Marcus Vinícius Ribeiro Andrade 1 Nov 30, 2021
Learning objective: Use React.js, Axios, and CSS to build a responsive YouTube clone app

Learning objective: Use React.js, Axios, and CSS to build a responsive YouTube clone app to search for YouTube videos, channels, playlists, and live events via wrapper around Google YouTube API.

Dillon 0 May 03, 2022
万能通用对象池,可以池化任意自定义类型的对象。

pip install universal_object_pool 此包能够将一切任意类型的python对象池化,是万能池,适用范围远大于单一用途的mysql连接池 http连接池等。 框架使用对象池包,自带实现了4个对象池。可以直接开箱用这四个对象池,也可以作为例子学习对象池用法。

12 Dec 15, 2022
Let's make a lot of random function from Scracth...

Pseudo-Random On a whim I asked myself the question about how randomness is integrated into an algorithm? So I started the adventure by trying to code

Yacine 2 Jan 19, 2022
Python dictionaries with advanced dot notation access

from box import Box movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 } }) movie_box.Robin_Hood_Men_in_Tights.imdb_s

Chris Griffith 2.1k Dec 28, 2022
Python script for the radio in the Junior float.

hoco radio 2021 Python script for the radio in the Junior float. Populate the ./music directory with 2 or more .wav files and run radio2.py. On the Ra

Kevin Yu 2 Jan 18, 2022
Code needed for hybrid land cover change analysis for NASA IDS project

Documentation for the NASA IDS change analysis Poley 10/21/2021 Required python packages: whitebox numpy rasterio rasterio.mask os glob math itertools

Andrew Poley 2 Nov 12, 2021
Analyzes crypto candles over a set time period and then trades based on winning patterns found

patternstrade Analyzes crypto candles over a set time period and then trades based on winning patterns found. Heavily customizable. Warning: This was

ConnorCreate 14 May 29, 2022
Clear merged pull requests ref (branch) on GitHub

GitHub PR Cleansing This tool is used to clear merged pull requests ref (branch) on GitHub. GitHub has no feature to auto delete branches on pull requ

Andi N. Dirgantara 12 Apr 19, 2022
Irrigation Component V4 providing support for a custom card

Irrigation Component V4 This release sees the delivery of a custom card https://github.com/petergridge/irrigation_card to render the program options s

12 Oct 28, 2022
Learning a Little about Containerlab

Learning a Little about Containerlab Hello all. This is the respository based on this blog post. Getting Started Feel free to use this example. You wi

10 Oct 16, 2022
A wrapper script to make working with ADB (Android Debug Bridge) easier

Python-ADB-Wrapper A wrapper script to make working with ADB (Android Debug Bridge) easier This project was just a simple test to see if I could wrap

18iteration 1 Nov 25, 2021
Run PD patches in NRT using Python

The files in this repository demonstrate how to use Pure Data (Pd) patches designed to run in Non-Real-Time mode to batch-process (synthesize, analyze, etc) sounds in series using Python.

Jose Henrique Padovani 3 Feb 08, 2022
A log likelihood fit for extracting neutrino oscillation parameters

A-log-likelihood-fit-for-extracting-neutrino-oscillation-parameters Minimised the negative log-likelihood fit to extract neutrino oscillation paramete

Vid Homsak 1 Jan 23, 2022
a really simple bot that send you memes from reddit to whatsapp

a really simple bot that send you memes from reddit to whatsapp want to use use it? install the dependencies with pip3 install -r requirements.txt the

pai 10 Nov 28, 2021