Skip to content

ErowCloudViewer: A Modern System for 3D Data Processing

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.txt
Notifications You must be signed in to change notification settings

Asher-1/ACloudViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACloudViewer: A Modern System for 3D Data Processing

GitHub release Ubuntu CI macOS CI Windows CI Releases

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 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:

CloudViewer_layers

For more, please visit the ACloudViewer documentation.

Python quick start

Pre-built pip packages support Ubuntu 18.04+, macOS 10.15+ and Windows 10+ (64-bit) with Python 3.8-3.12.

# 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.TriangleMesh.create_sphere(); \
           mesh.compute_vertex_normals(); \
           cv3d.visualization.draw(mesh, raw_mode=True)"

# CloudViewer CLI
cloudViewer example visualization/draw

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:

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 compiling-cloudviewer.md file for up-to-date information.

Refer to the BUILD.md file for up-to-date information.

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 want to help us in another way, you can make donations via donorbox Thanks!

donorbox