Do not merge matching scans on param study panel
pyzebra CI/CD pipeline / test-env (push) Successful in 2m10s
pyzebra CI/CD pipeline / prod-env (push) Skipped
pyzebra CI/CD pipeline / cleanup (push) Successful in 3s

Fix #73
This commit is contained in:
2026-05-12 16:35:11 +02:00
parent e3c63f016e
commit e14e6000be
3 changed files with 38 additions and 9 deletions
+28 -7
View File
@@ -9,7 +9,14 @@ import pyzebra
class InputControls:
def __init__(self, dataset, dlfiles, on_file_open=lambda: None, on_monitor_change=lambda: None):
def __init__(
self,
dataset,
dlfiles,
merge_matching_scans,
on_file_open=lambda: None,
on_monitor_change=lambda: None,
):
doc = curdoc()
log = doc.logger
@@ -55,10 +62,14 @@ class InputControls:
if not new_data: # first file
new_data = file_data
pyzebra.merge_duplicates(new_data, log=log)
if merge_matching_scans:
pyzebra.merge_duplicates(new_data, log=log)
dlfiles.set_names([base] * dlfiles.n_files)
else:
pyzebra.merge_datasets(new_data, file_data, log=log)
if merge_matching_scans:
pyzebra.merge_datasets(new_data, file_data, log=log)
else:
new_data.extend(file_data)
if new_data:
dataset.clear()
@@ -83,7 +94,10 @@ class InputControls:
continue
pyzebra.normalize_dataset(file_data, monitor_spinner.value)
pyzebra.merge_datasets(dataset, file_data, log=log)
if merge_matching_scans:
pyzebra.merge_datasets(dataset, file_data, log=log)
else:
dataset.extend(file_data)
if file_data:
on_file_open()
@@ -107,10 +121,14 @@ class InputControls:
if not new_data: # first file
new_data = file_data
pyzebra.merge_duplicates(new_data, log=log)
if merge_matching_scans:
pyzebra.merge_duplicates(new_data, log=log)
dlfiles.set_names([base] * dlfiles.n_files)
else:
pyzebra.merge_datasets(new_data, file_data, log=log)
if merge_matching_scans:
pyzebra.merge_datasets(new_data, file_data, log=log)
else:
new_data.extend(file_data)
if new_data:
dataset.clear()
@@ -136,7 +154,10 @@ class InputControls:
continue
pyzebra.normalize_dataset(file_data, monitor_spinner.value)
pyzebra.merge_datasets(dataset, file_data, log=log)
if merge_matching_scans:
pyzebra.merge_datasets(dataset, file_data, log=log)
else:
dataset.extend(file_data)
if file_data:
on_file_open()
+5 -1
View File
@@ -108,7 +108,11 @@ def create():
app_fitctrl.update_result_textarea(scan)
app_inputctrl = app.InputControls(
dataset, app_dlfiles, on_file_open=_init_datatable, on_monitor_change=_update_plot
dataset,
app_dlfiles,
merge_matching_scans=True,
on_file_open=_init_datatable,
on_monitor_change=_update_plot,
)
# Main plot
+5 -1
View File
@@ -205,7 +205,11 @@ def create():
_update_overview()
app_inputctrl = app.InputControls(
dataset, app_dlfiles, on_file_open=_init_datatable, on_monitor_change=_monitor_change
dataset,
app_dlfiles,
merge_matching_scans=False,
on_file_open=_init_datatable,
on_monitor_change=_monitor_change,
)
# Main plot