Pix4D doesn't import orientation data from rededge images

Hi all,

I’m having issues getting some of my missions calibrated, so I wanted to try using the orientation data that the rededge stores in EXIF.  However, it seems that Pix4D doesn’t import that data when adding images to a project.  Weird.  Is there any way to force pix4d to read in orientation information from rededge images?



What data do you have for the orientation? Is it yaw pitch and roll of the camera?

yep.  Seems to be actually stored in the “XMP” section of the image… not sure what that is, but it’s there…  https://drive.google.com/file/d/1tGkCFMalhOzmXostSvCAR3XdtCoLopys/view?usp=sharing

Ok so I just had to deal with something similar so here is what you can do. Go to the Image Properties Editor after uploading your images and export to file.

Select the correct attributes and select a save location, make sure to save it as a CSV file to make it easier to open next.

Open the file in Excel and you should get something like this

The data is stored as Image Name, Latitude, Longitude, Altitude, Omega, Phi, Kappa, Horizontal Accuracy, Vertical Accuracy. Looking over the Pix4D books you will find out that Omega is yaw, Phi is pitch, and Kappa is roll. 

See if you can export your data from the camera and just overwrite the data exported from Pix4d. Once you get it on the csv just use the same page in Image Properties Editor to Import from file and you should be good to go. 

Interesting, thanks Jason.  Very much appreciated!  Good to know there’s a workaround.  I wish Pix4D would just import orientation from the get go and not make us perform such backflips, but alas…

Not sure if you will also need to do this, but we also have to go into the advance tab of Initial Processing and change Internal Parameters Optimization to All Prior.

If when you process your images you get a high camera optimization error change this and it should help.

Hi Alexander, 

There is one scenario in which initial camera orientation is taken into consideration during processing.

The “Accurate Geolocation and Orientation” Calibration Method takes initial image orientation into account during processing, and can be used to decrease overall processing time. Pix4Dmapper will always calculate the optimized orientation of the camera for all three Calibration Methods.

If you are using orientation values for standard and alternative, it is possible to test the accuracy of the initial Omega, Phi, and Kappa values according to the variance (RMS) which appears in the Quality Report or compare the initial orientation with the optimized orientation calculated by Pix4Dmapper.

@jason - thanks for the further info.  I might put together a script to extract this data from a set of images and put them in a csv.  One big issue is that, for multi-flight projects, some images will have the same name, but be located in different folders.  Have you come across a resolution for this?  I guess one would be to rename all the images so they’re all different (ugh).

@momtanu - any comment on the fact that Pix4D isn’t importing orientation information from the rededge exif data?  Seems odd that it doesn’t.  My motivation for including orientation information is to avoid strange calibration blocks where the orientation is about 90 degrees off from where it should be.  I’ve posted on here about adding MTPs to resolve such issues (e.g. https://community.pix4d.com/t/8542-How-to-add-MTPs-between-calibrated-images-), but I haven’t gotten any responses…


Do you have the proper tags for position and orientation: https://support.pix4d.com/hc/en-us/articles/360016450032-Specifications-of-xmpcamera-tags? You can check with exiv2. If you need Pix4D to consider the geolocation and orientation in the image properties editor table, you will need to use accurate geolocation and orientation for calibration instead of standard or alternative

I would recommend checking the EXIF of the images in order to see if the tags are correctly defined. This are the tags that are used in Pix4D when importing the images:


More in the Specifications of xmp.camera tags article.