diff --git a/src/main.py b/src/main.py index 33611b3..77c7876 100644 --- a/src/main.py +++ b/src/main.py @@ -98,6 +98,30 @@ def chain_layer_to_target(layer_object): material_object = call_material_from_elabid(target_elabid) return material_object +def deduplicate_instruments_from_layers(layers): + lasers = [] + chambers = [] + rheeds = [] + for lyr in layers: + instruments = lyr.get_instruments(apikey) + lasers.append(instruments["laser_system"]) + chambers.append(instruments["deposition_chamber"]) + rheeds.append(instruments["rheed_system"]) + instruments_used_dict = { + "laser_system": list( set( lasers ) ), + "deposition_chamber": list( set( chambers ) ), + "rheed_system" : list( set( rheeds ) ), + } + # lasers = { f"layer_{lyr.layer_number}": lyr.laser_system for lyr in layers } + # chambers = { f"layer_{lyr.layer_number}": lyr.deposition_chamber for lyr in layers } + # rheeds = { f"layer_{lyr.layer_number}": lyr.rheed_system for lyr in layers } + # instruments_used_dict = { + # "laser_system": lasers, + # "deposition_chamber": chambers, + # "rheed_system": rheeds, + # } + return instruments_used_dict + def make_nexus_schema_dictionary(substrate_object, layers): pld_fabrication = { "sample": { @@ -115,6 +139,7 @@ def make_nexus_schema_dictionary(substrate_object, layers): }, "multilayer": {}, }, + "instruments_used": deduplicate_instruments_from_layers(layers), } multilayer = pld_fabrication["sample"]["multilayer"] for layer in layers: