Hello Jonathan,
camera.reference contain only source values.
If you have set the coordinate system to local coordinates (chunk is referenced) then coordinates of the camera center can be calculated in the following way:
x, y, z = chunk.transform.matrix.mulp(cam.center)
to get the estimated yaw, pitch, roll you need to use the following:
m = chunk.transform.matrix * cam.transform * PhotoScan.Matrix().diag([1,-1,-1,1])
row = []
for i in range(3):
row.append(m.row(i))
row[i].size = 3
row[i].normalize()
rotation = PhotoScan.Matrix([row[0], row[1], row[2]])
yaw, pitch, roll = PhotoScan.utils.mat2ypr(rotation)
the complex procedure of rotation component extraction will be much easier in the next update, it can be achieved using rotation = m.rotation()