Skip to main content

Analyse of point cloud collections

Project description

https://readthedocs.org/projects/pointcloudset/badge/?version=latest

A package to work with pointcloud datasets. A pointcloud dataset is a collection of pointclouds recorded over a time period.

Features

  • Handles pointclouds over time

  • Building complex pipelines with a clean and maintainable code

newpointcloud = pointcloud.limit("x",-5,5).filter("quantile","reflectivity", ">",0.5)
  • Apply arbitrary functions to datasets of pointclouds

def isolate_target(frame: PointCloud) -> PointCloud:
   return frame.limit("x",0,1).limit("y",0,1)

def diff_to_pointcloud(pointcloud: PointCloud, to_compare: PointCloud) -> PointCloud:
   return pointcloud.diff("pointcloud", to_compare)

result = dataset.apply(isolate_target).apply(diff_to_pointcloud, to_compare=dataset[0])
  • Support for large files with lazy evaluation and parallel processing

images/dask.gif
  • Support for numerical data per point (intensity, range, noise …)

  • Interactive 3D visualisation

images/plot_3d.gif
  • High level processing based on dask, pandas, open3D and pyntcloud

  • Docker image is available

  • Optmised for automotive lidar - especially the ones by Ouster

  • Directly read ROS bagfiles and many pointcloud file formats

  • A commandline tool to convert ROS bagfiles

Use case examples

  • Post processing and analytics of a lidar dataset recorded by ROS

  • A collection of multiple lidar scans from a terrestrial laser scanner

  • Comparison of mutliple pointclouds to a ground truth

  • Analytics of pointclouds over time

  • Developing algorithms on a single frame and then applying them to huge datasets

Installation with pip

Install python package with pip:

pip install pointcloudset

Installation with Docker

TODO

Quickstart

from pointcloudset import Dataset, PointCloud
from pathlib import Path

dataset = Dataset.from_file(Path("rosbag_file.bag"), topic="/os1_cloud_node/points", keep_zeros=False)
pointcloud = PointCloud.from_file(Path("lasfile.las"))
  • Read the html documentation.

  • Have a look at the tuturial notebooks in the documentation folder

  • For even more usage examples you can have a look at the tests

Citation and contact

orcid Thomas Gölles email: thomas.goelles@v2c2.at

ADD link to JOSS paper here and DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pointcloudset-0.2.1.tar.gz (26.9 kB view hashes)

Uploaded Source

Built Distribution

pointcloudset-0.2.1-py3-none-any.whl (34.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page