Remove "variable" and a utility rename

This commit is contained in:
usov_i 2021-02-15 14:26:01 +01:00
parent 82f3c53380
commit eb4e30b7e0
5 changed files with 24 additions and 28 deletions

View File

@ -144,10 +144,11 @@ def create():
overview_plot_y_image_source.data.update(y=[0], dh=[n_im]) overview_plot_y_image_source.data.update(y=[0], dh=[n_im])
elif frame_button_group.active == 1: # Variable angle elif frame_button_group.active == 1: # Variable angle
overview_plot_x.axis[1].axis_label = det_data["variable_name"] scan_motor = det_data["scan_motor"]
overview_plot_y.axis[1].axis_label = det_data["variable_name"] overview_plot_x.axis[1].axis_label = scan_motor
overview_plot_y.axis[1].axis_label = scan_motor
var = det_data["variable"] var = det_data[scan_motor]
var_start = var[0] var_start = var[0]
var_end = (var[-1] - var[0]) * n_im / (n_im - 1) var_end = (var[-1] - var[0]) * n_im / (n_im - 1)
overview_plot_x_image_source.data.update(y=[var_start], dh=[var_end]) overview_plot_x_image_source.data.update(y=[var_start], dh=[var_end])

View File

@ -189,8 +189,8 @@ def prepare_event_file(export_filename, roi_dict, path_prefix=""):
chi = dat["chi"][0] chi = dat["chi"][0]
phi = dat["phi"][0] phi = dat["phi"][0]
var_angle = dat["variable"] scan_motor = dat["scan_motor"]
var_angle_name = dat["variable_name"] var_angle = dat[scan_motor]
for roi in rois: for roi in rois:
x0, xN, y0, yN, fr0, frN = roi x0, xN, y0, yN, fr0, frN = roi
@ -210,15 +210,15 @@ def prepare_event_file(export_filename, roi_dict, path_prefix=""):
var_step = var_C - var_F var_step = var_C - var_F
var_p = var_F + var_step * frStep var_p = var_F + var_step * frStep
if var_angle_name == "gamma": if scan_motor == "gamma":
gamma = var_p gamma = var_p
elif var_angle_name == "omega": elif scan_motor == "omega":
omega = var_p omega = var_p
elif var_angle_name == "nu": elif scan_motor == "nu":
nu = var_p nu = var_p
elif var_angle_name == "chi": elif scan_motor == "chi":
chi = var_p chi = var_p
elif var_angle_name == "phi": elif scan_motor == "phi":
phi = var_p phi = var_p
intensity = coeff[1] * abs(coeff[2] * var_step) * math.sqrt(2) * math.sqrt(np.pi) intensity = coeff[1] * abs(coeff[2] * var_step) * math.sqrt(2) * math.sqrt(np.pi)

View File

@ -73,7 +73,7 @@ CCL_SECOND_LINE = (
("mf", float), ("mf", float),
("date", str), ("date", str),
("time", str), ("time", str),
("variable_name", str), ("scan_motor", str),
) )
AREA_METHODS = ("fit_area", "int_area") AREA_METHODS = ("fit_area", "int_area")
@ -154,18 +154,17 @@ def parse_1D(fileobj, data_type):
for param, (param_name, param_type) in zip(next_line.split(), ccl_second_line): for param, (param_name, param_type) in zip(next_line.split(), ccl_second_line):
s[param_name] = param_type(param) s[param_name] = param_type(param)
if s["variable_name"] != "om": if s["scan_motor"] != "om":
raise Exception("Unsupported variable name in ccl file.") raise Exception("Unsupported variable name in ccl file.")
# "om" -> "omega" # "om" -> "omega"
s["variable_name"] = "omega" s["scan_motor"] = "omega"
s["variable"] = np.linspace( # overwrite metadata, because it only refers to the scan center
s["omega"] = np.linspace(
s["omega"] - (s["n_points"] / 2) * s["angle_step"], s["omega"] - (s["n_points"] / 2) * s["angle_step"],
s["omega"] + (s["n_points"] / 2) * s["angle_step"], s["omega"] + (s["n_points"] / 2) * s["angle_step"],
s["n_points"], s["n_points"],
) )
# overwrite metadata, because it only refers to the scan center
s["omega"] = s["variable"]
# subsequent lines with counts # subsequent lines with counts
counts = [] counts = []
@ -183,7 +182,7 @@ def parse_1D(fileobj, data_type):
s = defaultdict(list) s = defaultdict(list)
match = re.search("Scanning Variables: (.*), Steps: (.*)", next(fileobj)) match = re.search("Scanning Variables: (.*), Steps: (.*)", next(fileobj))
s["variable_name"] = match.group(1) s["scan_motor"] = match.group(1)
match = re.search("(.*) Points, Mode: (.*), Preset (.*)", next(fileobj)) match = re.search("(.*) Points, Mode: (.*), Preset (.*)", next(fileobj))
if match.group(2) != "Monitor": if match.group(2) != "Monitor":
@ -204,13 +203,10 @@ def parse_1D(fileobj, data_type):
s[name] = np.array(s[name]) s[name] = np.array(s[name])
# "om" -> "omega" # "om" -> "omega"
if s["variable_name"] == "om": if s["scan_motor"] == "om":
s["variable_name"] = "omega" s["scan_motor"] = "omega"
s["variable"] = s["om"]
s["omega"] = s["om"] s["omega"] = s["om"]
del s["om"] del s["om"]
else:
s["variable"] = s[s["variable_name"]]
s["h"] = s["k"] = s["l"] = float("nan") s["h"] = s["k"] = s["l"] = float("nan")
@ -274,7 +270,7 @@ def export_1D(data, path, area_method=AREA_METHODS[0], lorentz=False, hkl_precis
ang_str = "" ang_str = ""
for angle, _ in CCL_ANGLES[zebra_mode]: for angle, _ in CCL_ANGLES[zebra_mode]:
if angle == scan["variable_name"]: if angle == scan["scan_motor"]:
angle_center = (np.min(scan[angle]) + np.max(scan[angle])) / 2 angle_center = (np.min(scan[angle]) + np.max(scan[angle])) / 2
else: else:
angle_center = scan[angle] angle_center = scan[angle]

View File

@ -44,10 +44,10 @@ def _parameters_match(scan1, scan2):
# ignore skip parameters, like the last angle in 'nb' zebra mode # ignore skip parameters, like the last angle in 'nb' zebra mode
continue continue
if param == scan1["variable_name"] == scan2["variable_name"]: if param == scan1["scan_motor"] == scan2["scan_motor"]:
# check if ranges of variable parameter overlap # check if ranges of variable parameter overlap
range1 = scan1["variable"] range1 = scan1[param]
range2 = scan2["variable"] range2 = scan2[param]
# maximum gap between ranges of the scanning parameter (default 0) # maximum gap between ranges of the scanning parameter (default 0)
max_range_gap = MAX_RANGE_GAP.get(param, 0) max_range_gap = MAX_RANGE_GAP.get(param, 0)
if max(range1[0] - range2[-1], range2[0] - range1[-1]) > max_range_gap: if max(range1[0] - range2[-1], range2[0] - range1[-1]) > max_range_gap:

View File

@ -73,8 +73,7 @@ def read_detector_data(filepath):
for var in ("omega", "gamma", "nu", "chi", "phi"): for var in ("omega", "gamma", "nu", "chi", "phi"):
if abs(det_data[var][0] - det_data[var][-1]) > 0.1: if abs(det_data[var][0] - det_data[var][-1]) > 0.1:
det_data["variable"] = det_data[var] det_data["scan_motor"] = var
det_data["variable_name"] = var
break break
else: else:
raise ValueError("No angles that vary") raise ValueError("No angles that vary")