; ; sfit deg=1 yfit=sfit(data,deg,/irreg,kx=kx,/max_degree) ; ; curvefit ; parms=dblarr(3) funcnm='fitplanefunc' ; a[0]*x + a[1]*y + a[2]*z + a[3]=0 ; compute average pnt ; a=size(data) npnts=a[2] pavg=total(data,2)/npnts d=sqrt(pavg[0]^2 + pavg[1]^2 + pavg[2]^2) ; ; create vector pnts xmin to xmax ; ymin to ymax a=min(data[0,*],iminx) a=max(data[0,*],imaxx) a=min(data[1,*],iminy) a=max(data[1,*],imaxy) ; vx=data[*,imaxx] - data[*,iminx] vy=data[*,imaxy] - data[*,iminy] vx=crossp(vx,vy) parms=[vx[0],vx[1],d]/vx[2] w=dblarr(2*npnts) + 1d noderiv=1 yfitcf=curvefit(reform(data[0:1,*],2*npnts),reform(data[2,*],npnts),w,parms,chisq=chisq,/double,function_name=funcNm,$ noderiv=noderiv,status=status,yerror=yerror) difcf=reform(data[2,*],npnts) - yfitcf