Skip to content
Random Sample Consensus (RANSAC) Algorithm, A Generic Implementation
Branch: master
Clone or download
root revision 1
Latest commit 86ee54d Aug 22, 2011
Type Name Latest commit message Commit time
Failed to load latest commit information.
Common revision 1 Aug 22, 2011
Examples revision 1 Aug 22, 2011
Testing revision 1 Aug 22, 2011
CMakeLists.txt revision 1 Aug 22, 2011
ParametersEstimator.h revision 1 Aug 22, 2011
ParametersEstimator.txx revision 1 Aug 22, 2011
PlaneParametersEstimator.h revision 1 Aug 22, 2011
PlaneParametersEstimator.txx revision 1 Aug 22, 2011
RANSAC.h revision 1 Aug 22, 2011
RANSAC.txx revision 1 Aug 22, 2011
SphereParametersEstimator.h revision 1 Aug 22, 2011
SphereParametersEstimator.txx revision 1 Aug 22, 2011
license.txt revision 1 Aug 22, 2011
readme.txt revision 1 Aug 22, 2011


This is the source code for a C++ templated implementation of the RANSAC
algorithm. The implementation is multi-threaded. In addition to the RANSAC
algorithm the code includes estimators for two parametric entities, n
dimensional planes and spheres. Example programs showing the use of the RANSAC
algorithm combined with the parameter estimators are also given. Testing
programs are only provided for the two parameter estimators.

The code is "in the style of ITK". That is, it is very similar to the official
ITK style but does not follow all of the required conventions.


RANSAC.{h,txx} - Multi-threaded implementation of the generic RANSAC algorithm.

ParametersEstimator.{h,txx} - Super class of all parameter estimation objects
that can be used with the RANSAC algorithm. This is an abstract class that
defines an interface.

PlaneParametersEstimator.{h,txx} - Estimation code for n-dimensional planes.

SphereParametersEstimator.{h,txx} - Estimation code for n-dimensional spheres.

Examples/{sphereEstimation.cxx,planeEstimation.cxx} - Example programs combining
RANSAC with the parameter estimators. The dimensionality is hard coded (set to 3).
The programs work for any dimensionality, just change the DIMENSION constant. For
DIMENSION==3 the programs have a side effect of writing two open inventor scene
files corresponding to the least squares and RANSAC based estimates.

Testing/*.cxx - Tests of the two parameter estimators.

Utility/coin3dSceneViewer.cxx - Viewer for open inventor scene files. Requires Coin3D
and SoWin libraries (

Common/RandomNumberGenerator.h - Wrapper for the vnl random number generator. Used by
the testing code and the example code.
You can’t perform that action at this time.