Forum

Author Topic: Automatically upload the fiducial mark coordinates  (Read 4160 times)

Benny

  • Newbie
  • *
  • Posts: 14
    • View Profile
Automatically upload the fiducial mark coordinates
« on: October 23, 2018, 12:07:20 PM »
Hi,

I am currently using Agisoft Photoscan Pro to process scanned aerial photographs.  As they are scanned, I have to manually add different fiducial mark coordinates for each image. It is ok when you only have a few tens of images, but when you have hundreds of them, it really becomes time consuming.

Would it be possible to add an option in Photoscan that allows uploading a text file with these fiducial mark coordinates, like we can do with the ground control points? The text file would include the name of the photo in a column and the XY coordinates of the four (or more?) fiducial marks in other columns.

I thank you in advance for considering this feature request!

Best regards,

Benoît Smets

Benny

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Automatically upload the fiducial mark coordinates
« Reply #1 on: October 25, 2018, 05:15:40 PM »
Forget about what I am requesting!

What would be great is a tool to prepare scanned photos prior to the photo upload in Photoscan. This tool would use the fiducial marks to transform (mostly translation and rotation) the photos into a collection of photos having the same dimensions and resolution, with fiducial marks placed at identical coordinates throughout the entire dataset. With this, Photoscan would see the dataset as coming from the same camera and would allow the camera calibration.

Such an option, within Photoscan or as an additional software, would allow processing scanned archives much more easily.

Best regards,

Benoît

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15168
    • View Profile
Re: Automatically upload the fiducial mark coordinates
« Reply #2 on: October 25, 2018, 06:08:46 PM »
Hello Benoît,

Actually, you can load the coordinates of the fiducial marks via Python (no option in the current release via GUI, unfortunately),

For example, if you have the line, like the following:
fiducial_1,image0001.JPG,100,200
Then the script line loading this as a fiducial would be the following (assuming that you have only one calibration group in the active chunk already switched to "scanned images with fiducial marks)

Code: [Select]
chunk = PhotoScan.app.document.chunk
line = "fiducial_1,image0001.JPG,100,200"
fiducial = chunk.addMarker()
fiducial.type = PhotoScan.Marker.Type.Fiducial
fiducial.sensor = chunk.sensors[0]
label, cam_label, x, y = line.strip().split(",")
fiducial.label = label
for camera in chunk.cameras:
    if camera.label.upper() == cam_label.upper():
        fiducial.projections(camera) = PhotoScan.Marker.Projection(PhotoScan.Vector([x, y]), True)
        print("fiducial created")
        break
Best regards,
Alexey Pasumansky,
Agisoft LLC