Compare commits
2 Commits
207d166227
...
59e173c54f
| Author | SHA256 | Date | |
|---|---|---|---|
| 59e173c54f | |||
| 712cbc4788 |
39
src/main.py
39
src/main.py
@@ -297,16 +297,22 @@ def build_nexus_file(pld_fabrication, output_path):
|
|||||||
nx_layer.attrs["NX_class"] = "NXsubentry"
|
nx_layer.attrs["NX_class"] = "NXsubentry"
|
||||||
layer_dict = multilayer_dict[layer]
|
layer_dict = multilayer_dict[layer]
|
||||||
# Sub-groups of a layer
|
# Sub-groups of a layer
|
||||||
|
## Target
|
||||||
nx_target = nx_layer.create_group("target")
|
nx_target = nx_layer.create_group("target")
|
||||||
nx_target.attrs["NX_class"] = "NXsample"
|
nx_target.attrs["NX_class"] = "NXsample"
|
||||||
target_dict = layer_dict["target"]
|
target_dict = layer_dict["target"]
|
||||||
|
## Rastering and Annealing
|
||||||
nx_laser_rastering = nx_layer.create_group("laser_rastering")
|
nx_laser_rastering = nx_layer.create_group("laser_rastering")
|
||||||
nx_pre_annealing = nx_layer.create_group("pre_annealing")
|
|
||||||
nx_post_annealing = nx_layer.create_group("post_annealing")
|
|
||||||
nx_laser_rastering.attrs["NX_class"] = "NXprocess"
|
nx_laser_rastering.attrs["NX_class"] = "NXprocess"
|
||||||
|
rastering_dict = layer_dict["laser_rastering"]
|
||||||
|
nx_pre_annealing = nx_layer.create_group("pre_annealing")
|
||||||
nx_pre_annealing.attrs["NX_class"] = "NXprocess"
|
nx_pre_annealing.attrs["NX_class"] = "NXprocess"
|
||||||
|
pre_ann_dict = layer_dict["pre_annealing"]
|
||||||
|
nx_post_annealing = nx_layer.create_group("post_annealing")
|
||||||
nx_post_annealing.attrs["NX_class"] = "NXprocess"
|
nx_post_annealing.attrs["NX_class"] = "NXprocess"
|
||||||
|
post_ann_dict = layer_dict["post_annealing"]
|
||||||
|
|
||||||
|
## Target metadata
|
||||||
try:
|
try:
|
||||||
nx_target.create_dataset("name", data = target_dict["name"])
|
nx_target.create_dataset("name", data = target_dict["name"])
|
||||||
nx_target.create_dataset("chemical_formula", data = target_dict["chemical_formula"])
|
nx_target.create_dataset("chemical_formula", data = target_dict["chemical_formula"])
|
||||||
@@ -320,6 +326,7 @@ def build_nexus_file(pld_fabrication, output_path):
|
|||||||
nx_target.create_dataset("batch_id", data = target_dict["batch_id"])
|
nx_target.create_dataset("batch_id", data = target_dict["batch_id"])
|
||||||
except TypeError as te:
|
except TypeError as te:
|
||||||
raise TypeError(te)
|
raise TypeError(te)
|
||||||
|
## Other layer-specific metadata
|
||||||
try:
|
try:
|
||||||
nx_layer.create_dataset("start_time", data = layer_dict["start_time"])
|
nx_layer.create_dataset("start_time", data = layer_dict["start_time"])
|
||||||
nx_layer.create_dataset("operator", data = layer_dict["operator"])
|
nx_layer.create_dataset("operator", data = layer_dict["operator"])
|
||||||
@@ -346,6 +353,34 @@ def build_nexus_file(pld_fabrication, output_path):
|
|||||||
nx_layer["laser_energy"].attrs["units"] = layer_dict["laser_energy"]["units"]
|
nx_layer["laser_energy"].attrs["units"] = layer_dict["laser_energy"]["units"]
|
||||||
except TypeError as te:
|
except TypeError as te:
|
||||||
raise TypeError(te)
|
raise TypeError(te)
|
||||||
|
## Rastering metadata
|
||||||
|
try:
|
||||||
|
nx_laser_rastering.create_dataset("geometry", data = rastering_dict["geometry"])
|
||||||
|
nx_laser_rastering.create_dataset("positions", data = rastering_dict["positions"])
|
||||||
|
nx_laser_rastering.create_dataset("velocities", data = rastering_dict["velocities"])
|
||||||
|
except TypeError as te:
|
||||||
|
raise TypeError(te)
|
||||||
|
## Annealing metadata
|
||||||
|
try:
|
||||||
|
nx_pre_annealing.create_dataset("ambient_gas", data = pre_ann_dict["ambient_gas"])
|
||||||
|
nx_pre_annealing.create_dataset("pressure", data = pre_ann_dict["pressure"]["value"])
|
||||||
|
nx_pre_annealing["pressure"].attrs["units"] = pre_ann_dict["pressure"]["units"]
|
||||||
|
nx_pre_annealing.create_dataset("temperature", data = pre_ann_dict["temperature"]["value"])
|
||||||
|
nx_pre_annealing["temperature"].attrs["units"] = pre_ann_dict["temperature"]["units"]
|
||||||
|
nx_pre_annealing.create_dataset("duration", data = pre_ann_dict["duration"]["value"])
|
||||||
|
nx_pre_annealing["duration"].attrs["units"] = pre_ann_dict["duration"]["units"]
|
||||||
|
except TypeError as te:
|
||||||
|
raise TypeError(te)
|
||||||
|
try:
|
||||||
|
nx_post_annealing.create_dataset("ambient_gas", data = post_ann_dict["ambient_gas"])
|
||||||
|
nx_post_annealing.create_dataset("pressure", data = post_ann_dict["pressure"]["value"])
|
||||||
|
nx_post_annealing["pressure"].attrs["units"] = post_ann_dict["pressure"]["units"]
|
||||||
|
nx_post_annealing.create_dataset("temperature", data = post_ann_dict["temperature"]["value"])
|
||||||
|
nx_post_annealing["temperature"].attrs["units"] = post_ann_dict["temperature"]["units"]
|
||||||
|
nx_post_annealing.create_dataset("duration", data = post_ann_dict["duration"]["value"])
|
||||||
|
nx_post_annealing["duration"].attrs["units"] = post_ann_dict["duration"]["units"]
|
||||||
|
except TypeError as te:
|
||||||
|
raise TypeError(te)
|
||||||
return
|
return
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user