fit_circle - fit a circle to a point cloud.


fit_circle [-?|-h|--help] [-d INTEGER|--discretisation INTEGER] [-e INTEGER|--export INTEGER] [-t DOUBLE|--threshold DOUBLE]


fit_circle finds the circle which better fits a given point cloud. If the option --threshold is used, outlier points are not included. In a first phase, an estimate of the shape is computed using the RANSAC algorithm. The minimum number of points necessary to define a circle is 3. A sample of 3 point sets is randomly chosen from the point cloud. For each of them, a circle shape is chosen. The best one is then kept (the one closest to a maximum of point). In a second phase, this estimate is refined, computing a least square estimate using the Levenberg-Marquardt algorithm. The input point cloud is read from the standard input and the result is returned to the standard output.



Returns the manual page.

-d INTEGER, --discretisation INTEGER

INTEGER is the number of points or lines to export.

-e INTEGER, --export INTEGER

INTEGER is the type of data which is returned to the standard output: [0: general shape description (default), 1: points, 2: lines, 3: inliers, 4: outliers]

-t DOUBLE, --threshold DOUBLE

Only points closer than DOUBLE are considered (default: no threshold).


Be verbose.


Written by Pierre Smars (first version: 2009)


Reports of bugs or problems should be submitted via electronic mail to <>.


Copyright (C) 2012 Pierre Smars. License GPLv2 <>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


fit_line(1), fit_plane(1), fit_sphere(1), fit_quadric(1)

Pierre SMARS (tools, home page)