7 Commits
0.6.0 ... 0.6.3

Author SHA1 Message Date
3c619713d5 Updating for version 0.6.3 2021-12-07 09:49:09 +01:00
3d5a4ed6aa Fix error calculation for 0-count data points
Fix #47
2021-12-01 12:18:24 +01:00
b2129805dc Updating for version 0.6.2 2021-11-22 16:00:44 +01:00
92765b5665 Fix error calculation when merging data
Fix #46
2021-11-22 14:23:50 +01:00
328b71e058 Updating for version 0.6.1 2021-11-19 16:20:19 +01:00
11ab8485bc Avoid crush on failed interp2d
There is often not enough data for 2d interpolation at intermediate data
analysis steps
2021-11-16 18:55:30 +01:00
4734b3e50f Do not export data without a specified parameter 2021-11-15 16:32:16 +01:00
4 changed files with 9 additions and 14 deletions

View File

@ -5,4 +5,4 @@ from pyzebra.h5 import *
from pyzebra.utils import *
from pyzebra.xtal import *
__version__ = "0.6.0"
__version__ = "0.6.3"

View File

@ -122,11 +122,7 @@ def create():
file_list.append(os.path.basename(scan["original_filename"]))
scan_table_source.data.update(
file=file_list,
scan=scan_list,
param=param,
fit=[0] * len(scan_list),
export=export,
file=file_list, scan=scan_list, param=param, fit=[0] * len(scan_list), export=export,
)
scan_table_source.selected.indices = []
scan_table_source.selected.indices = [0]
@ -346,7 +342,7 @@ def create():
mapper["transform"].high = np.max([np.max(y) for y in ys])
ov_param_plot_scatter_source.data.update(x=x, y=y, param=par)
if y:
try:
interp_f = interpolate.interp2d(x, y, par)
x1, x2 = min(x), max(x)
y1, y2 = min(y), max(y)
@ -358,7 +354,7 @@ def create():
ov_param_plot_image_source.data.update(
image=[image], x=[x1], y=[y1], dw=[x2 - x1], dh=[y2 - y1]
)
else:
except Exception:
ov_param_plot_image_source.data.update(image=[], x=[], y=[], dw=[], dh=[])
def _update_param_plot():
@ -781,7 +777,7 @@ def create():
export_data = []
param_data = []
for scan, param in zip(det_data, scan_table_source.data["param"]):
if scan["export"]:
if scan["export"] and param:
export_data.append(scan)
param_data.append(param)

View File

@ -170,7 +170,7 @@ def parse_1D(fileobj, data_type):
while len(counts) < s["n_points"]:
counts.extend(map(float, next(fileobj).split()))
s["counts"] = np.array(counts)
s["counts_err"] = np.sqrt(s["counts"])
s["counts_err"] = np.sqrt(np.maximum(s["counts"], 1))
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"]))
@ -208,7 +208,7 @@ def parse_1D(fileobj, data_type):
for name in col_names:
s[name] = np.array(s[name])
s["counts_err"] = np.sqrt(s["counts"])
s["counts_err"] = np.sqrt(np.maximum(s["counts"], 1))
s["scan_motors"] = []
for motor, step in zip(motors, steps):

View File

@ -131,7 +131,7 @@ def merge_scans(scan_into, scan_from):
scan_into[scan_motor] = pos_tmp
scan_into["counts"] = val_tmp / num_tmp
scan_into["counts_err"] = np.sqrt(err_tmp)
scan_into["counts_err"] = np.sqrt(err_tmp) / num_tmp
scan_from["export"] = False
@ -220,8 +220,7 @@ def fit_scan(scan, model_dict, fit_from=None, fit_to=None):
else:
model += _model
weights = [1 / y_err if y_err != 0 else 1 for y_err in y_err]
scan["fit"] = model.fit(y_fit, x=x_fit, weights=weights)
scan["fit"] = model.fit(y_fit, x=x_fit, weights=1 / y_err)
def get_area(scan, area_method, lorentz):