A point cloud registration library based on projective geometric algebra (PGA). Official implementation of the paper Robust Sampling-based Point Cloud Registration using Geometric Algebra.
Required 3rd party libraries:
Optional 3rd party libraries (Only used by the testbench)
Optional 3rd party libraries (used for visualization)
This software uses the GAALOP Precompiler for creating optimized c++ code from geometric algebra directly inside c++. For this to work you need a recent build of the Precompiler (e.g. from the repository: https://github.com/CallForSanity/Gaalop)
When compiling the project with Cmake you need to specify the following option:
-DGPC_ROOT_DIR=...
If you want to use maxima for creating symbolically optimized code, you should also specify the options:
-DGPC_WITH_MAXIMA=True \ -DMAXIMA_BIN=...
To enable Common Sub Expression optimization for better performance you can use the option:
-DGPC_USE_GCSE=True
When using vcpkg in Windows you can use:
-DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DGPC_ROOT_DIR="C:\Users\Kai\Documents\Uni\Master\Semester4\GeometricAlgebraicComputing\GAALOP_Precompiler\GPC" -DGPC_USE_GCSE=True -DENABLE_TESTBENCH=True
A selection of models that can be used to test the application can be downloaded from Link.
To run the testbench, for reproducing the comparison to other algorithms, you need to download the source models and unpack them in the resources/models/ folder. These models are used as part of the testbench and the full generated dataset is output to the Datasets folder. A precalcualted dataset will be available at this point at a later point in time.
The application takes two parameters as input: First the source point cloud (which should be aligned) and secondly the target point cloud (which stays fixed).
gaalign-app.exe source.ply target.ply
The testbench does not require any arguments.