Introduction#
ACloudViewer: A Modern System for 3D Data Processing#
Homepage | About | Quick Start | Download | Build Guide | Gallery | CloudViewer-ML | Releases | Contribute | Demo
Introduction#
ACloudViewer is an open-source library that supports rapid development of software that deals with 3D data which is highly based on CloudCompare, Open3D, Paraview and colmap with PCL. The ACloudViewer frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. We welcome contributions from the open-source community.
ACloudViewer is a 3D point cloud (and triangular mesh) processing software. It was originally designed to perform comparison between two 3D points clouds (such as the ones obtained with a laser scanner) or between a point cloud and a triangular mesh. It relies on an octree structure that is highly optimized for this particular use-case. It was also meant to deal with huge point clouds ( typically more than 10 millions points, and up to 120 millions with 2 Gb of memory).
More on ACloudViewer here
Core features of ACloudViewer include:
3D data structures
3D data processing algorithms
Scene reconstruction (based on colmap)
Surface alignment
3D visualization
Physically based rendering (PBR)
3D machine learning support with PyTorch and TensorFlow
GPU acceleration for core 3D operations
Available in C++ and Python
Hereβs a brief overview of the different components of ACloudViewer and how they fit together to enable full end to end pipelines:

For more, please visit the ACloudViewer documentation.
Python quick start#
Pre-built pip packages support Ubuntu 20.04+, macOS 10.15+ and Windows 10+ (64-bit) with Python 3.10-3.12 and cuda12.x.
# Install
pip install cloudViewer # or
pip install cloudViewer-cpu # Smaller CPU only wheel on x86_64 Linux (v3.9.1+)
# Verify installation
python -c "import cloudViewer as cv3d; print(cv3d.__version__)"
# Python API
python -c "import cloudViewer as cv3d; \
mesh = cv3d.geometry.ccMesh.create_sphere(); \
mesh.compute_vertex_normals(); \
cv3d.visualization.draw(mesh, raw_mode=True)"
# CloudViewer CLI
cloudViewer example visualization/draw
# CloudViewer Reconstruction
cloudViewer example reconstruction/gui
ACloudViewer System#
ACloudViewer is a standalone 3D viewer app based on QT5 available on Ubuntu and Windows. Please stay tuned for MacOS. Download ACloudViewer from the release page.
Semantic Annotation Tool:
Reconstruction Tool:
Selection and Measurement Tools:
CloudViewer app#
CloudViewer-Viewer is a standalone 3D viewer app available on Ubuntu and Windows. Please stay tuned for MacOS. Download CloudViewer app from the release page.
CloudViewer-ML#
CloudViewer-ML is an extension of CloudViewer for 3D machine learning tasks. It builds on top of the CloudViewer core library and extends it with machine learning tools for 3D data processing. To try it out, install CloudViewer with PyTorch or TensorFlow and check out CloudViewer-ML.
Compilation#
Supported OS: Windows, Linux, and Mac OS X
Refer to the BUILD.md file for detailed build instructions.
Online compilation guides:
Basically, you have to:
clone this repository
install mandatory dependencies (OpenGL, etc.) and optional ones if you really need them (mainly to support particular file formats, or for some plugins)
launch CMake (from the trunk root)
enjoy!
Contributing to ACloudViewer#
If you want to help us improve ACloudViewer or create a new plugin you can start by reading this guide
Supporting the project#
If you find ACloudViewer useful, please consider supporting its development:
π° Financial Support:
π Other Ways to Support:
β Star the project on GitHub
π Report bugs and suggest features
π Contribute code or documentation
π’ Share ACloudViewer with others
For more information, see our Support page.
Thanks for your support!