#Pseudo motor for my motor functions, e.g. move_sim_x #Detector = PEEMCAM SHOW_COMPOSITE_IMG=True TRANSPOSE=False class MotorX(Writable): def write(self, pos): print "X=",pos class MotorY(Writable): def write(self, pos): print "Y=",pos motor_x=MotorX() motor_y=MotorY() vector = [ [1,1] , [1,2] , [1,3] , [1,4] , [2,1] , [2,2] , [2,3] , [2,4] , [3,1] , [3,2] , [3,3] , [3,4] ] bins_x,bins_y = 4,3 composite =create_composite_image(peemcam.dataMatrix.take(), bins_x,bins_y) if SHOW_COMPOSITE_IMG: display_composite_image(composite, "Composite", reset=True, force_renderer=True, transpose=TRANSPOSE) def before_read(pos, scan): trigger_peemcam() FormatTIFF.setMetadata(get_diags()) def after_read(rec, scan): x,y = rec.index%bins_x, rec.index/bins_x append_composite_image(composite, rec[peemcam.dataMatrix], x, y) if SHOW_COMPOSITE_IMG: display_composite_image(composite, "Composite", force_renderer=True, transpose=TRANSPOSE) r = vscan( (motor_x,motor_y), (peemcam.dataMatrix, CADC2), vector, latency=0.1, before_read= before_read, after_read=after_read,) save_dataset("/composite", get_ip_array(composite)) #Plot all sampled images #plot(r[peemcam.dataMatrix], title="Images") #Plot a scalar #plot(r[CADC2], title="Scalar")