Hello,
try this code
# Compatibility - Agisoft PhotoScan Professional 1.5 or 1.6
# Estimates Image quality and saves to csv file
# export format:
# label, quality
import Metashape as PhotoScan
import time
print("Estimating image quality and export to CSV file")
found_major_version = ".".join(Metashape.app.version.split('.')[:2])
doc = PhotoScan.app.document
chunk = doc.chunk
path = PhotoScan.app.getSaveFileName("Specify export path and filename:", filter = "CSV file (*.csv);;All formats (*.*)")
file = open(path, "wt")
print("Script started")
t0 = time.time()
file.write(",".join(["Label","Quality\n"]))
cameras = chunk.cameras
cameras = [camera for camera in cameras
if camera.type != Metashape.Camera.Type.Keyframe]
camerasniq = [camera for camera in cameras
if 'Image/Quality' not in camera.meta]
if len(camerasniq) > 0:
if found_major_version == '1.6':
chunk.analyzePhotos(camerasniq)
else:
chunk.estimateImageQuality(camerasniq)
for camera in cameras:
quality = float(camera.meta['Image/Quality'])
file.write("{},{:.3f}\n".format(camera.label, quality))
t1 = time.time()
file.flush()
file.close()
print("Script finished in " + str(int(t1-t0)) + " seconds.")