The new twist and apply_transformation parameters here, along with the entire new block seem out-of-place / unnecessary. The TSDF points are already transformed relative to the camera using the camera's extrinsic matrix, passed in as camera_extrinsic_matrix.
@fshanAtUMD , what your code should do instead is perform this conversion from twist to a 4x4 transformation in a separate method (put it in math_utils somewhere, since it is generic and may be useful in other places in the code), call this method on the twist in your code before calling the TSDF generation routine, and then pass in the result as the camera_extrinsic_matrix. No need for 2 different transformations here.
If you do this, then we can use any of the generation methods virtually unchanged with your code, including the alternative filtering methods, which is critical and cannot be properly done otherwise.
Summary: approximate duplication of TSDF transformation functionality prohibits alternative interpolation/filtering methods
Relevant code: https://github.com/Algomorph/LevelSetFusion-Python/blob/82c1bb948f12bae74cc35efe4bc70737ed579e2d/tsdf/generation.py#L196-L203
The new
twist
andapply_transformation
parameters here, along with the entire new block seem out-of-place / unnecessary. The TSDF points are already transformed relative to the camera using the camera's extrinsic matrix, passed in ascamera_extrinsic_matrix
.@fshanAtUMD , what your code should do instead is perform this conversion from twist to a 4x4 transformation in a separate method (put it in math_utils somewhere, since it is generic and may be useful in other places in the code), call this method on the twist in your code before calling the TSDF generation routine, and then pass in the result as the
camera_extrinsic_matrix
. No need for 2 different transformations here.If you do this, then we can use any of the generation methods virtually unchanged with your code, including the alternative filtering methods, which is critical and cannot be properly done otherwise.
This will become unnecessary: https://github.com/Algomorph/LevelSetFusion-Python/blob/82c1bb948f12bae74cc35efe4bc70737ed579e2d/tsdf/generation.py#L255
Please revise your code in a separate bug/tsdf_trans_dupl branch, make sure the tests still pass, and make a new PR.