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
Some basic sorting algos

Sorting-Algos Some basic sorting algos HacktoberFest 2021 This repository consists of mezzo-level projects that undertake a simple task and perform it

Manthan Ghasadiya 7 Dec 13, 2022
Draw random mazes in python

a-maze Draw random mazes in python This program generates and draws a rectangular maze, with an entrance on one side and one on the opposite side. The

Andrea Pasquali 1 Nov 21, 2021
Turn crypto miner on/off depending on powerwall charge level

Mining Crypto with Tesla Solar and Powerwalls This script turns a crypto miner on and off when the Tesla Powerwall level drops/rises above a certain t

Matt 1 Nov 09, 2021
Inviare messaggi tramite app IO a partire da dati contenuti in file .csv

parlaConIO Inviare messaggi tramite app IO a partire da dati contenuti in file .csv -- Nessun obbligo, ma in caso di clonazione o uso del programma c

Francesco Del Castillo 6 Aug 22, 2022
Fuzz introspector for python

Fuzz introspector High-level goals: Show fuzzing-relevant data about each function in a given project Show reachability of fuzzer(s) Integrate seamles

14 Mar 25, 2022
A Python version of Canvacord

A copy of canvacord made in python! Table of contents Installation Examples Creating Images Links Downloads Installation Run any of these commands in

10 Mar 28, 2022
python scripts - mostly automation scripts

python python scripts - mostly automation scripts You can set your environment in various ways bash #!/bin/bash python - locally on remote host #!/bi

Enyi 1 Jan 05, 2022
This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time

This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time. It uses SQLAlchemy for ORM and Alembic for database migrations.

Majid Iranpour 5 Apr 16, 2022
Reference management solution using Python and Notion.

notion-scholar Reference management solution using Python and Notion. The main idea of this app is to allow to furnish a Notion database using a BibTe

Thomas Hirtz 69 Dec 21, 2022
Reload all Blender add-on modules

Reload-Addon This add-on creates a list of the modules that the add-on selected in the drop-down menu contains and reloads them with the keyboard shor

2 Dec 02, 2021
Calculadora-basica - Calculator with basic operators

Calculadora básica Calculadora com operadores básicos; O programa solicitará a d

Vitor Antoni 2 Apr 26, 2022
Personal Chat Assistance

Python-Programming Personal Chat Assistance {% import "bootstrap/wtf.html" as wtf %} titleEVT/title script src="https://code.jquery.com/jquery-3.

PRASH_SMVIT 2 Nov 14, 2021
Test pour savoir si je suis capable de paratger une lib avec le monde entier !!

Data analysis Document here the project: MLproject Description: Project Description Data Source: Type of analysis: Please document the project the bet

Lucas_Penarrubia 0 Jan 18, 2022
A python program to detect rickrolls with just the youtube link.

rickroll_detector A python program to detect rickrolls with just the youtube link. Usage: clone this repo or download zip run the main.py file with py

Tricky 4 Nov 06, 2022
Simple module with some functions such as generate password (get_random_string)

Simple module with some functions such as generate password (get_random_string), fix unicode strings, size converter, dynamic console, read/write speed checker, etc.

Dmitry 2 Dec 03, 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
ViberExport - Export messages from Viber messenger using viber.db file

📲 ViberExport Export messages from Viber messenger using viber.db file ⚡ Usage:

7 Nov 23, 2022
Cross-Encoder-with-Bi-Encoder를 활용한 WebPage 데모

Retrieval_Streamlit_Demo Cross-Encoder-with-Bi-Encoder를 활용한

5 Dec 29, 2021
Python template for Advent of Code event

Advent of Code Python Starter A tamplate for Advent of Code write in Python. Usage The project use poetry for project manager. Clone this repository a

Leonardo Gago 6 Dec 31, 2022
Paprika is a python library that reduces boilerplate. Heavily inspired by Project Lombok.

Image courtesy of Anna Quaglia (Photographer) Paprika Paprika is a python library that reduces boilerplate. It is heavily inspired by Project Lombok.

Rayan Hatout 55 Dec 26, 2022