parent
9bd959e656
commit
0c158db48f
@ -502,7 +502,12 @@ def create():
|
|||||||
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
|
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
|
||||||
if not export:
|
if not export:
|
||||||
del export_data["scan"][s]
|
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:
|
with open(f"{temp_file}{ext}") as f:
|
||||||
preview_output_textinput.value = f.read()
|
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 = Button(label="Preview file", default_size=220)
|
||||||
preview_output_button.on_click(preview_output_button_callback)
|
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):
|
def export_results(det_data):
|
||||||
if det_data["meta"]["indices"] == "hkl":
|
if det_data["meta"]["indices"] == "hkl":
|
||||||
ext = ".comm"
|
ext = ".comm"
|
||||||
@ -522,7 +529,12 @@ def create():
|
|||||||
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
|
for s, export in zip(scan_table_source.data["scan"], scan_table_source.data["export"]):
|
||||||
if not export:
|
if not export:
|
||||||
del export_data["scan"][s]
|
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:
|
with open(f"{temp_file}{ext}") as f:
|
||||||
output_content = f.read()
|
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:")
|
upload_div = Div(text="Or upload .ccl file:")
|
||||||
append_upload_div = Div(text="append extra .ccl/.dat files:")
|
append_upload_div = Div(text="append extra .ccl/.dat files:")
|
||||||
|
@ -222,7 +222,7 @@ def parse_1D(fileobj, data_type):
|
|||||||
return {"meta": metadata, "scan": scan}
|
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
|
"""exports data in the *.comm format
|
||||||
:param lorentz: perform Lorentz correction
|
:param lorentz: perform Lorentz correction
|
||||||
:param path: path to file + name
|
:param path: path to file + name
|
||||||
@ -247,7 +247,7 @@ def export_comm(data, path, lorentz=False):
|
|||||||
if data["meta"]["indices"] == "hkl":
|
if data["meta"]["indices"] == "hkl":
|
||||||
hkl_str = f"{int(h):6}{int(k):6}{int(l):6}"
|
hkl_str = f"{int(h):6}{int(k):6}{int(l):6}"
|
||||||
else: # data["meta"]["indices"] == "real"
|
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_method = data["meta"]["area_method"]
|
||||||
area_n = scan["fit"][area_method].n
|
area_n = scan["fit"][area_method].n
|
||||||
|
Loading…
x
Reference in New Issue
Block a user