Keep scans in a list instead of a dict

This commit is contained in:
2021-02-04 17:11:18 +01:00
parent 6bf401aba8
commit e38993e69d
5 changed files with 41 additions and 41 deletions

View File

@ -87,8 +87,8 @@ def create():
proposal_textinput.on_change("value", proposal_textinput_callback)
def _init_datatable():
scan_list = list(det_data["scan"].keys())
hkl = [f'{m["h_index"]} {m["k_index"]} {m["l_index"]}' for m in det_data["scan"].values()]
scan_list = list(range(len(det_data["scan"])))
hkl = [f'{m["h_index"]} {m["k_index"]} {m["l_index"]}' for m in det_data["scan"]]
scan_table_source.data.update(
scan=scan_list,
hkl=hkl,
@ -159,8 +159,8 @@ def create():
append_upload_button.on_change("value", append_upload_button_callback)
def _update_table():
num_of_peaks = [len(scan.get("peak_indexes", [])) for scan in det_data["scan"].values()]
fit_ok = [(1 if "fit" in scan else 0) for scan in det_data["scan"].values()]
num_of_peaks = [len(scan.get("peak_indexes", [])) for scan in det_data["scan"]]
fit_ok = [(1 if "fit" in scan else 0) for scan in det_data["scan"]]
scan_table_source.data.update(peaks=num_of_peaks, fit=fit_ok)
def _update_plot(scan):
@ -447,7 +447,7 @@ def create():
def peakfind_all_button_callback():
peakfind_params = _get_peakfind_params()
for scan in det_data["scan"].values():
for scan in det_data["scan"]:
pyzebra.ccl_findpeaks(scan, **peakfind_params)
_update_table()
@ -479,7 +479,7 @@ def create():
def fit_all_button_callback():
fit_params = _get_fit_params()
for scan in det_data["scan"].values():
for scan in det_data["scan"]:
# fit_params are updated inplace within `fitccl`
pyzebra.fitccl(scan, **deepcopy(fit_params))
@ -515,7 +515,8 @@ def create():
export_data = deepcopy(det_data)
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
if not export:
del export_data["scan"][s]
if "fit" in export_data["scan"][s]:
del export_data["scan"][s]["fit"]
pyzebra.export_1D(
export_data,