function [midx,midy,tangx,tangy,eid]=distance_finder(cf,dt) 
cs = cscvn(cf(:,1:5:end));
points = fnplt(cs,2);
mx = mean(points(1,:));
my = mean(points(2,:));

dx = (points(1,:)-mx).^2;
dy = (points(2,:)-my).^2;
ct = 90;
dd = 20;

%% compute the horizontal cross sectional area 
[pm,pl] = findpeaks(-dx,'minpeakheight',prctile(-dx,ct),'minpeakdistance',dd);
px = points(1,pl);
py = points(2,pl);
midx = [px;py];
mx = mean(points(1,:));
my = mean(points(2,:));
%% compute min distance via slope-tangent 
i1 = min(pl(1)+dt,length(points(2,:)));
i2 = max(pl(1)-dt,1);

dydx = (points(2,i1)-points(2,i2))/(points(1,i1)-points(1,i2));
slope = -1/dydx; 
xhat = -400:0.1:400; 
yhat = slope*(xhat) + points(2,pl(1));
xhat = points(1,pl(1)) + xhat;
for i = 1:length(points)
min_dis(i) = min((points(1,i) - xhat).^2 + (points(2,i)-yhat).^2);    
end
[pm,pl] = findpeaks(-min_dis,'minpeakheight',prctile(-min_dis,ct),'minpeakdistance',dd);
px = points(1,pl);
py = points(2,pl); 
tangx = [px;py];


%% compute the vertical cross sectional area 
[pm,pl] = findpeaks(-dy,'minpeakheight',prctile(-dy,ct),'minpeakdistance',dd);
px = points(1,pl);
py = points(2,pl);
midy = [px;py];

%% compute the 
i1 = min(pl(1)+dt,length(points(2,:)));
i2 = max(pl(1)-dt,1);
dydx = (points(2,i1)-points(2,i2))/(points(1,i1)-points(1,i2));
slope = -1/dydx; 
xhat = -400:0.1:400; 
yhat = slope*(xhat) + points(2,pl(1));
xhat = points(1,pl(1)) + xhat;
for i = 1:length(points)
min_dis(i) = min((points(1,i) - xhat).^2 + (points(2,i)-yhat).^2);    
end
[pm,pl] = findpeaks(-min_dis,'minpeakheight',prctile(-min_dis,ct),'minpeakdistance',dd);
px = points(1,pl);
py = points(2,pl); 
tangy = [px;py];




eid(4) = size(tangy,2);
eid(3) = size(tangx,2);
eid(2) = size(midy,2);
eid(1) = size(midx,2);



end
%%