changes method of instrument list deduplication

picks first occurrence in every set (ded_lasers, ded_chambers,
ded_rheeds) and eventually warns user if duplicates exist
This commit is contained in:
2026-02-17 14:37:35 +01:00
parent 59e173c54f
commit fde2615107

View File

@@ -110,11 +110,21 @@ def deduplicate_instruments_from_layers(layers):
lasers.append(instruments["laser_system"])
chambers.append(instruments["deposition_chamber"])
rheeds.append(instruments["rheed_system"])
ded_lasers = list( set( lasers ) )
ded_chambers = list( set( chambers ) )
ded_rheeds = list( set( rheeds ) )
elegant_list = [ ded_lasers, ded_chambers, ded_rheeds]
if not all([ len(i) == 1 for i in elegant_list ]):
print("Warning: different instruments have been used for different layers - which is currently not allowed.")
print("Selecting the first occurence for every category...")
instruments_used_dict = {
"laser_system": list( set( lasers ) ),
"deposition_chamber": list( set( chambers ) ),
"rheed_system" : list( set( rheeds ) ),
"laser_system": ded_lasers[0],
"deposition_chamber": ded_chambers[0],
"rheed_system": ded_rheeds[0],
}
return instruments_used_dict
# 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 }