Tutorials for pointcloud processing in Python (basic operations, spatial indexing, registration, segmentation & primitive fitting)
The use of pointclouds tends to increase over the years, as 3D acquisition systems and 3D modeling software become more widely available. Pointclouds are nowadays used in many areas, such as computer-aided design, metrology, extended reality, robotics, and autonomous driving, to name just a few.
These tutorials have been created for those wishing to learn a little bit more about the basics of pointcloud processing. Having gone through this stage during my Ph.D., I hope here to share some of what I have learned so far.
The notebooks have been designed to make pointcloud processing algorithms easier to understand, without compromising performance too much and trying to minimize the use of specialized third-party software. They require basic knowledge of Python and its main scientific libraries.
Tutorials are broken down as follows:
The code is in python
and relies on numpy
, scipy
, matplotlib
, and jupyterlab
.
These dependencies may installed with pip
with
pip install numpy scipy matplotlib jupyterlab
or via conda
with
conda install numpy scipy matplotlib jupyterlab
JupyterLab may be started using the terminal or Anaconda prompt simply by typing
jupyter lab
The lists below do not pretend to be not exhaustive but may be a good starting point for those who whish to dive deeper in the topic of pointcloud processing.
Libraries:
Applications:
Books:
Videos:
You are mostly free to share and reuse this work as you wish. Please do not forget to cite it if you do!
An example using BibTeX:
@unpublished{gregorio2024tutorials,
author={Grégorio, Jean-Loup},
title={Tutorials for pointcloud processing in Python},
year={2024},
}