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 in `ct.render.render_geometries()` for `LineSet`, 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` to `main`, 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` to `to_image` in `depth_to_point_cloud`, making the function naming more intuitive (58).
- **Utility Module Renaming**: Renamed `ct.utility` to `ct.util`, streamlining the utility module structure (45).
Fixes
- **Order Preservation in Loops**: Ensured order preservation for `mt_loop` and `mp_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 https://github.com/yxlao/camtools/pull/34
* fix: crop-boarders tool handle png with alpha channel in https://github.com/yxlao/camtools/pull/35
* new: render geometries to image with custom camera parameters in https://github.com/yxlao/camtools/pull/36
* new: extract rendering intrinsics (K) and extrinsics (T) set by Open3D in https://github.com/yxlao/camtools/pull/37
* new: support line_radius in ct.render.render_geometries() for LineSet in https://github.com/yxlao/camtools/pull/38
* perf: more efficient ct crop-boarders --same_crop in https://github.com/yxlao/camtools/pull/39
* docs: add contribution section in https://github.com/yxlao/camtools/pull/40
* feat: text renderer, artifact manager, image vstack in https://github.com/yxlao/camtools/pull/41
* refactor: rename up-down to top-bottom, use tblr consistently in https://github.com/yxlao/camtools/pull/42
* perf: faster cropping; parallel imread/crop; mt_loop and mp_loop helper functions in https://github.com/yxlao/camtools/pull/43
* fix: preserve order for mt_loop and mp_loop in https://github.com/yxlao/camtools/pull/44
* refactor: ct.utility->ct.util in https://github.com/yxlao/camtools/pull/45
* ci: disable concurrency in https://github.com/yxlao/camtools/pull/46
* docs: install with strict editable mode in https://github.com/yxlao/camtools/pull/48
* refactor: rename create_camera_frames to create_camera_frustums in https://github.com/yxlao/camtools/pull/49
* refactor: master->main for links and ci in https://github.com/yxlao/camtools/pull/50
* build: use importlib.metadata to get version for py>=3.8 in https://github.com/yxlao/camtools/pull/51
* fix: opencv<->opengl T and pose convert in https://github.com/yxlao/camtools/pull/52
* refactor: improved projection APIs in https://github.com/yxlao/camtools/pull/53
* new: support image scaling for ct.project.depth_to_point_cloud() in https://github.com/yxlao/camtools/pull/54
* refactor: remove torch dependency, only install torch for image metrics in https://github.com/yxlao/camtools/pull/55
* fix: remove assert same device in https://github.com/yxlao/camtools/pull/56
* new: ct.render.render_geometries as depth image in https://github.com/yxlao/camtools/pull/57
* refactor: return_as_image->to_image for depth_to_point_cloud in https://github.com/yxlao/camtools/pull/58
* new: transform a single point in https://github.com/yxlao/camtools/pull/60
* build: python version support update to 3.8 - 3.11 in https://github.com/yxlao/camtools/pull/63
* build: v0.1.5 version bump in https://github.com/yxlao/camtools/pull/65
**Full Changelog**: https://github.com/yxlao/camtools/compare/v0.1.4...v0.1.5
---
For more details, visit the [CamTools GitHub repository](https://github.com/yxlao/camtools). Your feedback and contributions are welcome.