Releases: yxlao/camtools
v0.1.5 Release
CamTools v0.1.5 Release Notes
The v0.1.5 release of CamTools brings a host of new features, significant improvements, and various fixes to enhance the overall functionality and usability of the library.
New Features and Improvements
- Render Geometries to Image: Introduced the ability to render geometries to an image with custom camera parameters, improving flexibility in rendering (#36).
- Line Radius in Render Geometries: Enabled
line_radius
support inct.render.render_geometries()
forLineSet
, enhancing the visual representation of lines (#38). - Efficient Image Cropping: Enhanced the performance of image cropping, allowing for faster and more efficient operations (#39).
- Depth Image Rendering: Added
ct.render.render_geometries
for rendering depth images, expanding the rendering capabilities (#57). - Image Scaling for Depth to Point Cloud: Added support for image scaling in
ct.project.depth_to_point_cloud()
, allowing for more versatile image processing (#54). - Single Point Transformation: Introduced functionality to transform a single point, providing more precise control in point manipulation (#60).
Refactoring
- Consistent Terminology: Renamed up-down to top-bottom and ensured consistent use of
tblr
throughout the codebase (#42). - Master to Main Transition: Updated links and CI configurations to transition from
master
tomain
, aligning with modern repository practices (#50). - Version Management: Switched to using
importlib.metadata
for version management for Python 3.8 and above, modernizing the build process (#51). - Projection API Enhancements: Improved projection APIs to enhance their functionality and usability (#53).
- Dependency Management: Removed
torch
dependency, ensuring it is only installed for image metrics, reducing unnecessary dependencies (#55). - Depth to Point Cloud API Change: Renamed
return_as_image
toto_image
indepth_to_point_cloud
, making the function naming more intuitive (#58). - Utility Module Renaming: Renamed
ct.utility
toct.util
, streamlining the utility module structure (#45).
Fixes
- Order Preservation in Loops: Ensured order preservation for
mt_loop
andmp_loop
, improving consistency in processing (#44). - PNG Handling in Crop-Borders Tool: Improved the handling of PNG files with alpha channels in the crop-borders tool (#35).
- OpenCV and OpenGL Conversion: Fixed issues with transformations and pose conversions between OpenCV and OpenGL (#52).
- Device Assertion Removal: Removed the assertion for the same device, fixing potential issues related to device handling (#56).
Documentation and Build
- Contribution Section: Added a new contribution section to the documentation, encouraging community participation and providing guidelines for contributors (#40).
- Strict Editable Mode Installation: Updated installation instructions to include strict editable mode, ensuring a more reliable setup process (#48).
List of Changes
- add built-with-camtools badges in #34
- fix: crop-boarders tool handle png with alpha channel in #35
- new: render geometries to image with custom camera parameters in #36
- new: extract rendering intrinsics (K) and extrinsics (T) set by Open3D in #37
- new: support line_radius in ct.render.render_geometries() for LineSet in #38
- perf: more efficient ct crop-boarders --same_crop in #39
- docs: add contribution section in #40
- feat: text renderer, artifact manager, image vstack in #41
- refactor: rename up-down to top-bottom, use tblr consistently in #42
- perf: faster cropping; parallel imread/crop; mt_loop and mp_loop helper functions in #43
- fix: preserve order for mt_loop and mp_loop in #44
- refactor: ct.utility->ct.util in #45
- ci: disable concurrency in #46
- docs: install with strict editable mode in #48
- refactor: rename create_camera_frames to create_camera_frustums in #49
- refactor: master->main for links and ci in #50
- build: use importlib.metadata to get version for py>=3.8 in #51
- fix: opencv<->opengl T and pose convert in #52
- refactor: improved projection APIs in #53
- new: support image scaling for ct.project.depth_to_point_cloud() in #54
- refactor: remove torch dependency, only install torch for image metrics in #55
- fix: remove assert same device in #56
- new: ct.render.render_geometries as depth image in #57
- refactor: return_as_image->to_image for depth_to_point_cloud in #58
- new: transform a single point in #60
- build: python version support update to 3.8 - 3.11 in #63
- build: v0.1.5 version bump in #65
Full Changelog: v0.1.4...v0.1.5
For more details, visit the CamTools GitHub repository. Your feedback and contributions are welcome.
v0.1.4 Release
CamTools v0.1.4 Release Notes
The v0.1.4 release of CamTools introduces a range of new features, improvements, and fixes.
New Features and Improvements
- Up Triangle, Point-Plane Distance, Exact Camera Size: Introduced new camera frame functionalities including up triangle and point-plane distance calculation (#19).
- Camera Pose from Spherical Coordinate System: Added camera pose determination using spherical coordinates (#20).
- Command Line Tool for Image Compression: Added new command-line tool for efficient PNG and JPG image compression (#25).
- Improved Readme Graphics: Enhanced readme graphics for better visual appeal and information clarity (#30).
- CamTools Logo: Introduced a new visual identity with the CamTools logo (#29).
Refactoring
- Camera Frame Creation APIs: Refactored camera frame creation APIs to improve clarity and usability (#22).
- Project to Transform: Renamed
ct.project.homo_project
toct.transform.transform_points
for better functional alignment (#23). - Normalization and Plot Module Changes: Moved functionalities from
ct.stat
toct.normalize
and removedct.plot
module (#24).
Fixes
- Handling Alpha PNGs and Avoiding Duplicated Compression: Improved handling of PNGs with alpha channels and optimized image compression process (#26).
- Continuous Integration and Tests: Addressed issues in CI and tests to ensure library stability and reliability (#28).
Automation
- Automatic PyPI Release Script: Streamlined PyPI release process with an automated script (#18).
For more details, visit the CamTools GitHub repository. Your feedback and contributions are welcome.
v0.1.3 Release
CamTools v0.1.3 Relase Notes
The camtools v0.1.3 release features important bug fixes and API changes.
v0.1.2 Release
CamTools v0.1.2 Relase Notes
- Fix
ct
command line tool module import issue - Add unit test CI and PyPI CI
v0.1.1 Release
CamTools v0.1.1 Relase Notes
- Reduce dependency requirements
- Minor bug fixes
v0.1.0 Release
CamTools v0.1.0 Relase Notes
We are excited to announce the first release of CamTools, a comprehensive camera toolkit for computer vision. This release includes a variety of features that are useful for plotting, converting, projecting, and ray casting with camera parameters.
Some of the key features of CamTools v0.1.0 include:
- Plotting cameras with intrinsics and extrinsics, useful for debugging 3D reconstruction and NeRFs.
- Converting camera parameters. E.g., from
T
topose
,T
toR
andt
,pose
to camera center, decomposition of projection matrix toK
andT
, and more. - Projection and ray casting. E.g., from 3D points to pixels, from depth image to 3D points, and from mesh to depth image.
- Image and depth I/O with strict type and range checks.
- Command-line tools for cropping image borders, drawing synchronized bounding boxes interactively, and more.
- More features such as solving line intersections, COLMAP tools, point normalization, and more.
We hope this release will be helpful to the computer vision community, and we look forward to receiving feedback and suggestions for future improvements.
Start using camtools
with:
pip install camtools
Refer to the README for more details.