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
Nateve transpiler developed with python.

Adam Adam is a Nateve Programming Language transpiler developed using Python. Nateve Nateve is a new general domain programming language open source i

Nateve 7 Jan 15, 2022
PyPI package for scaffolding out code for decision tree models that can learn to find relationships between the attributes of an object.

Decision Tree Writer This package allows you to train a binary classification decision tree on a list of labeled dictionaries or class instances, and

2 Apr 23, 2022
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
Simple tools to make/dump CPC+ CPR cartridge files

Simple tools to make/dump CPC+ CPR cartridge files mkcpr.py: make a CPR file from files (one chunk per file); see notes cprdump.py: dump the chunks of

Juan J. Martínez 3 May 30, 2022
Removes all archived super productivity tasks. Just run the python script.

delete-archived-sp-tasks.py Removes all archived super productivity tasks. Just run the python script. This is helpful to do a cleanup every 3-6 month

Ben Herbst 1 Jan 09, 2022
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

👨‍💻 👩‍💻 school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
Zapiski za ure o C++-u

cpp-notes Zapiski o C++-u. Objavljena verzija je na https://e6.ijs.si/~jslak/c++/ Generating the notes The setup assumes you are working in a Linux en

Jure Slak 1 Jan 05, 2022
Python module to work with Magneto Database directly without using broken Magento 2 core

Python module to work with Magneto Database directly without using broken Magento 2 core

Egor Shitikov 13 Nov 10, 2022
Grouping nucleotide coordinate ranges.

NuclRanger Grouping nucleotide coordinate ranges. A quick pre-processing step for "bedtools getfasta":- https://bedtools.readthedocs.io/en/latest/cont

Sujanavan Tiruvayipati 1 Oct 04, 2022
ClamNotif: A tool to send you ClamAV notifications

A tool to forward notifications to different recipients categorised by two severity levels of the regular health reports produced by `clamscan` bundled with the ClamAV antivirus engine.

PiSoft Company Ltd. 1 Nov 15, 2021
A conda-smithy repository for boost-histogram.

The official Boost.Histogram Python bindings. Provides fast, efficient histogramming with a variety of different storages combined with dozens of composable axes. Part of the Scikit-HEP family.

conda-forge 0 Dec 17, 2021
A small script I made that takes any standard Decklist of magic the gathering cards and pulls all card images from scryfall at once!

A small script I made that takes any standard Decklist of magic the gathering cards and pulls all card images from scryfall at once!

15 Aug 26, 2022
AMTIO aka All My Tools in One

AMTIO AMTIO aka All My Tools In One. I plan to put a bunch of my tools in this one repo since im too lazy to make one big tool. Installation git clone

osintcat 3 Jul 29, 2021
Listen Surah, prepare for next and Endless life...

Al-Quran In this repository, I have linked up all Surah with Arabic-Bangla Audio From Youtube. So, you just need to choose and listen. and the ( surah

SpiderX 1 Sep 30, 2022
Calibre Libgen Non-fiction / Sci-tech store plugin

CalibreLibgenSci A Libgen Non-Fiction/Sci-tech store plugin for Calibre Installation Download the latest zip file release from here Open Calibre Navig

IDDQD 9 Dec 27, 2022
A(Sync) Interface for internal Audible API written in pure Python.

Audible Audible is a Python low-level interface to communicate with the non-publicly Audible API. It enables Python developers to create there own Aud

mkb79 192 Jan 03, 2023
Render to print for blender 2.9+

render_to_print_blender_addon ** render2print: Blender AddOn for Blender 2.90.0+ ** Calculates camera parameters to allow printing a rendered image to

5 Nov 19, 2021
A repository containing an introduction to Panel made to be support videos and talks.

👍 Awesome Panel - Introduction to Panel THIS REPO IS WORK IN PROGRESS. PRE-ALPHA Panel is a very powerful framework for exploratory data analysis and

Marc Skov Madsen 51 Nov 17, 2022
Check COVID locations of interest against Google location history

Location of Interest Checker Script to compare COVID locations of interest to Google location history. The script produces a map plot (as shown below)

9 Mar 30, 2022
A gamey, snakey esoteric programming language

Snak Snak is an esolang based on the classic snake game. Installation You will need python3. To use the visualizer, you will need the curses module. T

David Rutter 3 Oct 10, 2022