LMreducedCircleFit {conicfit}R Documentation

Geometric circle fit (minimizing orthogonal distances) based on the Levenberg-Marquardt method

Description

LMreducedCircleFit applies a Geometric circle fit (minimizing orthogonal distances) based on the standard Levenberg-Marquardt scheme in the "reduced" (a,b) parameter space

Usage

LMreducedCircleFit(XY, ParIni, LambdaIni = 1, epsilon = 1e-06, 
IterMAX = 50)

Arguments

XY

array of sample data

ParIni

initial guess (a, b)

LambdaIni

initial value for the correction factor lambda

epsilon

tolerance (small threshold)

IterMAX

maximum number of (main) iterations, usually 10-20 will suffice

Value

vector(a, b, R)

vector with the estimates for the circle: center (a,b) and radius R

Author(s)

Jose Gama

Source

Nikolai Chernov, 2014 Fitting ellipses, circles, and lines by least squares http://people.cas.uab.edu/~mosya/cl/

Nikolai Chernov, 2010 Circular and linear regression: Fitting circles and lines by least squares Chapman & Hall/CRC, Monographs on Statistics and Applied Probability, Volume 117

References

Nikolai Chernov, 2014 Fitting ellipses, circles, and lines by least squares http://people.cas.uab.edu/~mosya/cl/

Nikolai Chernov, 2010 Circular and linear regression: Fitting circles and lines by least squares Chapman & Hall/CRC, Monographs on Statistics and Applied Probability, Volume 117

Examples

xy<-calculateCircle(0,0,200,50,randomDist=TRUE,noiseFun=function(x) (x+rnorm(1,mean=0,sd=50)))
plot(xy[,1],xy[,2],xlim=c(-250,250),ylim=c(-250,250));par(new=TRUE)
c7 <- LMreducedCircleFit(xy)
xyc7<-calculateCircle(c7[1],c7[2],c7[3])
plot(xyc7[,1],xyc7[,2],xlim=c(-250,250),ylim=c(-250,250),col='pink',type='l')

[Package conicfit version 1.0.4 Index]