(1) Remove the canonical_depth_image -- instead accept a ready canonical field and alter usages
(2) Change output to eig::Matrix4f
-- In theory, strictly speaking, output (as well as initial_camera_pose) should be eig::Matrix3f for 2d case
and eig::Matrix4f for 3d case
2D:
|r1 r2 t_x|
|r3 r4 t_y|
| 0 0 1 |
3D:
|r1 r2 r3 t_x|
|r4 r5 r6 t_y|
|r7 r8 r9 t_z|
| 0 0 0 0 |
(see defn' of rotation matrices on Wikipedia if needed)
To simplify usage of tsdf generator (which always takes the 4x4 matrix), here we can also dumb down the 3D matrix down (use r9 = 1, r3 = r6 = r7 = r8 = 0) for the 2D case and simply homogenize the (x,y) coordinates to (x,y,1,1) if/wherever needed.
(1) Remove the canonical_depth_image -- instead accept a ready canonical field and alter usages (2) Change output to eig::Matrix4f -- In theory, strictly speaking, output (as well as initial_camera_pose) should be eig::Matrix3f for 2d case and eig::Matrix4f for 3d case 2D: |r1 r2 t_x| |r3 r4 t_y| | 0 0 1 | 3D: |r1 r2 r3 t_x| |r4 r5 r6 t_y| |r7 r8 r9 t_z| | 0 0 0 0 | (see defn' of rotation matrices on Wikipedia if needed) To simplify usage of tsdf generator (which always takes the 4x4 matrix), here we can also dumb down the 3D matrix down (use r9 = 1, r3 = r6 = r7 = r8 = 0) for the 2D case and simply homogenize the (x,y) coordinates to (x,y,1,1) if/wherever needed.