Consolidate naming

* replace "Counts" with "counts"
* better names for vars in scan merge procedure
This commit is contained in:
usov_i 2021-05-26 13:41:47 +02:00
parent 3fe4fca96a
commit 502a4b8096
4 changed files with 35 additions and 34 deletions

View File

@ -98,10 +98,10 @@ def create():
scan_table_source.selected.indices = [0] scan_table_source.selected.indices = [0]
merge_options = [(str(i), f"{i} ({idx})") for i, idx in enumerate(scan_list)] merge_options = [(str(i), f"{i} ({idx})") for i, idx in enumerate(scan_list)]
merge_source_select.options = merge_options merge_from_select.options = merge_options
merge_source_select.value = merge_options[0][0] merge_from_select.value = merge_options[0][0]
merge_dest_select.options = merge_options merge_into_select.options = merge_options
merge_dest_select.value = merge_options[0][0] merge_into_select.value = merge_options[0][0]
file_select = MultiSelect(title="Available .ccl/.dat files:", width=210, height=250) file_select = MultiSelect(title="Available .ccl/.dat files:", width=210, height=250)
@ -192,7 +192,7 @@ def create():
def _update_plot(scan): def _update_plot(scan):
scan_motor = scan["scan_motor"] scan_motor = scan["scan_motor"]
y = scan["Counts"] y = scan["counts"]
x = scan[scan_motor] x = scan[scan_motor]
plot.axis[0].axis_label = scan_motor plot.axis[0].axis_label = scan_motor
@ -326,18 +326,18 @@ def create():
def _get_selected_scan(): def _get_selected_scan():
return det_data[scan_table_source.selected.indices[0]] return det_data[scan_table_source.selected.indices[0]]
merge_dest_select = Select(title="destination:", width=100) merge_into_select = Select(title="into:", width=100)
merge_source_select = Select(title="source:", width=100) merge_from_select = Select(title="from:", width=100)
def merge_button_callback(): def merge_button_callback():
scan_dest_ind = int(merge_dest_select.value) scan_into_ind = int(merge_into_select.value)
scan_source_ind = int(merge_source_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") print("WARNING: Selected scans for merging are identical")
return 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()) _update_plot(_get_selected_scan())
merge_button = Button(label="Merge scans", width=145) merge_button = Button(label="Merge scans", width=145)
@ -568,7 +568,7 @@ def create():
scan_layout = column( scan_layout = column(
scan_table, scan_table,
monitor_spinner, 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( import_layout = column(

View File

@ -199,7 +199,7 @@ def create():
def _update_single_scan_plot(scan): def _update_single_scan_plot(scan):
scan_motor = scan["scan_motor"] scan_motor = scan["scan_motor"]
y = scan["Counts"] y = scan["counts"]
x = scan[scan_motor] x = scan[scan_motor]
plot.axis[0].axis_label = scan_motor plot.axis[0].axis_label = scan_motor
@ -248,10 +248,10 @@ def create():
scan_motor = scan["scan_motor"] scan_motor = scan["scan_motor"]
xs.append(scan[scan_motor]) xs.append(scan[scan_motor])
x.extend(scan[scan_motor]) x.extend(scan[scan_motor])
ys.append(scan["Counts"]) ys.append(scan["counts"])
y.extend([float(p)] * len(scan[scan_motor])) y.extend([float(p)] * len(scan[scan_motor]))
param.append(float(p)) param.append(float(p))
par.extend(scan["Counts"]) par.extend(scan["counts"])
if det_data: if det_data:
scan_motor = det_data[0]["scan_motor"] scan_motor = det_data[0]["scan_motor"]

View File

@ -167,7 +167,7 @@ def parse_1D(fileobj, data_type):
counts = [] counts = []
while len(counts) < s["n_points"]: while len(counts) < s["n_points"]:
counts.extend(map(float, next(fileobj).split())) 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(): 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"])) s["h"], s["k"], s["l"] = map(int, (s["h"], s["k"], s["l"]))

View File

@ -29,7 +29,7 @@ AREA_METHODS = ("fit_area", "int_area")
def normalize_dataset(dataset, monitor=100_000): def normalize_dataset(dataset, monitor=100_000):
for scan in dataset: for scan in dataset:
monitor_ratio = monitor / scan["monitor"] monitor_ratio = monitor / scan["monitor"]
scan["Counts"] *= monitor_ratio scan["counts"] *= monitor_ratio
scan["monitor"] = monitor scan["monitor"] = monitor
@ -64,30 +64,31 @@ def _parameters_match(scan1, scan2):
return True return True
def merge_datasets(dataset1, dataset2): def merge_datasets(dataset_into, dataset_from):
for scan_j in dataset2: for scan_from in dataset_from:
for scan_i in dataset1: for scan_into in dataset_into:
if _parameters_match(scan_i, scan_j): if _parameters_match(scan_into, scan_from):
merge_scans(scan_i, scan_j) merge_scans(scan_into, scan_from)
break break
dataset1.append(scan_j) dataset_into.append(scan_from)
def merge_scans(scan1, scan2): def merge_scans(scan_into, scan_from):
omega = np.concatenate((scan1["omega"], scan2["omega"])) # TODO: does it need to be "scan_motor" instead of omega for a generalized solution?
counts = np.concatenate((scan1["Counts"], scan2["Counts"])) omega = np.concatenate((scan_into["omega"], scan_from["omega"]))
counts = np.concatenate((scan_into["counts"], scan_from["counts"]))
index = np.argsort(omega) index = np.argsort(omega)
scan1["omega"] = omega[index] scan_into["omega"] = omega[index]
scan1["Counts"] = counts[index] scan_into["counts"] = counts[index]
scan2["active"] = False scan_from["active"] = False
fname1 = os.path.basename(scan1["original_filename"]) fname1 = os.path.basename(scan_into["original_filename"])
fname2 = os.path.basename(scan2["original_filename"]) fname2 = os.path.basename(scan_from["original_filename"])
print(f'Merging scans: {scan1["idx"]} ({fname1}) <-- {scan2["idx"]} ({fname2})') print(f'Merging scans: {scan_into["idx"]} ({fname1}) <-- {scan_from["idx"]} ({fname2})')
def fit_scan(scan, model_dict, fit_from=None, fit_to=None): 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: if fit_to is None:
fit_to = np.inf fit_to = np.inf
y_fit = scan["Counts"] y_fit = scan["counts"]
x_fit = scan[scan["scan_motor"]] x_fit = scan[scan["scan_motor"]]
# apply fitting range # apply fitting range
@ -173,7 +174,7 @@ def get_area(scan, area_method, lorentz):
area_s = np.nan area_s = np.nan
else: # area_method == "int_area" else: # area_method == "int_area"
y_val = scan["Counts"] y_val = scan["counts"]
x_val = scan[scan["scan_motor"]] x_val = scan[scan["scan_motor"]]
y_bkg = scan["fit"].eval_components(x=x_val)["f0_"] y_bkg = scan["fit"].eval_components(x=x_val)["f0_"]
area_n = simpson(y_val, x=x_val) - trapezoid(y_bkg, x=x_val) area_n = simpson(y_val, x=x_val) - trapezoid(y_bkg, x=x_val)