Add hkl-precision select

For #19
This commit is contained in:
usov_i 2020-11-24 11:01:55 +01:00
parent 9bd959e656
commit 0c158db48f
2 changed files with 20 additions and 5 deletions

View File

@ -502,7 +502,12 @@ def create():
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
if not export:
del export_data["scan"][s]
pyzebra.export_comm(export_data, temp_file, lorentz=lorentz_toggle.active)
pyzebra.export_comm(
export_data,
temp_file,
lorentz=lorentz_toggle.active,
hkl_precision=int(hkl_precision_select.value),
)
with open(f"{temp_file}{ext}") as f:
preview_output_textinput.value = f.read()
@ -510,6 +515,8 @@ def create():
preview_output_button = Button(label="Preview file", default_size=220)
preview_output_button.on_click(preview_output_button_callback)
hkl_precision_select = Select(options=["2", "3", "4"], value="2", default_size=220)
def export_results(det_data):
if det_data["meta"]["indices"] == "hkl":
ext = ".comm"
@ -522,7 +529,12 @@ def create():
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
if not export:
del export_data["scan"][s]
pyzebra.export_comm(export_data, temp_file, lorentz=lorentz_toggle.active)
pyzebra.export_comm(
export_data,
temp_file,
lorentz=lorentz_toggle.active,
hkl_precision=int(hkl_precision_select.value),
)
with open(f"{temp_file}{ext}") as f:
output_content = f.read()
@ -556,7 +568,10 @@ def create():
),
)
export_layout = column(preview_output_textinput, row(preview_output_button, save_button))
export_layout = column(
preview_output_textinput,
row(column(preview_output_button, hkl_precision_select), save_button),
)
upload_div = Div(text="Or upload .ccl file:")
append_upload_div = Div(text="append extra .ccl/.dat files:")

View File

@ -222,7 +222,7 @@ def parse_1D(fileobj, data_type):
return {"meta": metadata, "scan": scan}
def export_comm(data, path, lorentz=False):
def export_comm(data, path, lorentz=False, hkl_precision=2):
"""exports data in the *.comm format
:param lorentz: perform Lorentz correction
:param path: path to file + name
@ -247,7 +247,7 @@ def export_comm(data, path, lorentz=False):
if data["meta"]["indices"] == "hkl":
hkl_str = f"{int(h):6}{int(k):6}{int(l):6}"
else: # data["meta"]["indices"] == "real"
hkl_str = f"{h:8.4g}{k:8.4g}{l:8.4g}"
hkl_str = f"{h:8.{hkl_precision}f}{k:8.{hkl_precision}f}{l:8.{hkl_precision}f}"
area_method = data["meta"]["area_method"]
area_n = scan["fit"][area_method].n