def plot_result(self): global_ncc = self.get_global_ncc(smooth_len=5) if isinstance(global_ncc, np.ndarray): mean_global_ncc_scales = self.get_mean_ncc_scales(smooth_len=5) fig, ax0 = self.stack.add_subplots("Global NCC", ncols=1) peaks = nputils.find_peaks(global_ncc, 3, global_ncc.mean() + 2 * global_ncc.std(), fit_gaussian=True) peaks = sorted(peaks, key=lambda p: global_ncc[tuple(p)], reverse=True) if len(peaks) < 10: for peak in peaks: p = (np.array(peak) / float(self.factor) - np.array([self.bounds[0], self.bounds[2]])) print "Peak at %s (norm:%s, intensity:%s, pix:%s)" % ( p[::-1], np.linalg.norm(p), global_ncc[tuple(peak)], peak) ax0.imshow(global_ncc, extent=self.global_ncc_extent) plotutils.img_axis(ax0) for scale, ncc in nputils.get_items_sorted_by_keys( mean_global_ncc_scales): if ncc.ndim != 2: continue fig, ax = self.stack.add_subplots("Global NCC scale %s" % scale, ncols=1) ax.imshow(ncc, extent=self.global_ncc_extent) plotutils.img_axis(ax)
def save(self, filename): l = [] for epoch, (x, y) in nputils.get_items_sorted_by_keys(self.cores): r, theta = nputils.coord_xy_to_rtheta(x, y) l.append([epoch.strftime("%Y-%m-%d"), 0, r, np.degrees(theta)]) np.savetxt(filename, l, ['%s', '%s', '%s', '%s'])
def plot_result(self): global_ncc = self.get_global_ncc(smooth_len=5) if isinstance(global_ncc, np.ndarray): mean_global_ncc_scales = self.get_mean_ncc_scales(smooth_len=5) fig, ax0 = self.stack.add_subplots("Global NCC", ncols=1) peaks = nputils.find_peaks(global_ncc, 3, global_ncc.mean() + 2 * global_ncc.std(), fit_gaussian=True) peaks = sorted(peaks, key=lambda p: global_ncc[tuple(p)], reverse=True) if len(peaks) < 10: for peak in peaks: p = (np.array(peak) / float(self.factor) - np.array([self.bounds[0], self.bounds[2]])) print "Peak at %s (norm:%s, intensity:%s, pix:%s)" % (p[::-1], np.linalg.norm(p), global_ncc[tuple(peak)], peak) ax0.imshow(global_ncc, extent=self.global_ncc_extent) plotutils.img_axis(ax0) for scale, ncc in nputils.get_items_sorted_by_keys(mean_global_ncc_scales): if ncc.ndim != 2: continue fig, ax = self.stack.add_subplots("Global NCC scale %s" % scale, ncols=1) ax.imshow(ncc, extent=self.global_ncc_extent) plotutils.img_axis(ax)
def get_result(self): return nputils.get_items_sorted_by_keys(self.global_ncc_scales)