Hello marinosvlachos,
Please check if the following scrips gives you the desired output:
#compatibility Metashape Pro 1.5.2
import Metashape, time
def var0():
t0 = time.time()
chunk = Metashape.app.document.chunk
if not chunk:
return None
point_cloud = chunk.point_cloud
points = point_cloud.points
npoints = len(points)
projections = chunk.point_cloud.projections
max_count = 0
path = Metashape.app.getSaveFileName("Specify export file name:", filter=" *.txt")
if not path:
print("Incorrect path, script aborted.")
return None
file = open(path, "wt")
print("\nScript started ...")
point_ids = [-1] * len(point_cloud.tracks)
for point_id in range(0, npoints):
point_ids[points[point_id].track_id] = point_id
for camera in chunk.cameras:
if not camera.type == Metashape.Camera.Type.Regular: #skipping camera track keyframes
continue
if not camera.transform: #skipping NA cameras
continue
for proj in projections[camera]:
track_id = proj.track_id
point_id = point_ids[track_id]
if point_id < 0:
continue
if not points[point_id].valid:
continue
line = "{:s},{:d},{:.2f},{:.2f}\n".format(camera.label, point_id, proj.coord.x, proj.coord.y)
file.write(line)
file.flush()
file.close()
t2 = time.time()
t2 -= t0
t2 = float(t2)
print("Script finished in " + "{:.2f}".format(t2) + " seconds.")
return True
####
var0()