adds all the remaining layer data

only lacks the instrument_used data and units of measurement
NOTE: units of measurement are hard to collect, but could be assumed
considering our instruments are standard
This commit is contained in:
2026-02-13 00:18:07 +01:00
parent 38d281543e
commit 23bfdefd30

View File

@@ -133,7 +133,39 @@ def make_nexus_schema_dictionary(substrate_object, layers):
# "batch_id" : target_object.batch_id,
}
multilayer[name] = {
"target": target_dict
"target": target_dict,
"start_time": layer.start_time,
"operator": layer.operator,
"description": layer.description,
"number_of_pulses": layer.number_of_pulses,
"deposition_time": layer.deposition_time,
"temperature": layer.temperature,
"heating_method": layer.heating_method,
"layer_thickness": layer.layer_thickness,
"buffer_gas": layer.buffer_gas,
"process_pressure": layer.process_pressure,
"heater_target_distance": layer.heater_target_distance,
"repetition_rate": layer.repetition_rate,
"laser_fluence": layer.laser_fluence,
"laser_spot_area": layer.laser_spot_area,
"laser_energy": layer.laser_energy,
"laser_rastering": {
"geometry": layer.laser_rastering_geometry,
"positions": layer.laser_rastering_positions,
"velocities": layer.laser_rastering_velocities,
},
"pre_annealing": {
"ambient_gas": layer.pre_annealing_ambient_gas,
"pressure": layer.pre_annealing_pressure,
"temperature": layer.pre_annealing_temperature,
"duration": layer.pre_annealing_duration,
},
"post_annealing": {
"ambient_gas": layer.post_annealing_ambient_gas,
"pressure": layer.post_annealing_pressure,
"temperature": layer.post_annealing_temperature,
"duration": layer.post_annealing_duration,
},
}
return json.dumps(pld_fabrication, indent=2)
@@ -147,3 +179,4 @@ if __name__=="__main__":
substrate_object = chain_entrypoint_to_batch(sample) # Substrate-class object
layers = chain_entrypoint_to_layers(sample) # list of Layer-class objects
print(make_nexus_schema_dictionary(substrate_object, layers)) # debug