From ac76d4b2c39221aaebfb9e0b40e3fdda09067534 Mon Sep 17 00:00:00 2001 From: Ivan Usov Date: Fri, 12 Feb 2021 16:24:48 +0100 Subject: [PATCH] Add monitor spinner --- pyzebra/app/panel_ccl_integrate.py | 17 +++++++++++++---- pyzebra/app/panel_param_study.py | 19 ++++++++++++++----- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/pyzebra/app/panel_ccl_integrate.py b/pyzebra/app/panel_ccl_integrate.py index e4fddec..d71f62e 100644 --- a/pyzebra/app/panel_ccl_integrate.py +++ b/pyzebra/app/panel_ccl_integrate.py @@ -118,7 +118,7 @@ def create(): _, ext = os.path.splitext(file_select.value) det_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(det_data) + pyzebra.normalize_dataset(det_data, monitor_spinner.value) pyzebra.merge_duplicates(det_data) _init_datatable() @@ -131,7 +131,7 @@ def create(): _, ext = os.path.splitext(file_select.value) append_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(append_data) + pyzebra.normalize_dataset(append_data, monitor_spinner.value) pyzebra.merge_datasets(det_data, append_data) _init_datatable() @@ -145,7 +145,7 @@ def create(): _, ext = os.path.splitext(upload_button.filename) det_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(det_data) + pyzebra.normalize_dataset(det_data, monitor_spinner.value) pyzebra.merge_duplicates(det_data) _init_datatable() @@ -160,7 +160,7 @@ def create(): _, ext = os.path.splitext(append_upload_button.filename) append_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(append_data) + pyzebra.normalize_dataset(append_data, monitor_spinner.value) pyzebra.merge_datasets(det_data, append_data) _init_datatable() @@ -169,6 +169,14 @@ def create(): append_upload_button = FileInput(accept=".ccl,.dat") append_upload_button.on_change("value", append_upload_button_callback) + def monitor_spinner_callback(_attr, old, new): + if det_data: + pyzebra.normalize_dataset(det_data, new) + _update_plot(_get_selected_scan()) + + monitor_spinner = Spinner(title="Monitor:", mode="int", value=100_000, low=1, width=145) + monitor_spinner.on_change("value", monitor_spinner_callback) + def _update_table(): num_of_peaks = [len(scan.get("peak_indexes", [])) for scan in det_data] fit_ok = [(1 if "fit" in scan else 0) for scan in det_data] @@ -637,6 +645,7 @@ def create(): Spacer(width=100), column(upload_div, upload_button), column(append_upload_div, append_upload_button), + monitor_spinner, ), row(scan_layout, plot, Spacer(width=30), export_layout), row(findpeak_controls, Spacer(width=30), fitpeak_controls, fit_output_textinput), diff --git a/pyzebra/app/panel_param_study.py b/pyzebra/app/panel_param_study.py index 95f320a..5827fde 100644 --- a/pyzebra/app/panel_param_study.py +++ b/pyzebra/app/panel_param_study.py @@ -125,7 +125,7 @@ def create(): _, ext = os.path.splitext(file_select.value) det_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(det_data) + pyzebra.normalize_dataset(det_data, monitor_spinner.value) _init_datatable() @@ -137,7 +137,7 @@ def create(): _, ext = os.path.splitext(file_select.value) append_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(append_data) + pyzebra.normalize_dataset(append_data, monitor_spinner.value) det_data.extend(append_data) _init_datatable() @@ -153,11 +153,11 @@ def create(): _, ext = os.path.splitext(f_name) if det_data: append_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(append_data) + pyzebra.normalize_dataset(append_data, monitor_spinner.value) det_data.extend(append_data) else: det_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(det_data) + pyzebra.normalize_dataset(det_data, monitor_spinner.value) _init_datatable() @@ -171,7 +171,7 @@ def create(): _, ext = os.path.splitext(f_name) append_data = pyzebra.parse_1D(file, ext) - pyzebra.normalize_dataset(append_data) + pyzebra.normalize_dataset(append_data, monitor_spinner.value) det_data.extend(append_data) _init_datatable() @@ -180,6 +180,14 @@ def create(): append_upload_button = FileInput(accept=".dat", multiple=True) append_upload_button.on_change("value", append_upload_button_callback) + def monitor_spinner_callback(_attr, _old, new): + if det_data: + pyzebra.normalize_dataset(det_data, new) + _update_plot() + + monitor_spinner = Spinner(title="Monitor:", mode="int", value=100_000, low=1, width=145) + monitor_spinner.on_change("value", monitor_spinner_callback) + def _update_table(): num_of_peaks = [len(scan.get("peak_indexes", [])) for scan in det_data] fit_ok = [(1 if "fit" in scan else 0) for scan in det_data] @@ -695,6 +703,7 @@ def create(): Spacer(width=100), column(upload_div, upload_button), column(append_upload_div, append_upload_button), + monitor_spinner, ), row(scan_table, plots, Spacer(width=30), export_layout), row(findpeak_controls, Spacer(width=30), fitpeak_controls, fit_output_textinput),