Skip to content

v0.1.6 Release

Latest
Compare
Choose a tag to compare
@yxlao yxlao released this 19 Dec 06:03
1c10df1

CamTools v0.1.6 Release Notes

Summary

Feature/Refactor: Standardized Depth Image and Distance Image Projection (#70)

  • Terminology Clarification: Previously, the terms "depth" (z-depth) and "distance" (Euclidean distance between a 3D point and the camera center) were used interchangeably, leading to confusion. This release clarifies and standardizes the terminology to avoid ambiguity.
  • Function Signatures: Use im_depth or im_distance in function signatures to refer to depth images or distance images, respectively.
  • Conversion Functions: Added conversion functions between distance image and depth image: ct.convert.im_distance_to_im_depth and ct.convert.im_depth_to_im_distance.

Refactor: Jaxtyping annotation for select functions (#66, #68, #69, #70, #76)

  • Now, some functions are annotated with e.g., points: Float[np.ndarray, "n 3"] to provide better syntax.
  • Full type annotation is planned in the future, along with a documentation website.
  • Previously we considered adding a flexible backend with ivy in this release, but it was canceled for simplicity.

Fix: Use numpy 1.x to Avoid Segfault with Open3D

  • Issue: A segmentation fault occurs when using certain versions of Open3D with numpy 2.x. This issue is documented in Open3D issue #6840.
  • Temporary Fix: This release restricts the use of numpy 1.x to avoid the segfault. This restriction will likely be removed in future releases when Open3D 0.19 is released, as per this comment.

API Changes

Added (or renamed as)

  • ct.raycast.mesh_to_im_depth: new
  • ct.raycast.mesh_to_im_depths: new
  • ct.raycast.mesh_to_im_distance: refactored to this
  • ct.raycast.mesh_to_im_distances: refactored to this
  • ct.convert.im_depth_to_im_distance: new
  • ct.convert.im_distance_to_im_depth: new
  • ct.convert.mesh_to_lineset: new
  • ct.solver.points_to_mesh_distances: new
  • ct.project.points_to_pixels: refactored to this
  • ct.project.im_depth_to_point_cloud: refactored to this

Removed

  • ct.raycast.mesh_to_depth
  • ct.raycast.mesh_to_depths
  • ct.project.point_cloud_to_pixel
  • ct.project.depth_to_point_cloud