Capture metadata before image to ensure consistency

This commit is contained in:
Joe Knapper 2024-02-20 12:11:04 +00:00
parent e6eb4d419d
commit 2c8660e01f

View file

@ -573,6 +573,7 @@ class SmartScanThing(Thing):
""" """
try: try:
capture_start = time.time() capture_start = time.time()
metadata = metadata_getter()
raw_image = cam.capture_array(stream_name="raw") raw_image = cam.capture_array(stream_name="raw")
acquired.set() acquired.set()
acquisition_time = time.time() acquisition_time = time.time()
@ -590,7 +591,7 @@ class SmartScanThing(Thing):
) )
exif_dict = piexif.load(os.path.join(images_folder, name)) exif_dict = piexif.load(os.path.join(images_folder, name))
exif_dict["Exif"][piexif.ExifIFD.UserComment] = json.dumps( exif_dict["Exif"][piexif.ExifIFD.UserComment] = json.dumps(
metadata_getter() metadata
).encode("utf-8") ).encode("utf-8")
piexif.insert(piexif.dump(exif_dict), os.path.join(images_folder, name)) piexif.insert(piexif.dump(exif_dict), os.path.join(images_folder, name))
save_time = time.time() save_time = time.time()