From 2b75f8cd26e56ae3b0fee8f3aa49c8b4d1785269 Mon Sep 17 00:00:00 2001 From: ferrari <maxence.ferrari@gmail.com> Date: Thu, 4 Mar 2021 16:27:55 +0100 Subject: [PATCH] Fix and improve number of file widget --- IPI_bombyx.py | 17 ++++++++++------- ipi_extract.py | 2 ++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/IPI_bombyx.py b/IPI_bombyx.py index 91eca4b..86bd986 100644 --- a/IPI_bombyx.py +++ b/IPI_bombyx.py @@ -20,8 +20,8 @@ class BetterIter(object): def __iter__(self): return self - def _test_done(self, list_pass): - self.curr_len = len(list_pass) + def _test_done(self): + self.curr_len = len(self.list_pass) self.overlap = self.curr_len >= self.max_num def __next__(self): @@ -33,9 +33,9 @@ class BetterIter(object): val = next(self.wrapped) self.done_file.seek(0) - list_pass = [int(v) for v in self.done_file.read().split('\n') if len(v)] - self._test_done(list_pass) - if (val not in list_pass) or self.overlap: + self.list_pass = [int(v) for v in self.done_file.read().split('\n') if len(v)] + self._test_done() + if (val not in self.list_pass) or self.overlap: break self.current = val return val @@ -59,7 +59,8 @@ def _next_file(event, refs, order, df, save, args, outpath, done_file, text): 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') + usr_files = [v for f in save for v in f.passage.unique() if v in order.list_pass] + text.set_text(f'{order.curr_len} files done\n{len(usr_files)} by you') except (RuntimeError,FileNotFoundError) as e: print(e, 'Opening next file') _next_file(event, refs, order, df, save, args, outpath, done_file, text) @@ -98,8 +99,10 @@ def main(args): 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', + usr_files = [v for f in save for v in f.passage.unique() if v in file_list] + text = text_ax.text(0.5, 0.5, f'{len(file_list)} files done\n{len(usr_files)} by you', horizontalalignment='center', verticalalignment='center', transform=text_ax.transAxes) + text_ax.axis('off') next_file = partial(_next_file, refs=ref_dict, order=samples_order, df=df, save=save, args=args, outpath=outpath, done_file=done_file, text=text) next_ax = plt.subplot(ref_dict['gridspec'][-1, -2:]) diff --git a/ipi_extract.py b/ipi_extract.py index bfe28d3..f403b16 100644 --- a/ipi_extract.py +++ b/ipi_extract.py @@ -453,6 +453,8 @@ class Callback(object): self.curr_vert = 3 * [0] # Current vertical line of sig/spec for each plot for i in range(3): self.view_data[i][0][0].set_ydata(np.zeros(int(20e-3 * sr))) + self.view_data[i][2][0].set_ydata(np.zeros(int(20e-3 * sr))) + self.view_data[i][3][0].set_ydata(np.zeros(int(20e-3 * sr))) self.view_data[i][1][0].set_clim(2000,2100) for i in range(3): self._set_label(i, EMLN) -- GitLab