From 7336af061ffe5209fb6e488dff7c8dbe4f57b599 Mon Sep 17 00:00:00 2001 From: rasmusvt Date: Fri, 1 Jul 2022 14:29:13 +0200 Subject: [PATCH] Only plot one dataset if in interactive mode --- nafuma/xanes/calib.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/nafuma/xanes/calib.py b/nafuma/xanes/calib.py index 7d567b7..617cc83 100644 --- a/nafuma/xanes/calib.py +++ b/nafuma/xanes/calib.py @@ -46,7 +46,7 @@ def pre_edge_fit(data: dict, options={}) -> pd.DataFrame: # FIXME Add log-file - required_options = ['pre_edge_limits', 'pre_edge_masks', 'pre_edge_polyorder', 'pre_edge_store_data', 'log', 'logfile', 'show_plots', 'save_plots', 'save_folder', 'ylim', 'interactive'] + required_options = ['pre_edge_limits', 'pre_edge_masks', 'pre_edge_polyorder', 'pre_edge_store_data', 'log', 'logfile', 'show_plots', 'save_plots', 'save_folder', 'ylim', 'interactive', 'interactive_session_active'] default_options = { 'pre_edge_limits': [None, None], 'pre_edge_masks': [], @@ -58,7 +58,8 @@ def pre_edge_fit(data: dict, options={}) -> pd.DataFrame: 'save_plots': False, 'save_folder': './', 'ylim': [None, None], - 'interactive': False + 'interactive': False, + 'interactive_session_active': False } options = aux.update_options(options=options, required_options=required_options, default_options=default_options) @@ -107,6 +108,10 @@ def pre_edge_fit(data: dict, options={}) -> pd.DataFrame: data['pre_edge_params'] = {} for i, filename in enumerate(data['path']): + + if options['interactive_session_active'] and i > 0: + continue + if options['log']: aux.write_log(message=f'Fitting background on {os.path.basename(filename)} ({i+1}/{len(data["path"])})', options=options) @@ -247,7 +252,7 @@ def post_edge_fit(data: dict, options={}): ''' - required_options = ['log', 'logfile', 'post_edge_masks', 'post_edge_limits', 'post_edge_polyorder', 'post_edge_store_data', 'interactive', 'show_plots', 'save_plots', 'save_folder'] + required_options = ['log', 'logfile', 'post_edge_masks', 'post_edge_limits', 'post_edge_polyorder', 'post_edge_store_data', 'interactive', 'interactive_session_active', 'show_plots', 'save_plots', 'save_folder'] default_options = { 'log': False, 'logfile': f'{datetime.now().strftime("%Y-%m-%d-%H-%M-%S")}_post_edge_fit.log', @@ -256,6 +261,7 @@ def post_edge_fit(data: dict, options={}): 'post_edge_polyorder': 2, 'post_edge_store_data': False, 'interactive': False, + 'interactive_session_active': False, 'show_plots': False, 'save_plots': False, 'save_folder': './', @@ -304,6 +310,10 @@ def post_edge_fit(data: dict, options={}): data['post_edge_params'] = {} for i, filename in enumerate(data['path']): + + if options['interactive_session_active'] and i > 0: + continue + if options['log']: aux.write_log(message=f'Fitting post edge on {os.path.basename(filename)} ({i+1} / {len(data["path"])}) with polynomial order {options["post_edge_polyorder"]}', options=options)