diff --git a/ipi_extract.py b/ipi_extract.py index 05f57b8c31f58c000567aaab93ecd21fbc592c0f..c1882549df5ce2893832b2704b9959bc7cd55f02 100644 --- a/ipi_extract.py +++ b/ipi_extract.py @@ -416,7 +416,8 @@ class Callback(object): self.ind_b.hovercolor = 'lime' if self.ind_select else '0.95' if self.ind_select: self.df[self.offset[self.curr_ind[self.curr], 0]]['ind_number'] = '' - self.ind_b.label.set_text(f'Current individual:\n') + self.ind_b.label.set_text(f'Current individual:\n' + f'{self.df[self.offset[self.curr_ind[self.curr], 0]]["ind_number"]}') plt.draw() def key_pressed(self, event): @@ -458,14 +459,18 @@ class Callback(object): self.view_ax[self.curr][1].set_ylim(0, max(self.view_ax[self.curr][1].get_ylim()[1]-1e3,1e3)) plt.draw() + def _update_spectrogram(self, num): + click = self.view_data[num][0][0].get_ydata() + spec = np.flipud(20*np.log10(plt.mlab.specgram(click, Fs=self.sr, NFFT=self.nfft, noverlap=self.nfft-1)[0])) + self.view_data[num][1][0].set_data(spec) + self.view_data[num][1][0].set_clim(spec.max()-SPSC, spec.max()) + def increase_res(self, event): if self.nfft > int(10e-3*self.sr): return - click = self.view_data[self.curr][0][0].get_ydata() self.nfft *= 2 - spec = np.flipud(20*np.log10(plt.mlab.specgram(click, Fs=self.sr, NFFT=self.nfft, noverlap=self.nfft-1)[0])) - self.view_data[self.curr][1][0].set_data(spec) - self.view_data[self.curr][1][0].set_clim(spec.max()-SPSC, spec.max()) + for i in range(3): + self._update_spectrogram(i) if self.nfft > int(10e-3*self.sr): self.spec_b['plus_res'].label.set_text('Can\'t go\nhigher') else: @@ -476,11 +481,9 @@ class Callback(object): def decrease_res(self, event): if self.nfft <8: return - click = self.view_data[self.curr][0][0].get_ydata() self.nfft //= 2 - spec = np.flipud(20*np.log10(plt.mlab.specgram(click, Fs=self.sr, NFFT=self.nfft, noverlap=self.nfft-1)[0])) - self.view_data[self.curr][1][0].set_data(spec) - self.view_data[self.curr][1][0].set_clim(spec.max()-SPSC, spec.max()) + for i in range(3): + self._update_spectrogram(i) self.spec_b['plus_res'].label.set_text(f'{self.nfft*2}\nbins') if self.nfft <8: self.spec_b['minus_res'].label.set_text('Can\'t go\nlower')