Sensor transformation is wrong for registered PTX files

If you are allergic to bug trackers, you can post here any remarks, issues and potential bugs you encounter
Post Reply
framed
Posts: 17
Joined: Wed Feb 25, 2015 1:23 am

Sensor transformation is wrong for registered PTX files

Post by framed »

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)
Attachments
Screenshot 2026-05-26 201405.png
Screenshot 2026-05-26 201405.png (22.03 KiB) Viewed 1058 times
daniel
Site Admin
Posts: 8187
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Sensor transformation is wrong for registered PTX files

Post by daniel »

Which version are you using?
Daniel, CloudCompare admin
framed
Posts: 17
Joined: Wed Feb 25, 2015 1:23 am

Re: Sensor transformation is wrong for registered PTX files

Post by framed »

Hi Daniel. Have tried on 2.13.2 and 2.14.beta. Behaviour is the same on both.
daniel
Site Admin
Posts: 8187
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Sensor transformation is wrong for registered PTX files

Post by daniel »

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.
ptx_header.jpg
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
Post Reply