diff --git a/pyzebra/app/panel_ccl_integrate.py b/pyzebra/app/panel_ccl_integrate.py index cb78aaf..12b8727 100644 --- a/pyzebra/app/panel_ccl_integrate.py +++ b/pyzebra/app/panel_ccl_integrate.py @@ -98,10 +98,10 @@ def create(): scan_table_source.selected.indices = [0] merge_options = [(str(i), f"{i} ({idx})") for i, idx in enumerate(scan_list)] - merge_source_select.options = merge_options - merge_source_select.value = merge_options[0][0] - merge_dest_select.options = merge_options - merge_dest_select.value = merge_options[0][0] + merge_from_select.options = merge_options + merge_from_select.value = merge_options[0][0] + merge_into_select.options = merge_options + merge_into_select.value = merge_options[0][0] file_select = MultiSelect(title="Available .ccl/.dat files:", width=210, height=250) @@ -192,7 +192,7 @@ def create(): def _update_plot(scan): scan_motor = scan["scan_motor"] - y = scan["Counts"] + y = scan["counts"] x = scan[scan_motor] plot.axis[0].axis_label = scan_motor @@ -326,18 +326,18 @@ def create(): def _get_selected_scan(): return det_data[scan_table_source.selected.indices[0]] - merge_dest_select = Select(title="destination:", width=100) - merge_source_select = Select(title="source:", width=100) + merge_into_select = Select(title="into:", width=100) + merge_from_select = Select(title="from:", width=100) def merge_button_callback(): - scan_dest_ind = int(merge_dest_select.value) - scan_source_ind = int(merge_source_select.value) + scan_into_ind = int(merge_into_select.value) + scan_from_ind = int(merge_from_select.value) - if scan_dest_ind == scan_source_ind: + if scan_into_ind == scan_from_ind: print("WARNING: Selected scans for merging are identical") return - pyzebra.merge_scans(det_data[scan_dest_ind], det_data[scan_source_ind]) + pyzebra.merge_scans(det_data[scan_into_ind], det_data[scan_from_ind]) _update_plot(_get_selected_scan()) merge_button = Button(label="Merge scans", width=145) @@ -568,7 +568,7 @@ def create(): scan_layout = column( scan_table, monitor_spinner, - row(column(Spacer(height=19), merge_button), merge_dest_select, merge_source_select), + row(column(Spacer(height=19), merge_button), merge_into_select, merge_from_select), ) import_layout = column( diff --git a/pyzebra/app/panel_param_study.py b/pyzebra/app/panel_param_study.py index 3ce5195..b4bc233 100644 --- a/pyzebra/app/panel_param_study.py +++ b/pyzebra/app/panel_param_study.py @@ -199,7 +199,7 @@ def create(): def _update_single_scan_plot(scan): scan_motor = scan["scan_motor"] - y = scan["Counts"] + y = scan["counts"] x = scan[scan_motor] plot.axis[0].axis_label = scan_motor @@ -248,10 +248,10 @@ def create(): scan_motor = scan["scan_motor"] xs.append(scan[scan_motor]) x.extend(scan[scan_motor]) - ys.append(scan["Counts"]) + ys.append(scan["counts"]) y.extend([float(p)] * len(scan[scan_motor])) param.append(float(p)) - par.extend(scan["Counts"]) + par.extend(scan["counts"]) if det_data: scan_motor = det_data[0]["scan_motor"] diff --git a/pyzebra/ccl_io.py b/pyzebra/ccl_io.py index c4f12fd..d383a9d 100644 --- a/pyzebra/ccl_io.py +++ b/pyzebra/ccl_io.py @@ -167,7 +167,7 @@ def parse_1D(fileobj, data_type): counts = [] while len(counts) < s["n_points"]: counts.extend(map(float, next(fileobj).split())) - s["Counts"] = np.array(counts) + s["counts"] = np.array(counts) if s["h"].is_integer() and s["k"].is_integer() and s["l"].is_integer(): s["h"], s["k"], s["l"] = map(int, (s["h"], s["k"], s["l"])) diff --git a/pyzebra/ccl_process.py b/pyzebra/ccl_process.py index e4fa860..07ded47 100644 --- a/pyzebra/ccl_process.py +++ b/pyzebra/ccl_process.py @@ -29,7 +29,7 @@ AREA_METHODS = ("fit_area", "int_area") def normalize_dataset(dataset, monitor=100_000): for scan in dataset: monitor_ratio = monitor / scan["monitor"] - scan["Counts"] *= monitor_ratio + scan["counts"] *= monitor_ratio scan["monitor"] = monitor @@ -64,30 +64,31 @@ def _parameters_match(scan1, scan2): return True -def merge_datasets(dataset1, dataset2): - for scan_j in dataset2: - for scan_i in dataset1: - if _parameters_match(scan_i, scan_j): - merge_scans(scan_i, scan_j) +def merge_datasets(dataset_into, dataset_from): + for scan_from in dataset_from: + for scan_into in dataset_into: + if _parameters_match(scan_into, scan_from): + merge_scans(scan_into, scan_from) break - dataset1.append(scan_j) + dataset_into.append(scan_from) -def merge_scans(scan1, scan2): - omega = np.concatenate((scan1["omega"], scan2["omega"])) - counts = np.concatenate((scan1["Counts"], scan2["Counts"])) +def merge_scans(scan_into, scan_from): + # TODO: does it need to be "scan_motor" instead of omega for a generalized solution? + omega = np.concatenate((scan_into["omega"], scan_from["omega"])) + counts = np.concatenate((scan_into["counts"], scan_from["counts"])) index = np.argsort(omega) - scan1["omega"] = omega[index] - scan1["Counts"] = counts[index] + scan_into["omega"] = omega[index] + scan_into["counts"] = counts[index] - scan2["active"] = False + scan_from["active"] = False - fname1 = os.path.basename(scan1["original_filename"]) - fname2 = os.path.basename(scan2["original_filename"]) - print(f'Merging scans: {scan1["idx"]} ({fname1}) <-- {scan2["idx"]} ({fname2})') + fname1 = os.path.basename(scan_into["original_filename"]) + fname2 = os.path.basename(scan_from["original_filename"]) + print(f'Merging scans: {scan_into["idx"]} ({fname1}) <-- {scan_from["idx"]} ({fname2})') def fit_scan(scan, model_dict, fit_from=None, fit_to=None): @@ -96,7 +97,7 @@ def fit_scan(scan, model_dict, fit_from=None, fit_to=None): if fit_to is None: fit_to = np.inf - y_fit = scan["Counts"] + y_fit = scan["counts"] x_fit = scan[scan["scan_motor"]] # apply fitting range @@ -173,7 +174,7 @@ def get_area(scan, area_method, lorentz): area_s = np.nan else: # area_method == "int_area" - y_val = scan["Counts"] + y_val = scan["counts"] x_val = scan[scan["scan_motor"]] y_bkg = scan["fit"].eval_components(x=x_val)["f0_"] area_n = simpson(y_val, x=x_val) - trapezoid(y_bkg, x=x_val)