Check fit results instead of excepting KeyError

This commit is contained in:
usov_i 2020-09-15 18:11:21 +02:00
parent a48b1f64c1
commit 2f4e097a68

View File

@ -32,46 +32,44 @@ def export_comm(data, path, lorentz=False):
with open(str(path + extension), "w") as out_file: with open(str(path + extension), "w") as out_file:
for meas_num, meas in data["Measurements"].items(): for meas_num, meas in data["Measurements"].items():
print(meas_num) print(meas_num)
try: if meas.get("fit") is None:
meas_number_str = f"{meas_num[1:]:{align}{padding[0]}}"
h_str = f'{int(meas["h_index"]):{padding[1]}}'
k_str = f'{int(meas["k_index"]):{padding[1]}}'
l_str = f'{int(meas["l_index"]):{padding[1]}}'
if meas["fit"]["export_fit"] is True:
area = float(meas["fit"]["g_amp"][0]) + float(meas["fit"]["l_amp"][0])
else:
area = float(meas["fit"]["int_area"]) - float(meas["fit"]["int_background"][0])
if data["meta"]["zebra_mode"] == "bi":
int_str = f'{"{:8.2f}".format(correction(area, lorentz, data["meta"]["zebra_mode"], meas["twotheta_angle"])):{align}{padding[2]}}'
angle_str1 = f'{meas["twotheta_angle"]:{padding[3]}}'
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
angle_str3 = f'{meas["chi_angle"]:{padding[3]}}'
angle_str4 = f'{meas["phi_angle"]:{padding[3]}}'
elif data["meta"]["zebra_mode"] == "nb":
int_str = f'{"{:8.2f}".format(correction(area, lorentz, data["meta"]["zebra_mode"], meas["gamma_angle"],meas["nu_angle"])):{align}{padding[2]}}'
angle_str1 = f'{meas["gamma_angle"]:{padding[3]}}'
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
angle_str3 = f'{meas["nu_angle"]:{padding[3]}}'
angle_str4 = f'{meas["unkwn_angle"]:{padding[3]}}'
sigma_str = (
f'{"{:8.2f}".format(float(meas["fit"]["g_width"][0])):{align}{padding[2]}}'
)
line = (
meas_number_str
+ h_str
+ l_str
+ k_str
+ int_str
+ sigma_str
+ angle_str1
+ angle_str2
+ angle_str3
+ angle_str4
+ "\n"
)
out_file.write(line)
except KeyError:
print("Measurement skipped - no fit value for:", meas_num) print("Measurement skipped - no fit value for:", meas_num)
continue
meas_number_str = f"{meas_num[1:]:{align}{padding[0]}}"
h_str = f'{int(meas["h_index"]):{padding[1]}}'
k_str = f'{int(meas["k_index"]):{padding[1]}}'
l_str = f'{int(meas["l_index"]):{padding[1]}}'
if meas["fit"]["export_fit"] is True:
area = float(meas["fit"]["g_amp"][0]) + float(meas["fit"]["l_amp"][0])
else:
area = float(meas["fit"]["int_area"]) - float(meas["fit"]["int_background"][0])
if data["meta"]["zebra_mode"] == "bi":
int_str = f'{"{:8.2f}".format(correction(area, lorentz, data["meta"]["zebra_mode"], meas["twotheta_angle"])):{align}{padding[2]}}'
angle_str1 = f'{meas["twotheta_angle"]:{padding[3]}}'
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
angle_str3 = f'{meas["chi_angle"]:{padding[3]}}'
angle_str4 = f'{meas["phi_angle"]:{padding[3]}}'
elif data["meta"]["zebra_mode"] == "nb":
int_str = f'{"{:8.2f}".format(correction(area, lorentz, data["meta"]["zebra_mode"], meas["gamma_angle"],meas["nu_angle"])):{align}{padding[2]}}'
angle_str1 = f'{meas["gamma_angle"]:{padding[3]}}'
angle_str2 = f'{meas["omega_angle"]:{padding[3]}}'
angle_str3 = f'{meas["nu_angle"]:{padding[3]}}'
angle_str4 = f'{meas["unkwn_angle"]:{padding[3]}}'
sigma_str = f'{"{:8.2f}".format(float(meas["fit"]["g_width"][0])):{align}{padding[2]}}'
line = (
meas_number_str
+ h_str
+ l_str
+ k_str
+ int_str
+ sigma_str
+ angle_str1
+ angle_str2
+ angle_str3
+ angle_str4
+ "\n"
)
out_file.write(line)