Only plot one dataset if in interactive mode

This commit is contained in:
rasmusvt 2022-07-01 14:29:13 +02:00
parent eb8660d71d
commit 7336af061f

View file

@ -46,7 +46,7 @@ def pre_edge_fit(data: dict, options={}) -> pd.DataFrame:
# FIXME Add log-file # 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 = { default_options = {
'pre_edge_limits': [None, None], 'pre_edge_limits': [None, None],
'pre_edge_masks': [], 'pre_edge_masks': [],
@ -58,7 +58,8 @@ def pre_edge_fit(data: dict, options={}) -> pd.DataFrame:
'save_plots': False, 'save_plots': False,
'save_folder': './', 'save_folder': './',
'ylim': [None, None], '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) 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'] = {} data['pre_edge_params'] = {}
for i, filename in enumerate(data['path']): for i, filename in enumerate(data['path']):
if options['interactive_session_active'] and i > 0:
continue
if options['log']: if options['log']:
aux.write_log(message=f'Fitting background on {os.path.basename(filename)} ({i+1}/{len(data["path"])})', options=options) 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 = { default_options = {
'log': False, 'log': False,
'logfile': f'{datetime.now().strftime("%Y-%m-%d-%H-%M-%S")}_post_edge_fit.log', '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_polyorder': 2,
'post_edge_store_data': False, 'post_edge_store_data': False,
'interactive': False, 'interactive': False,
'interactive_session_active': False,
'show_plots': False, 'show_plots': False,
'save_plots': False, 'save_plots': False,
'save_folder': './', 'save_folder': './',
@ -304,6 +310,10 @@ def post_edge_fit(data: dict, options={}):
data['post_edge_params'] = {} data['post_edge_params'] = {}
for i, filename in enumerate(data['path']): for i, filename in enumerate(data['path']):
if options['interactive_session_active'] and i > 0:
continue
if options['log']: 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) 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)