Recent Releases of rmagine
rmagine - v2.3.0
New update that partially breaks the API (only undocumented parts), removes deprecated functions, and adds features for sensor-to-mesh registration from RMCL.
No major changes.
Minor changes:
- Removed some Simulator functions that weren't documented nor used
- Removed deprecated functions
Patches:
- Unified Simulator functions
- Added convenience function for simulating a single sensor at a time
- Moved basic Mesh-ICP registration functionalities from RMCL to here → Locally optimize the pose until the expectations match reality best
- Added simple PointCloud type for greater flexibility in registration without losing too much performance, since they can be built zero-copy. (Not yet sure if this one persists, or if we instead switch to rm::Bundles)
- C++
Published by amock 9 months ago
rmagine - v2.2.11
Matrix slicing + stability update.
Patch: - 2D matrices can be sliced now (zero-copy) on both CPU and GPU. Used CRTP to separate matrix operations from matrix data. This made it easier to switch between matrix data implementations without having inheritance overhead. - Added more tests for reductions
Fixes: - Merging two null measurements causes division by zero. Especially important for masked operations. - Fixed wrong indexing in statistics_p2l CUDA implementation
- C++
Published by amock about 1 year ago
rmagine - v2.2.10
Patches / downwards compatible changes: - CrossStatistics objects can be transformed now - New math objects: Gaussian1D, Gaussian2D, Gaussian3D - Gaussian objects can be freely transformed between frames - Gaussians have an additional field to indicate the number of samples. This makes it possible to merge any two Gaussians (as long as they are in the same frame)
- C++
Published by amock about 1 year ago
rmagine - v2.2.9
New patch release v2.2.9
- dynamic scheduling of Embree simulator's inner or outer loop parallelism based on the number of simulated sensor poses and the maximum available number of threads
- separated Embree acceleration structure from data by using shared geometry buffers functionality
- implemented transformation for point cloud scene elements (Embree)
- C++
Published by amock over 1 year ago
rmagine - v2.2.8
This is a new version of rmagine, which migrated some Mesh ICP computations from RMCL. Several tests have been added, I also took the opportunity to clean up the interface for single hypothesis correction aka pose tracking. All other external software should still work, so I just increased the patch version.
New
- CrossStatistics math type, which contains two means a covariance and the number of measurements. Also the reduction function from the MICP-L paper is integrated
- PointCloudView. Contains views to existing memory buffer. We use it for cleaner, and more readable interfaces, while not losing any runtime.
- Functions for registration. Correspondence search, Umeyama-based optimization
Improvements
- integrated support for multi-block computation in the non-batch version of "sum"
Tests
- statistics for CPU (core)
- statistics for GPU (cuda)
- Embree correction: finding RCC using embree, optimizing using CPU-Umeyama
- OptiX correction: finding RCC using optix, optimizing using GPU-Umeyama
- C++
Published by amock over 1 year ago
rmagine - v2.2.6
v2.2.6
- SVD implementation based on "Numerical Recipes" that works out of the box on CPU as well as in CUDA kernels. First test results show speed up and accuracy over Eigen/cusolver. Need to conduct further experiments. Perhaps directly with RMCL.
- added convenience functions to sensor models and embree simulators.
- Added rmagine-ouster component
- Dependency: jsoncpp
- Loading Ouster Meta files as rmagine sensor model
Additional things
- removed obsolote functions.
- made types polyscope compatible
- C++
Published by amock over 1 year ago
rmagine - v2.2.0
Rework of build and install system.
Major changes: - Components for each part of the library: rmagine::core, rmagine::embree, rmagine::cuda, rmagine::optix - Debian package generation with CPack - Removed Embree 3 support
Note: Attached binaries are compiled with Ubuntu 20.04, Embree 4.2.0, Cuda 11.4, Nvidia-driver 470.199.02, OptiX 7.3.0.
- C++
Published by aock over 2 years ago
rmagine - v2.1.1
Patch:
Preparations to fully implement new feature: Integrate CUDA unified memory. - Implemented respective Memory object UNIFIED_CUDA including alloc, free, copy, stream copy functions - OptiX simulators can now additionally simulate to unified memory. Mixing memory is possible as well.
TODOs missing to next minor version change: Add UNIFIED_CUDA into Embree Simulators without breaking compatibility for CPU only devices
- C++
Published by aock over 2 years ago
rmagine - v2.1.0
No Interface Changes
Major Changes: - Rmagine version is now exported as cmake variables and defines for better versioning of other libraries that use Rmagine - cmake vars: rmagineVERSION, rmagineVERSIONMAJOR, rmagineVERSIONMINOR, rmagineVERSIONPATCH - definitions: RMAGINEVERSION, RMAGINEVERSIONMAJOR, RMAGINEVERSIONMINOR, RMAGINEVERSIONPATCH - rmagine_DEFINITIONS is now exported via cmake and can be accessed in libraries that are using Rmagine
Minor Changes: - Embree 4 support, the embree version is exported to be used in other libraries if needed: RMAGINEEMBREEVERSION_MAJOR - README rework. Smaller images. Short example. Some links to the Wiki
- C++
Published by aock almost 3 years ago
rmagine - v2.0.0
Scene and Raytracing Updates: - Dynamic Maps (Embree, OptiX) supporting scene graphs including Instances - Scene Attributes at intersection: ObjectId (Instance Id), GeomId (Geomety Id), FaceId
Internal Updates: - Restructuring internal OptiX shaders. Cached shader per (Scene, Sensor, Attributes) tuple - math functions - MemoryView for no-op copies and slicing for CPU and GPU buffers - Tests (make test) - Removed optix headers from rmagine headers such that library can be better deployed - Both Embree and OptiX backends are optional now
- C++
Published by aock over 3 years ago