Skip to content
Implementation of the Fine-To-Coarse Registration algorithm:
C C++ MATLAB HTML Makefile Python Other
Branch: master
Clone or download
Latest commit dd87764 Oct 12, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
basics Unix building with window fix May 10, 2017
fetbenchmark Initial commit Apr 14, 2017
fetregister Warning fix Oct 12, 2017
gaps Initial commit Apr 14, 2017
sun3dsfm Initial commit Apr 14, 2017
.gitignore Initial commit Apr 14, 2017
LICENSE.TXT Initial commit Apr 14, 2017 Fixed typo in May 8, 2017 Initial commit Apr 14, 2017
makefile Initial commit Apr 14, 2017

Scan Registration

This is the code repository for the code for scan registration project, specifically the "Fine-to-Coarse Global Registration of RGB-D Scans". This repository contains four main parts:

  • fetregister - main application implementing algorithm described in "Fine-to-Coarse Global Registration of RGB-D Scans"
  • fetbenchmark - simple application for benchmarking results of registration algorithms (for data visit the project website).
  • gaps - general computer graphics library by Thomas Funkhouser
  • basics - visualization and utility helper library
  • sun3dsfm - modified version of code from Xiao et al.. For our purpose we only perform pairwise alignment.


Provided that you have dependencies installed (see below), you should be able to simply type:

This should build all libraries and programs and put them into bin/ folder. Moreover each of the fetregister, fetbenchmark and gaps folders contains a makefile, so they can be build separately by running:

make -C <folder_name>

You might need to edit those, if your dependencies are not installed in /usr/local/lib. Also note that by default the code builds in window-less mode. To enable visualization and window support in fetregister run:

make -C fetregister USE_WINDOW=1

This code has been tested on both MacOs (Sierra) and Linux (Springdatle Linux 7). We have not tested the code on Windows, however we expect compiling this code using Cygwin should not be hard.


  • glfw3 (windowing)
  • glew (opengl extension loading)

Running registration

For description on how to run registration algorithm, please go to fetregister.

Running benchmark

For description on how to run benchmark, please go to fetbenchmark.


If you use this code or benchmark, please cite our work:

  title     = {Fine-To-Coarse Global Registration of RGB-D Scans},
  author    = {Maciej Halber and Thomas Funkhouser},
  booktitle = {CVPR}, 
  year      = {2017} 
You can’t perform that action at this time.