print >> sys.stderr, 'shape:', SHAPE if eval(maskfile) is not None: mask = numpy.fromfile(maskfile, dtype=bool).reshape(SHAPE) if ybounds is None: ybounds = (0, SHAPE[0]) #mice = dict([(images[i],vidtools.find_mouse(f[ybounds[0]:ybounds[1]],frameav[ybounds[0]:ybounds[1]],zcut=mousezcut,abs_val=True)) for i,f in enumerate(frames)]) mice = [] miceouts = [] for i, f in enumerate(frames): m, o = vidtools.find_mouse(f[ybounds[0]:ybounds[1]], frameav[ybounds[0]:ybounds[1]], zcut=mousezcut, abs_val=True, outline_zcut=mousezcut) mice.append((images[i], m)) miceouts.append((images[i], o)) mice = dict(mice) miceouts = dict(miceouts) try: os.makedirs(outroot) except: pass frameav.tofile(os.path.join(outroot, '%07d-%07d.frame' % (start, stop))) open(os.path.join(outroot, '%07d-%07d.miceoutline' % (start, stop)), 'w').write(miceouts.__repr__())
micesize = [] micelen = [] print >> sys.stderr, 'processing %s frames' % len(frames) tick = int(len(frames) / 10) if opts['ground_anchors'] is None and opts['burrowz'] is None: print >> sys.stderr, 'both ground_anchors and burrowz set None; skipping mouse eraser' elif opts['skip_pre_erase']: print >> sys.stderr, 'manual set: skipping mouse eraser' else: fcopy = frameav.copy() #first pass removes mice from frame average before finalizing print >> sys.stderr, 'first pass' for i, f in enumerate(frames): xy, ol, zsc = vidtools.find_mouse(f, fcopy, zcut=mousezcut, outline_zcut=mousezcut / 2.0, grow_by=mouse_grow_by, preshrink=mouse_preshrink) for p in ol: try: vidtools.subtract_outline(p, frameav) except: print >> sys.stderr, 'failure in frame %s' % i if i % tick == 0: print >> sys.stderr, 'frame %s done' % i fcopy = frameav.copy() print >> sys.stderr, 'finalize mouse calls' for i, f in enumerate(frames): #print i
miceoutli = [] micez = [] micesize = [] micelen = [] print >>sys.stderr,'processing %s frames' % len(frames) tick = int(len(frames)/10) if opts['ground_anchors'] is None and opts['burrowz'] is None: print >> sys.stderr, 'both ground_anchors and burrowz set None; skipping mouse eraser' elif opts['skip_pre_erase']: print >> sys.stderr, 'manual set: skipping mouse eraser' else: fcopy = frameav.copy() #first pass removes mice from frame average before finalizing print >>sys.stderr,'first pass' for i,f in enumerate(frames): xy,ol,zsc = vidtools.find_mouse(f,fcopy,zcut=mousezcut,outline_zcut=mousezcut/2.0,grow_by=mouse_grow_by,preshrink=mouse_preshrink) for p in ol: try: vidtools.subtract_outline(p,frameav) except: print >> sys.stderr, 'failure in frame %s' % i if i % tick == 0: print >> sys.stderr, 'frame %s done' % i fcopy = frameav.copy() print >>sys.stderr,'finalize mouse calls' for i,f in enumerate(frames): #print i #get xy coords, outlines of above-cut regions, and mean z-scores in each outline xy,ol,zsc = vidtools.find_mouse(f,fcopy,zcut=mousezcut,outline_zcut=mousezcut/2.0,grow_by=mouse_grow_by,preshrink=mouse_preshrink)
frameav = vidtools.average_frames(frames) SHAPE = frames[0].shape print >>sys.stderr,'shape:',SHAPE if eval(maskfile) is not None: mask = numpy.fromfile(maskfile,dtype=bool).reshape(SHAPE) if ybounds is None: ybounds = (0,SHAPE[0]) #mice = dict([(images[i],vidtools.find_mouse(f[ybounds[0]:ybounds[1]],frameav[ybounds[0]:ybounds[1]],zcut=mousezcut,abs_val=True)) for i,f in enumerate(frames)]) mice = [] miceouts = [] for i,f in enumerate(frames): m,o = vidtools.find_mouse(f[ybounds[0]:ybounds[1]],frameav[ybounds[0]:ybounds[1]],zcut=mousezcut,abs_val=True,outline_zcut=mousezcut) mice.append((images[i],m)) miceouts.append((images[i],o)) mice = dict(mice) miceouts = dict(miceouts) try: os.makedirs(outroot) except: pass frameav.tofile(os.path.join(outroot,'%07d-%07d.frame' % (start,stop))) open(os.path.join(outroot,'%07d-%07d.miceoutline' % (start,stop)),'w').write(miceouts.__repr__()) open(os.path.join(outroot,'%07d-%07d.mice' % (start,stop)),'w').write(mice.__repr__())