def record(self, event): if event.inaxes is None: return self.slit = Slit(self.axes, self.pixel_scale) self.slits.append(self.slit) self.cursor = widgets.Cursor(self.axes, useblit=False, color='red', linewidth=1) self.cid = self.fig.canvas.mpl_connect('button_press_event', self.get_click)
def load_slit(self, event): files = glob.glob(self.savedir + '*.npz') if len(files) <= 0: print('There seems to be no save files in this directory.') return for i in range(len(files)): name = files[i] self.slit = Slit(self.axes, self.pixel_scale) self.slits.append(self.slit) data = np.load(name).items() self.slit.data = data[0][1] self.slit.curve_points = data[1][1] self.slit.length = data[2][0] self.slit.mpl_curve.append( self.axes.plot(self.slit.curve_points[:, 0], self.slit.curve_points[:, 1])) self.axes.figure.canvas.draw() slit = np.zeros([len(self.range), self.nt, self.slit.res]) for i, idx in enumerate(self.range): slit[i, :, :] = self.slit.get_slit_data( self.data[:, idx, :, :], self.image_extent) slit = self.slit.get_slit_data( self.data[:, self.sliders[1]._slider.cval, :, :], self.image_extent) self.slit.length *= self.pixel_scale self.slit.data = slit self.plot_slits(slit)