Allow a small gap between ranges for scans to merge

This commit is contained in:
usov_i 2021-02-10 16:14:20 +01:00
parent c2e1f1def1
commit 6a822c4c85

View File

@ -16,6 +16,10 @@ PARAM_PRECISIONS = {
"ub": 0.01, "ub": 0.01,
} }
MAX_RANGE_GAP = {
"omega": 0.5,
}
def normalize_dataset(dataset, monitor=100_000): def normalize_dataset(dataset, monitor=100_000):
for scan in dataset: for scan in dataset:
@ -40,7 +44,9 @@ def _parameters_match(scan1, scan2):
# check if ranges of variable parameter overlap # check if ranges of variable parameter overlap
range1 = scan1["variable"] range1 = scan1["variable"]
range2 = scan2["variable"] range2 = scan2["variable"]
if range1[0] > range2[-1] or range2[0] > range1[-1]: # maximum gap between ranges of the scanning parameter (default 0)
max_range_gap = MAX_RANGE_GAP.get(param, 0)
if max(range1[0] - range2[-1], range2[0] - range1[-1]) > max_range_gap:
return False return False
elif np.max(np.abs(scan1[param] - scan2[param])) > PARAM_PRECISIONS[param]: elif np.max(np.abs(scan1[param] - scan2[param])) > PARAM_PRECISIONS[param]: