circleFitValidate
Validate (determine) the number of circles for fitting in a 2D dataset
Contents
Syntax
- param=circleFitValidate(data, opt, showPlot)
Description
param=circleFitValidate(data, opt) returns the best parameters for the selected number of circles via cluster validation
- data: 2D data for fitting circles
- opt: Options for validating no. of circles
- opt.circleNumMax: Max no. of circles
- opt.trialNum: No. of trials for circleFit
- opt.errorReductionTh: Error reduction threshold to determine the no. of circles
- opt.interactiveDisplay: 1 for interactive display
- opt.circleFitOpt: options for circleFitOpt
param: The best parameters for the selected number of circles, where each column is the parameters for a circle
Example
im=imread('circleEdge02.png'); [yEdge, xEdge]=find(im); % x and y coordinates of edge data=[xEdge'; yEdge']; opt=circleFitValidate('defaultOpt'); opt.circleNumMax=2; param=circleFitValidate(data, opt, 1);
1/2 2/2 Iteration count = 1/200, distortion = 8.165129 Iteration count = 2/200, distortion = 5.313890 Iteration count = 3/200, distortion = 5.236911 Iteration count = 4/200, distortion = 5.205136 Iteration count = 5/200, distortion = 5.193122 Iteration count = 6/200, distortion = 5.187583 Iteration count = 7/200, distortion = 5.183228 Iteration count = 8/200, distortion = 5.173491 Iteration count = 9/200, distortion = 5.173491 Iteration count = 1/200, distortion = 6.393238 Iteration count = 2/200, distortion = 4.535225 Iteration count = 3/200, distortion = 3.726256 Iteration count = 4/200, distortion = 3.417880 Iteration count = 5/200, distortion = 3.236156 Iteration count = 6/200, distortion = 2.987055 Iteration count = 7/200, distortion = 2.776740 Iteration count = 8/200, distortion = 2.403186 Iteration count = 9/200, distortion = 2.010672 Iteration count = 10/200, distortion = 1.336104 Iteration count = 11/200, distortion = 0.608004 Iteration count = 12/200, distortion = 0.565160 Iteration count = 13/200, distortion = 0.565160 Iteration count = 1/200, distortion = 9.113211 Iteration count = 2/200, distortion = 5.537621 Iteration count = 3/200, distortion = 5.459795 Iteration count = 4/200, distortion = 5.448802 Iteration count = 5/200, distortion = 5.475100 Iteration count = 6/200, distortion = 5.467499 Iteration count = 7/200, distortion = 4.637858 Iteration count = 8/200, distortion = 3.706144 Iteration count = 9/200, distortion = 3.400883 Iteration count = 10/200, distortion = 3.200154 Iteration count = 11/200, distortion = 2.967245 Iteration count = 12/200, distortion = 2.701485 Iteration count = 13/200, distortion = 2.401549 Iteration count = 14/200, distortion = 2.010672 Iteration count = 15/200, distortion = 1.336104 Iteration count = 16/200, distortion = 0.608004 Iteration count = 17/200, distortion = 0.565160 Iteration count = 18/200, distortion = 0.565160 Iteration count = 1/200, distortion = 7.534051 Iteration count = 2/200, distortion = 5.364511 Iteration count = 3/200, distortion = 4.851671 Iteration count = 4/200, distortion = 4.088247 Iteration count = 5/200, distortion = 3.579417 Iteration count = 6/200, distortion = 3.276020 Iteration count = 7/200, distortion = 3.042396 Iteration count = 8/200, distortion = 2.873762 Iteration count = 9/200, distortion = 2.635175 Iteration count = 10/200, distortion = 2.273532 Iteration count = 11/200, distortion = 1.818467 Iteration count = 12/200, distortion = 0.982391 Iteration count = 13/200, distortion = 0.565160 Iteration count = 14/200, distortion = 0.565160 Iteration count = 1/200, distortion = 7.790331 Iteration count = 2/200, distortion = 4.338828 Iteration count = 3/200, distortion = 3.853502 Iteration count = 4/200, distortion = 3.535857 Iteration count = 5/200, distortion = 3.269640 Iteration count = 6/200, distortion = 3.046310 Iteration count = 7/200, distortion = 2.791322 Iteration count = 8/200, distortion = 2.448222 Iteration count = 9/200, distortion = 2.010672 Iteration count = 10/200, distortion = 1.336104 Iteration count = 11/200, distortion = 0.608004 Iteration count = 12/200, distortion = 0.565160 Iteration count = 13/200, distortion = 0.565160 Iteration count = 1/200, distortion = 9.096735 Iteration count = 2/200, distortion = 4.449323 Iteration count = 3/200, distortion = 3.739949 Iteration count = 4/200, distortion = 3.370741 Iteration count = 5/200, distortion = 3.206952 Iteration count = 6/200, distortion = 3.060935 Iteration count = 7/200, distortion = 2.863690 Iteration count = 8/200, distortion = 2.598005 Iteration count = 9/200, distortion = 2.231062 Iteration count = 10/200, distortion = 1.714058 Iteration count = 11/200, distortion = 0.849651 Iteration count = 12/200, distortion = 0.565160 Iteration count = 13/200, distortion = 0.565160 Iteration count = 1/200, distortion = 7.872668 Iteration count = 2/200, distortion = 4.232080 Iteration count = 3/200, distortion = 3.735747 Iteration count = 4/200, distortion = 3.370908 Iteration count = 5/200, distortion = 3.110711 Iteration count = 6/200, distortion = 2.881309 Iteration count = 7/200, distortion = 2.663846 Iteration count = 8/200, distortion = 2.316505 Iteration count = 9/200, distortion = 1.872779 Iteration count = 10/200, distortion = 1.157736 Iteration count = 11/200, distortion = 0.565160 Iteration count = 12/200, distortion = 0.565160 Iteration count = 1/200, distortion = 6.101683 Iteration count = 2/200, distortion = 4.229581 Iteration count = 3/200, distortion = 3.792590 Iteration count = 4/200, distortion = 3.449419 Iteration count = 5/200, distortion = 3.227640 Iteration count = 6/200, distortion = 2.979898 Iteration count = 7/200, distortion = 2.734773 Iteration count = 8/200, distortion = 2.316505 Iteration count = 9/200, distortion = 1.872779 Iteration count = 10/200, distortion = 1.157736 Iteration count = 11/200, distortion = 0.565160 Iteration count = 12/200, distortion = 0.565160