Esempio n. 1
0
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
Esempio n. 2
0
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