Setting exif data for Object Capture Photogrammetry

I'm making an app that captures data using ARKit and will ultimately send the images+depth+gravity to an Object Capture Photogrammetry agent. I need to use the depth data and produce a model with correct scale, so from what I understand I need to send the depth file + set proper exif data in the image. Since I'm getting the images+depth from ARKit I'll need to set the exif data manually before saving the images. Unfortunately the documentation on this is a bit light, so would you be able to let me know what exif data needs to be set in order for the Photogrammetry to be able to create the model with proper scale?

If I try and set my Photogrammetry agent with manual metadata like this:

var sample = PhotogrammetrySample(id: id, image: image)
     
var dict:[ String: Any ] = [:]     
dict["FocalLength"] = 23.551325
dict["PixelWidth"] = 1920
dict["PixelHeight"] = 1440     
 sample.metadata = dict

I get the following error in the output and depth is ignored:

[Photogrammetry] Can't use FocalLenIn35mmFilm to produce FocalLengthInPixel! Punting...

Replies

Hello @hulkster-spectre , were you able to find any more information on this? I'm running into the same issue and Apple documentation on building PhotogrammetrySamples is severely lacking.