3DGSS: 3D Geometric Scale Space

Software for Scale-Dependent/Invariant Features, Descriptors, and Registration

Buddha descriptors Buddha correspondences Buddha aligned


[1/13/2015] We released version 1.3 which fixes errors when compiling.
[4/3/2012] A faster version that runs on Mac OSX and Windows released.
[10/6/2011] Minor bug regarding maxBoundingLength initialization fixed (Thanks to Sebastian Höfer)

About the Software

This page contains software and instructions to compute features and descriptors, and fully automatically align range images using the 3D geometric scale-space analysis introduced in these papers.

Please cite these references in your paper when this software is used for your research.

Note that this is research software and may contain bugs or other issues--please use it at your own risk. If you experience major problems with it, you may email us, but please note that we do not have the resources to deal with all issues.

The software was written by Gabe Schwartz based on original research and reference implementation by John Novatnack, under the supervision of Ko Nishino. Please carefully read the files LICENSE and README included in the software directory.

All inquiries related to this software should be sent to kondrexel.edu.



3DGSS depends on the Python libraries PIL, NetworkX, Numpy, Scipy, eigen, and libkdtree++, and requires cmake and an mp enabled compiler to compile.

The 3DGSS code requires that you provide range-grid PLY files as input. A range-grid PLY file is not the same as an ordinary PLY file. Instead of a list of vertices and a list of faces, it has a list of vertices and a list defining the valid or masked pixels in raster-scan order (left-to-right, top-to-bottom).
The Standford 3D Scanning Repository has many range images that can be used to test the code.


Please run make to compile the documents. 3dgss.py is the main program to execute.

To see the full usage of the program, simply run

				3dgss.py -h

The following are some sample usages.