Code covered by the BSD License

Highlights from Circle Fit (Taubin method)

4.71429
4.7 | 7 ratings Rate this file 45 Downloads (last 30 days) File Size: 2.24 KB File ID: #22678 Version: 1.0

Circle Fit (Taubin method)

Nikolai Chernov (view profile)

Fits a circle to a set of data points on a plane; returns the circle center (a,b) and radius R.

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

File Information
Description

This is a robust and accurate circle fit. It works well even if data
points are observed only within a small arc. This circle fit was
proposed by G. Taubin in article "Estimation Of Planar Curves, Surfaces And Nonplanar Space Curves Defined By Implicit Equations, With Applications To Edge And Range Image Segmentation", IEEE Trans. PAMI, Vol. 13, pages 1115-1138, (1991). It is more stable than the simple Circle Fit by Kasa (files
#5557 and #22642) and slightly faster than Circle Fit by Pratt (file #22643).

Acknowledgements

Circle Fit inspired this file.

This file inspired Frenet Robust.Zip.

MATLAB release MATLAB 6.0 (R12)
Tags for This File   Please login to tag files.
Comments and Ratings (7)
14 May 2015 Anton Jigalin

Anton Jigalin (view profile)

19 Apr 2013 Marta

Marta (view profile)

Can anyone help me with using this function in the Curve Fitting App ? I need to get Goodness of Fit and RSME values..

04 May 2012 Pascal

Pascal (view profile)

Nice ! Would be nice to input sigma error on data points and output resulting error on center and radius.

01 Dec 2011 David

David (view profile)

09 Aug 2011 jinrong

jinrong (view profile)

02 Jul 2010 Manuel Lopes

Manuel Lopes (view profile)

Works nicely, can be easily extended to 3D data.

%project 3D data to a plane
[U,S,V]=svd(XYr);
XYp = U'*XYr;

Pare = CircleFitByTaubin(XYp(1:2,:)')

%estimated center
UU = U * [Pare(1:2)';0];