CRS confusion on tranformation matrix of pc_align function

12 views
Skip to first unread message

Mohammad Umayr Romshoo

unread,
Apr 30, 2026, 11:14:35 AM (6 days ago) Apr 30
to Ames Stereo Pipeline Support

Dear all,

I am currently testing the pc_align function from ASP and have a question regarding the output 4×4 transformation matrix. Specifically, I would like to confirm whether this transformation matrix is expressed in the same reference system as the input point clouds.

Both my source and reference point clouds are in .laz format, generated from Metashape, and are in UTM (EPSG:32656). My goal is to apply the transformation matrix obtained from pc_align to my camera positions which are also in UTM (EPSG:32656).

However, I am unsure whether I can directly apply this transformation to the camera positions in their current coordinate system, or if I first need to convert the camera positions from EPSG:32646 to ECEF coordinates, apply the transformation there, and then convert them back to EPSG:32646.

I would appreciate any clarification on this.

Best regards,

Umayr

Oleg Alexandrov

unread,
Apr 30, 2026, 11:20:18 AM (6 days ago) Apr 30
to Ames Stereo Pipeline Support
The pc_align program converts all the input clouds to ECEF first and that's where the transform is computed. So that you have the LAS files in UTM is not an issue. 

But since you say your camera positions are in UTM that is problematic. You would need to have them converted indeed to ECEF, indeed. I think the GDAL python module should. help with that.

In ASP, if the cameras are in formats we expect, bundle_adjust can take as input the cameras and the ECEF transform and produce transformed cameras.

It is important to note that for an ECEF transform around Earth it is very hard to distinguish a translation from a rotation around the planet center (as it is very far). So if you simply apply the pc_align transform to the camera positions, the results may be counterintuitive.

If pc_align is called with the option to do translation only, then this simplifies the interpretation of the resulting tranform.

Oleg Alexandrov

unread,
Apr 30, 2026, 11:24:39 AM (6 days ago) Apr 30
to Ames Stereo Pipeline Support
There should be a little correction in that I wrote. Applying a pc_align transform to camera positions should give plausible results as it goes through same motions as the cloud itself, of course. One should just not assume that the translation component of the alignment transform can be interpreted as the amount by which the cloud moves. The rotational component, if it exists, is important too.
Reply all
Reply to author
Forward
0 new messages