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]
|
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(
|
||||||
|
@ -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"]
|
||||||
|
@ -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"]))
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user