Skip to main content

dim_odom

Python bindings for dimSLAM: CuvslamOdometry wraps the cuVSLAM visual(-inertial) odometry front end, OdometryFusion the error-state Kalman filter that fuses odometry sources with an IMU. Everything runs in-process and on the caller's data stamps, so replaying a recording is deterministic.

import dim_odom

tracker = dim_odom.CuvslamOdometry(
    {"camera_mode": "stereo", "use_gpu": False},
    tf=lambda parent, child: ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 1.0)),
)
tracker.handle_camera_info(dim_odom.CameraModel(...))
estimate = tracker.handle_image(dim_odom.ImageFrame(...))

fusion = dim_odom.OdometryFusion({"odom_sources": [{"parent_frame_id": "odom", "child_frame_id": "base_link"}]})
if estimate is not None:
    fusion.handle_source(estimate)
fused = fusion.maybe_publish()

Transforms cross the boundary as ((x, y, z), (qx, qy, qz, qw)); the tf callable answers rigid-mount lookups (parent, child) with such a tuple or None.

The wheels bundle libcuvslam (open source) for each platform: macOS arm64 (CuMetal build; CPU tracking works with use_gpu: false), manylinux x86_64 (CUDA 13; tracking needs a GPU), and manylinux aarch64 (CUDA 13 Thor/JetPack 7 build). The Linux CUDA runtime comes from NVIDIA's nvidia-* wheels, declared as dependencies, since those libraries exceed PyPI's size limits. Configs are dicts mirroring the Rust CuvslamOdometryConfig and OdometryFusionConfig; absent keys take the defaults.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dim_odom-0.1.3-cp310-abi3-manylinux_2_35_x86_64.whl (85.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.35+ x86-64

dim_odom-0.1.3-cp310-abi3-manylinux_2_35_aarch64.whl (86.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.35+ ARM64

dim_odom-0.1.3-cp310-abi3-macosx_13_0_arm64.whl (7.0 MB view details)

Uploaded CPython 3.10+macOS 13.0+ ARM64

File details

Details for the file dim_odom-0.1.3-cp310-abi3-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.3-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 53d6fb19e2827c896aedce72ad8b029e6a86884d1888c262ad5c889dc1dedb29
MD5 b58c30461b7c8ad1934d9797e8b9a2a6
BLAKE2b-256 951dc981cc4128e35dc8ffeea02251b7d9eaeb6b22d610b84a5f5e52b6817fea

See more details on using hashes here.

File details

Details for the file dim_odom-0.1.3-cp310-abi3-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.3-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f279198a7c0fe8dd6ad49f78d5e41a0a66c3e16b1dde7ca0b8dcbe3dcec54a0f
MD5 77ebcbf592bc970c22e2e0f7a8e7ff18
BLAKE2b-256 f328a8c659779b5d8f656cda30f533a599acbfb10b849743c08e3259b38d98f1

See more details on using hashes here.

File details

Details for the file dim_odom-0.1.3-cp310-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.3-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 cb5451f52dda0d200f44e1b70db9035753761d506e9a42c35478d192b8536c99
MD5 5cd1e8069738ff903ecec798e32b2d53
BLAKE2b-256 edc9a42c69ac718f708462c406ae2d51277dec915380101f15caa2199fdd5ab6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.6

3 files

0.1.5

3 files

0.1.4

3 files

This release

0.1.3 This release

3 files

0.1.2

3 files

0.1.1

3 files

0.1.0

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page