From 8af429289449d50d6e89f00099e415ddd7e8c0d8 Mon Sep 17 00:00:00 2001 From: ferrari <maxence.ferrari@gmail.com> Date: Thu, 4 Mar 2021 09:40:35 +0100 Subject: [PATCH] Added current number of files done --- IPI_bombyx.py | 16 +++++++++++----- ipi_extract.py | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/IPI_bombyx.py b/IPI_bombyx.py index 7ef44bb..91eca4b 100644 --- a/IPI_bombyx.py +++ b/IPI_bombyx.py @@ -15,12 +15,14 @@ class BetterIter(object): self.max_num = len(to_wrap) self.to_wrap = to_wrap self.overlap = False + self.curr_len = None def __iter__(self): return self - def _test_done(self ,list_pass): - self.overlap = len(list_pass) >= self.max_num + def _test_done(self, list_pass): + self.curr_len = len(list_pass) + self.overlap = self.curr_len >= self.max_num def __next__(self): while True: @@ -39,7 +41,7 @@ class BetterIter(object): return val -def _next_file(event, refs, order, df, save, args, outpath, done_file): +def _next_file(event, refs, order, df, save, args, outpath, done_file, text): tmp = pd.DataFrame.from_dict(refs['callback'].df, orient='index') ind = order.current tmp['file'] = df.iloc[ind].filepredmax @@ -57,9 +59,10 @@ def _next_file(event, refs, order, df, save, args, outpath, done_file): try: ipi.reset(refs['callback'], os.path.join(args.wd, df.iloc[ind].filepredmax.strip('/')), args.channel) refs['fig'].canvas.set_window_title('IPI of ' + df.iloc[ind].filepredmax.rsplit('/', 1)[-1]) + text.set_text('{order.curr_len} files done') except (RuntimeError,FileNotFoundError) as e: print(e, 'Opening next file') - _next_file(event, refs, order, df, save, args, outpath, done_file) + _next_file(event, refs, order, df, save, args, outpath, done_file, text) @@ -94,8 +97,11 @@ def main(args): print(e, 'Opening next file') ind = samples_order.__next__() ref_dict = ipi.init(os.path.join(args.wd, df.iloc[ind].filepredmax.strip('/')), args.channel) + text_ax = plt.subplot(ref_dict['gridspec'][-1, -4:-2]) + text = text_ax.text(0.5, 0.5, f'{len(file_list)} files done', horizontalalignment='center', + verticalalignment='center', transform=text_ax.transAxes) next_file = partial(_next_file, refs=ref_dict, order=samples_order, df=df, save=save, args=args, outpath=outpath, - done_file=done_file) + done_file=done_file, text=text) next_ax = plt.subplot(ref_dict['gridspec'][-1, -2:]) next_button = Button(next_ax, 'Next file') next_button.on_clicked(next_file) diff --git a/ipi_extract.py b/ipi_extract.py index f4d198e..14a7f85 100644 --- a/ipi_extract.py +++ b/ipi_extract.py @@ -402,7 +402,7 @@ class Callback(object): def play(self, event): sound = (norm(self.song_resample[self.p:self.p+FSSR*20])*(2**15-1)).astype(np.int16) try: - play(AudioSegment(sound.tobytes(), frame_rate=self.sr, sample_width=sound.dtype.itemsize, channels=1)) + play(AudioSegment(sound.tobytes(), frame_rate=FSSR, sample_width=sound.dtype.itemsize, channels=1)) except KeyboardInterrupt: pass -- GitLab