Releases: MIT-SPARK/KISS-Matcher
KISS-Matcher v1.0.2
Tiny correctness fix.
What changed
`kiss_matcher.version` is now derived from the installed package
metadata (`importlib.metadata.version("kiss_matcher")`) instead of a
hardcoded string. v1.0.0 and v1.0.1 both reported `version == "1.0.0"`
at runtime regardless of the actual installed version; v1.0.2 fixes that
drift and any future bump is reflected automatically.
No API changes
Same wheels, same coverage as v1.0.1.
KISS-Matcher v1.0.1
Slim install footprint.
What changed
- `viser` moved from required dependencies to the `[viz]` extra.
Default `pip install kiss-matcher` no longer pulls in trimesh, scipy,
networkx, shapely, embreex, jsonschema, httpx, and ~20 other transitive
packages. Install with the visualization extra when needed:
`pip install kiss-matcher[viz]`. - New self-contained quickstart at `python/examples/quickstart.py` that
works with no external data and no viser. Generates a synthetic point
cloud, applies a known rigid transform, and verifies KISS-Matcher
recovers it.
No API changes
The Python API (`KISSMatcher`, `KISSMatcherConfig`, `RegistrationSolution`)
is identical to v1.0.0; this release is purely a packaging slim-down.
Same platform coverage
Wheels for Linux `manylinux_2_28+` x86_64 and macOS arm64 (macOS 14+),
Python 3.8 through 3.12. Source distribution available for everything else.
KISS-Matcher v1.0.0
First PyPI release of KISS-Matcher's Python bindings.
Install
```bash
pip install kiss-matcher
```
Wheels are published for:
- Linux `manylinux_2_28+` x86_64 (works on any Linux with glibc ≥ 2.28: Ubuntu 20.04+, Debian 11+, RHEL 9+, etc.)
- macOS arm64 (macOS 14+, Apple Silicon)
- Python 3.8, 3.9, 3.10, 3.11, 3.12
Each wheel ships its own copy of oneTBB, OpenMP, lz4, and flann — no system installation needed.
Intel-Mac users: `pip install kiss-matcher` falls back to source build automatically (CMake ≥ 3.18, Eigen 3, TBB, OpenMP, flann required).
What's bundled
- KISS-Matcher core (FasterPFH + ROBINMatching + GncSolver pipeline)
- ROBIN v.1.2.7 (with MIT-SPARK/pmc fork pinned for upcoming Windows MSVC support)
- oneTBB 2022, Eigen 3, lz4, flann
Quickstart
```python
import kiss_matcher as km
import numpy as np
config = km.KISSMatcherConfig(voxel_size=0.3)
matcher = km.KISSMatcher(config)
src = np.random.rand(1000, 3).astype(np.float32)
tgt = np.random.rand(1000, 3).astype(np.float32)
solution = matcher.estimate(src, tgt)
```
Notes
- Windows wheels are not yet available; ROBIN's `src/pkc.cpp` uses GCC builtin atomics and `size_t` OpenMP `for` indices that MSVC's OpenMP 2.0 rejects. Patch coming in a follow-up release.
- Source distribution is also published, so `pip install --no-binary :all: kiss-matcher` works on any POSIX system with the build dependencies.
v0.3.0
Now, what I wanted to implement has been done! Fully support ROS2.
What's Changed
- [Pull Request] Add ROS2 Visualization for KISS-Matcher by @kimdaebeom in #29
- ros2 build and warnings fixes. by @ewak in #31
- Fix/sudo issue by @LimHyungTae in #34
- Feature/mw/cmake and memory fixes by @ewak in #33
- Feature/support other extensions by @LimHyungTae in #35
- Feature/ros2 slam by @LimHyungTae in #41
- Feature/ros2 dummy loop detector by @LimHyungTae in #42
- Feature/tictok by @LimHyungTae in #43
- Feature/cleanup functions by @LimHyungTae in #44
- Feature/threaded loop closure by @LimHyungTae in #45
- Set scan-to-scan matching as default configuration by @LimHyungTae in #46
- Add
<depend>gtsam</depend>to package.xml for Dependency Management by @LihanChen2004 in #48 - Feature/init alignment by @LimHyungTae in #51
- Fix/inter session timestamp by @LimHyungTae in #52
New Contributors
- @kimdaebeom made their first contribution in #29
- @ewak made their first contribution in #31
- @LihanChen2004 made their first contribution in #48
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Fully supported by binding. But Mac env should be tested soon.
What's Changed
- Feature/pybind by @LimHyungTae in #19
- Filter NaN values before registration by @fdila in #16
- Fix/account nan by @LimHyungTae in #20
- Introducing an Auto-Comment Feature to Handle Inappropriate or Anonymous Interactions by @LimHyungTae in #21
- Feature/usability in backend by @LimHyungTae in #27
- Feature/prune and matching by @LimHyungTae in #28
New Contributors
Full Changelog: v0.1.1...v0.2.0
v0.1.1
What's Changed
- Fix LICENSE by @tizianoGuadagnino in #12
- Feature/enhance usability by @LimHyungTae in #15
New Contributors
- @tizianoGuadagnino made their first contribution in #12
- @LimHyungTae made their first contribution in #15
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Initial upload (C++ is now fully supported)!