function [mejorxInliers,mejoryInliers]=ransacCirc( x,y, numMaxIter)
% RANSAC Circunf que finaliza en cuanto realiza numMaxIter. 
% Devuelve el mejor modelo encontrado (con más inliers)
% x,y contiene las x (columnas)y las y (filas) de los pix de cont
% numMaxIter numero máximo de iteraciones
% mejorxInliers son las columnas! del mejor modelo encontrado
% mejoryInliers son las filas!
% xInliers e yInliers hay que pasarlos LMS para calcular circunferencia
% con mejor precisión
% -------------------------- EJECUCION------------------------------------
% Cont=edge(I);
% [X,Y] = coordPixelsCont(Cont);   %coord punt.contorno a vectores X e Y
% [xInliers,yInliers] = ransacCirc( X,Y, 10);    %10 iteraciones
% [A,B,C]=LMSCirc(xInliers,yInliers);   %ajuste inliers por min.cuadrados
% dibujaCircABC(A,B,C, 'r');
% ------------------------------------------------------------------------


anchuraCorona=2;%  anchura de la corona circular donde estan los inliers
mejorNumInliers=0; %el numero de inliers más alto q se ha encontrado

for numIteraciones=1:numMaxIter
    hold on;
    [xSample,ySample]=eligePuntosRand(x,y,3);
    %plot(xSample,ySample,'r+');
    
    %circunf que pasa por estos tres puntos
    [A, B, C] = LMSCirc(xSample,ySample);
    radio= sqrt(A^2+B^2-4*C)/2;
    centro= [-A/2,-B/2];              
    dibujaCircABC(A,B,C,'y');  %dibuja cada hipótesis
    
    %dibujaCirc(centro,radio,'y');
    [xInliers,yInliers] = InliersCirc( x,y,centro,radio, anchuraCorona);
    
    numInliers=length(xInliers);
    if numInliers > mejorNumInliers
        mejorNumInliers=numInliers;
        mejorxInliers=xInliers;
        mejoryInliers=yInliers;
    end
end






