# from pyFAI import splitBBoxLUT # from pyFAI import splitBBoxCSR # logger = utilstest.getLogger("profile") ponifile = utilstest.UtilsTest.getimage("Pilatus1M.poni") datafile = utilstest.UtilsTest.getimage("Pilatus1M.edf") ai = pyFAI.load(ponifile) data = fabio.open(datafile).data ref = ai.xrpd_LUT(data, 1000)[1] # obt = ai.xrpd_LUT_OCL(data, 1000)[1] # ref = ai.integrate1d(data, 1000, method="ocl_csr", unit="2th_deg")[0] pos = ai.array_from_unit(data.shape, "corner", unit="2th_deg", scale=False) foo = splitPixelFullLUT.HistoLUT1dFullSplit(pos, 1000, unit="2th_deg") boo = foo.integrate(data)[1] foo2 = ocl_azim_csr.OCL_CSR_Integrator(foo.lut, data.size, "GPU", block_size=32) boo2 = foo2.integrate(data)[0] plot(ref, label="ocl_csr") plot(boo, label="csr_fullsplit") plot(boo2, label="ocl_csr_fullsplit") legend() show() six.moves.input()
workgroup_size = 256 bins = 1000 pos_in = ai.array_from_unit(data.shape, "corner", unit="2th_deg") pos = pos_in.reshape(pos_in.size/8,4,2) pos_size = pos.size #size = data.size size = pos_size/8 boo = splitPixelFullLUT.HistoLUT1dFullSplit(pos,bins, unit="2th_deg") #1101814 #matrix_32 = scipy.sparse.csr_matrix((boo.data,boo.indices,boo.indptr), shape=(bins,data.size)) #mat32d = matrix_32.todense() #mat32d.shape = (mat32d.size,) out = boo.integrate(data) #ai.xrpd_LUT(data, 1000) #ref = ai.integrate1d(data,bins,unit="2th_deg", correctSolidAngle=False, method="lut") #foo = splitPixelFullLUT.HistoLUT1dFullSplit(pos,bins, unit="2th_deg", bad_pixel=None) #ref = foo.integrate(data) #matrix_64 = scipy.sparse.csr_matrix((foo.data,foo.indices,foo.indptr), shape=(bins,data.size)) #mat64d = matrix_64.todense()