def threshold(self, ax, data): data = N.asarray(data) mu, sd = data.mean(), data.std() data = clip(data, mu - 3*sd, mu + 3*sd) data = blur_image(data, 5) orig = data.copy() f = fft.fft2(data) f[0:5,:] = 0 f[:,0:5] = 0 data = N.abs(fft.ifft2(f)) print "mu, std =", orig.mean(), orig.std() """ mu, sigma = data.mean(), data.std() mask = data > mu + 2*sigma """ #im = ax.imshow(data, origin="lower", interpolation='nearest') im = ax.imshow(orig, origin="lower", interpolation='nearest') self.set_callbacks([("button_release_event", self.imclick, ())]) self.f.colorbar(im, fraction = 0.08) return data
def threshold_points(self, ax, data, new_data): data = blur_image(data, 5) ii, jj, ss = get_points(data, new_data) print "POINTS", len(ii) for i, j, s in zip(ii, jj, ss): if True: #print s #print "===" ax.hlines(i, j-s, j+s, colors='r') ax.vlines(j, i-s, i+s, colors='r') #ax.scatter(jj, ii, c='y') print "COUNT", len(ii) ax.set_xlim(0, 1600) ax.set_ylim(0, 1200)