def targetfunc(orig,data,mask): def sinfun(p,x,y): return (y-np.sin(x+p[1])*p[0]-p[2])/np.sqrt(len(x)) t,I,a=azimintpixC(data,None,orig,mask.astype('uint8'),Ntheta,dmin,dmax) if len(a)>(a>0).sum(): raise ValueError,'findbeam_azimuthal: non-complete azimuthal average, please consider changing dmin, dmax and/or orig_initial!' p=((I.max()-I.min())/2.0,t[I==I.max()][0],I.mean()) p=scipy.optimize.leastsq(sinfun,p,(t,I))[0] #print "findbeam_azimuthal: orig=",orig,"amplitude=",abs(p[0]) return abs(p[0])
def targetfunc(orig,data,mask): t,I,a=azimintpixC(data,None,orig,mask.astype('uint8'),Ntheta,dmin,dmax) return np.sum((I[:Ntheta/2]-I[Ntheta/2:])**2)/Ntheta