def trace_all(image,r=10,thresh=100): out = [] f = lambda im: trace.compute_seed_fields_windowed(im,maxr=r,maxiter=1,window=(0.0,0.0)) angle_radians = f(image)[1]; for y in xrange(0,image.shape[0]): for x in xrange(0,image.shape[1]): seed = trace.cSeed(x,y,int(cos(angle_radians[y,x])*100),int(sin(angle_radians[y,x])*100)) t = trace.Trace_Whisker(seed,image) if(t and len(t.x)>thresh): out.append(t) return out
def is_trace_generated(image,r=10,thresh=100): """ is_trace_generated(image) -> image mask A predicate to use for generating roc curves against a seed's salience. >>> truth = is_trace_generated(image); >>> scores = trace.compute_seed_fields_windowed(image,maxr=4,maxiter=1,window=(0.0,0.0))[2] >>> precision,recall,thresholds = roc(scores,truth) """ out = zeros(image.shape) f = lambda im: trace.compute_seed_fields_windowed(im,maxr=r,maxiter=1,window=(0.0,0.0)) angle_radians = f(image)[1]; for y in xrange(0,image.shape[0]): for x in xrange(0,image.shape[1]): seed = trace.cSeed(x,y,int(cos(angle_radians[y,x])*100),int(sin(angle_radians[y,x])*100)) t = trace.Trace_Whisker(seed,image) if(t and len(t.x)>thresh): out[y,x] = 1 return out