Consolidate naming
* replace "Counts" with "counts" * better names for vars in scan merge procedure
This commit is contained in:
parent
3fe4fca96a
commit
502a4b8096
@ -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(
|
||||
|
@ -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"]
|
||||
|
@ -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"]))
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user