def adjust_ground_by_mousemask(ground,mousemask,ground_change_max=10): adj_ground = [] gmask = vidtools.mask_from_vector(ground,mousemask.shape) pts = vidtools.points_from_mask(mousemask&gmask) for i,last_gpt in enumerate(ground): above = sorted([y for x,y in pts if x==i and y <= last_gpt]) if len(above) > 0 and last_gpt-ground_change_max <= above[-1] < last_gpt: adj_ground.append(above[-1]) else: adj_ground.append(last_gpt) return adj_ground
def adjust_ground_by_mousemask(ground, mousemask, ground_change_max=10): adj_ground = [] gmask = vidtools.mask_from_vector(ground, mousemask.shape) pts = vidtools.points_from_mask(mousemask & gmask) for i, last_gpt in enumerate(ground): above = sorted([y for x, y in pts if x == i and y <= last_gpt]) if len(above ) > 0 and last_gpt - ground_change_max <= above[-1] < last_gpt: adj_ground.append(above[-1]) else: adj_ground.append(last_gpt) return adj_ground
retired_objs = {} retired_objs_sizes = {} retired_objs_fols = {} #init object arcs ols,ols_offset,frames_offset,objs,splits,objs_sizes,objs_fols,prelast_avg,prelast_mm,to_retire_objs,to_retire_objs_sizes,to_retire_objs_fols = init_objects(stream,frames,currsum,denom,opts.seglen,cutoff,frames_offset,SHAPE,size_h,size_bins,fol_h,fol_bins,transform=opts.transform,outline_engine=opts.outline_engine) if opts.antfarm_config: prelast_masked = prelast_avg.copy() prelast_masked[prelast_mm] = numpy.mean(prelast_avg[:50,:50]) print >> sys.stderr, 'find initial ground ...', g1 = vidtools.find_ground4(prelast_masked,config['ground_anchors'],be=config['burrow_entrance']) print >> sys.stderr, 'done' groundmask = vidtools.mask_from_vector(numpy.array(g1)+opts.ground_suppress,SHAPE) grounds = [new_ground(g1,prelast_masked,config['hill_bounds'],improvement=opts.ground_improvement,window=10)] digdiffs = [] newactols = [] prevactmask = numpy.zeros(SHAPE,dtype=bool) mousemasks = [] segavgs = [] segmasked = [] i=0 param_str = '%s-%s_seg%s_%s-%s' % (target_frame_start,target_frame_stop,opts.seglen,thresh_str,opts.video_suffix) if opts.video_suffix: vidout = opts.vid[:-4]+'_%s.avi' % (param_str)
fol_h, fol_bins, transform=opts.transform, outline_engine=opts.outline_engine) if opts.antfarm_config: prelast_masked = prelast_avg.copy() prelast_masked[prelast_mm] = numpy.mean(prelast_avg[:50, :50]) print >> sys.stderr, 'find initial ground ...', g1 = vidtools.find_ground4(prelast_masked, config['ground_anchors'], be=config['burrow_entrance']) print >> sys.stderr, 'done' groundmask = vidtools.mask_from_vector( numpy.array(g1) + opts.ground_suppress, SHAPE) grounds = [ new_ground(g1, prelast_masked, config['hill_bounds'], improvement=opts.ground_improvement, window=10) ] digdiffs = [] newactols = [] prevactmask = numpy.zeros(SHAPE, dtype=bool) mousemasks = [] segavgs = [] segmasked = []