#------------------------------------------------------------------------------ # FireMapper ExifTool config - defines the "Camera" XMP namespace. # # Stock ExifTool cannot write XMP-Camera:Yaw/Pitch/Roll. These are the de-facto # standard camera-attitude tags (Pix4D / MicaSense / senseFly schema, # namespace http://pix4d.com/camera/1.0/) that Agisoft Metashape and Pix4D read # directly to seed each photo's orientation. embed_metadata.py / stretch_thermal.py # pass this file via `exiftool -config` so those tags become writable. # # Do NOT confuse with XMP-GPano:Pose* (a different convention Metashape ignores) # or the read-only XMP-Camera:Pose* table built into ExifTool. #------------------------------------------------------------------------------ %Image::ExifTool::UserDefined = ( 'Image::ExifTool::XMP::Main' => { Camera => { SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::Camera', }, }, }, ); %Image::ExifTool::UserDefined::Camera = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-Camera', 2 => 'Camera' }, NAMESPACE => { 'Camera' => 'http://pix4d.com/camera/1.0/' }, WRITABLE => 'string', # Camera attitude, degrees. Pix4D/Metashape convention: # Pitch = 0 -> nadir (looking straight down), +90 -> looking forward. # Yaw = azimuth of the image-top direction (0 = north). # Roll = rotation about the optical axis. Yaw => { Writable => 'real' }, Pitch => { Writable => 'real' }, Roll => { Writable => 'real' }, # Optional reported accuracies (metres), harmless if unused. GPSXYAccuracy => { Writable => 'real' }, GPSZAccuracy => { Writable => 'real' }, ); 1; #end