def grid(self,grid_spacing=10, square_size=1): """ illuminates a single point while performing a mapping transform function exists primarily for testing """ MF = self.MF pix = numpy.zeros((1000,1000), dtype=numpy.uint8) period = grid_spacing+square_size for i in range(1000/period): for j in range(1000/period): for p in range(square_size): for q in range(square_size): pix[period*i+p,period*j+q] = 1 # end for #end for # end for # end for itemind = numpy.where(pix==1) PI.py_clear_framebuffer() points_illum = self.n_ccd_to_dmd(itemind[1],itemind[0]) PI.py_illuminate_enable() PI.py_illuminate_vector(points_illum[0],points_illum[1], \ MF.mask_number1, points_illum[0].size) PI.py_illuminate_expose()
def bitmap(self,transform=1): """ illuminates a single point while performing a mapping transform function exists primarily for testing """ MF = self.MF #im = Image.open("wyss_1000.bmp") #im = Image.open("wyss_1000_i2.bmp") #im = Image.open("alignment_DMD2.bmp") #im = Image.open("George_Church_04.bmp") #im = Image.open("George_Church_05.bmp") im = Image.open("../../data/TitlePres.bmp") #im = Image.open("all_white.bmp") pix = numpy.array(im.getdata(), dtype=numpy.uint8) pix = pix.reshape((1000,1000)) #print("array created") itemind = numpy.where(pix==0) #print("points found") PI.py_clear_framebuffer() #print("framebuff cleared") points_illum = self.n_ccd_to_dmd(itemind[1],itemind[0]) #print("transformed") PI.py_illuminate_enable() PI.py_illuminate_vector(points_illum[0],points_illum[1], \ MF.mask_number1, points_illum[0].size) PI.py_illuminate_expose()
def wyss(self,inverse=0,decimate=0): """ illuminates a single point while performing a mapping transform function exists primarily for testing """ MF = self.MF im = Image.open("../../data/wyss_1000_i2.bmp") pix = numpy.array(im.getdata(), dtype=numpy.uint8) # decimate it down if decimate > 0: if inverse == 1: for i in range(pix.size/decimate): for j in range(decimate-1): pix[decimate*i+j+1] = 0 # end for # end for # end if else: for i in range(pix.size/decimate): for j in range(decimate-1): pix[decimate*i+j+1] = 1 # end for # end for # end else # end if pix = pix.reshape((1000,1000)) itemind = numpy.where(pix==inverse) PI.py_clear_framebuffer() points_illum = self.n_ccd_to_dmd(itemind[1],itemind[0]) PI.py_illuminate_enable() PI.py_illuminate_vector(points_illum[0],points_illum[1], \ MF.mask_number1, points_illum[0].size) PI.py_illuminate_expose()
def george(self,inverse=0,decimate=0): """ illuminates a single point while performing a mapping transform function exists primarily for testing """ MF = self.MF im = Image.open("../../data/George_Church_05.bmp") pix = numpy.array(im.getdata(), dtype=numpy.uint8) pix = pix.reshape((1000,1000)) itemind = numpy.where(pix==inverse) PI.py_clear_framebuffer() points_illum = self.n_ccd_to_dmd(itemind[1],itemind[0]) PI.py_illuminate_enable() PI.py_illuminate_vector(points_illum[0],points_illum[1], \ MF.mask_number1, points_illum[0].size) PI.py_illuminate_expose()
def vector(self,vx,vy, num_points,spot_size=0): MF = self.MF outpoints = self.n_ccd_to_dmd(vx,vy) a = outpoints[0] b = outpoints[1] PI.py_illuminate_enable() PI.py_clear_framebuffer() if spot_size == 1: PI.py_illuminate_vector(a,b, MF.mask_number2, num_points) elif spot_size == 2: PI.py_illuminate_vector(a,b, MF.mask_number3, num_points) else: PI.py_illuminate_vector(a,b, MF.mask_number1, num_points) PI.py_illuminate_expose() # turn on the frame buffer