Export preset like “Camera Registration (PostShot / 3DGS)”


Hi Pix4D Team,

recently, I started integrating Pix4D outputs into 3D Gaussian Splatting workflows (e.g. using PostShot) and I noticed something that could create a big advantage for some users if improved.

PostShot and similar tools require a very specific “camera registration” CSV. Pix4D already exports an optimized_camera_externals.csv, which is a great start, but it can’t be used directly.

Here is what’s different:

• Pix4D exports the full image path – PostShot needs only the filename
• Column names and the order are different (Pix4D uses Northing/Easting/Altitude, PostShot expects x/y/alt, heading instead of yaw, etc.)
• Most importantly: Pix4D’s file does not include the intrinsic parameters (focal length, principal point offsets px/py, and lens distortion coefficients k1–k4 and t1/t2), which PostShot requires

A typical PostShot-compatible file looks like this:

#name, x, y, alt, heading, pitch, roll, f, px, py, k1, k2, k3, k4, t1, t2

If Pix4D offered an additional export option with these columns, the correct order, lowercase header names, and only the filename (no path), we could integrate Pix4D reconstructions directly into 3DGS tools without any conversion step. This would open up new workflows and save a lot of time for many users who are already exploring image-based rendering or neural scene representations.

Would it be possible to add an export preset like “Camera Registration (PostShot / 3DGS)” or something similar? I’d be happy to provide a working example file or more details if that helps.

Thanks for considering it and keep up the great work!

Best regards
Manuel

Hi @maal,

The file can be generated right now using the data available in PIX4Dmatic; it just requires a little manual input.

You can export the positions and orientations of the calibrated images and, for the internal camera parameters, export the undistorted images containing the calibrated parameters: ‘pix4d_calibrated_internal_camera_parameters.cam’.

You can also process Gaussian Splat directly from PIX4Dmatic using the ‘Process’ function in PIX4Dcloud. This feature is now available for drone datasets. (v1.83.0).

Regards

1 Like

Hi Alvaro,

thank you very much for your reply and the detailed explanation.

I understand that it is possible to manually export the image positions and orientations, and then retrieve the intrinsic parameters from the pix4d_calibrated_internal_camera_parameters.cam file or the undistorted images. I also know that I could write a custom script to merge and reformat this into the required CSV.

However, my original question was slightly different. I am not looking for a workaround that requires more manual steps, but rather suggesting a built-in export option that simplifies the workflow and reduces effort for users. :slight_smile:

In other words:
Would it be possible for Pix4D to add an export preset (e.g. “Camera registration for 3DGS / PostShot”) that automatically outputs a CSV containing:

  • filename only (no path)

  • x, y, alt

  • heading, pitch, roll

  • f, px, py

  • k1, k2, k3, k4, t1, t2

  • correct column order and lowercase header names

This would allow direct integration into Gaussian Splatting tools without any manual merging or scripting.

That was the main idea behind my question: not just making it possible, but making it easy for us users. :slight_smile:

Thank you again, and I am happy to provide an example file if needed.

Best regards
Manuel

PS also thanks for your advice regarding the new 3DGS function in PIX4Dcloud, I tried it already, it’s great! But the question here is about MATIC. Thanks… @andrea.dotti

Hello @maal ,

What about exporting data in OPF and then using the opensource pyopf to get the data you need?

The provided example shows how to read calibration data. PIX4Dmatic allows to export to OPF.
A more specific discussion from where to take inspiration (a bit old) Exploring photogrammetry and NeRFs with OPF

Andrea