Remove "variable" and a utility rename
This commit is contained in:
parent
82f3c53380
commit
eb4e30b7e0
@ -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])
|
||||||
|
@ -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)
|
||||||
|
@ -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]
|
||||||
|
@ -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:
|
||||||
|
@ -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")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user