Hi Daniel,
Pretty sure this is a bug. When importing a PTX file that has been registered (eg. exported from Leica Register360), the Sensor coordinates come through at 0,0,0. This is incorrect. The sensor coordinates should be translated by the values in row 10. See here: https://wiki.photoneo.com/index.php?tit ... ile_format
Furthermore, lines 7-10 define the transformation matrix for the sensor. See screenshot below, which shows the transformation matrix in a registered PTX next to the correct sensor location in CC (from an E57 file of the same cloud)
Sensor transformation is wrong for registered PTX files
Sensor transformation is wrong for registered PTX files
- Attachments
-
- Screenshot 2026-05-26 201405.png (22.03 KiB) Viewed 1057 times
Re: Sensor transformation is wrong for registered PTX files
Which version are you using?
Daniel, CloudCompare admin
Re: Sensor transformation is wrong for registered PTX files
Hi Daniel. Have tried on 2.13.2 and 2.14.beta. Behaviour is the same on both.
Re: Sensor transformation is wrong for registered PTX files
So referring to the code and to https://paulbourke.net/dataformats/ptx/, the sensor position and orientation is stored in rows 3-6 (row 3 is the sensor center, and the next 3 rows are the X, Y and Z vectors).
Rows 7-10 store the global transformation matrix that applies to the points (and I would assume to the sensor as well). At least that's what I could see in samples files such as some files found on http://www.libe57.org/data.html or Paul Bourke's site.
So in your case, I would expect row 3 to equal the 3 first values of row 10, and rows 4 to 6 equal the 3 first values of rows 7 to 9 (or something totally different depending on how the cloud was registered). Otherwise, this means that the points have been registered, but there's no 'sensor' associated.
Rows 7-10 store the global transformation matrix that applies to the points (and I would assume to the sensor as well). At least that's what I could see in samples files such as some files found on http://www.libe57.org/data.html or Paul Bourke's site.
So in your case, I would expect row 3 to equal the 3 first values of row 10, and rows 4 to 6 equal the 3 first values of rows 7 to 9 (or something totally different depending on how the cloud was registered). Otherwise, this means that the points have been registered, but there's no 'sensor' associated.
Daniel, CloudCompare admin