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.6-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.6-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.6-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.6-cp310-abi3-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.6-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 bed5b6321389bdf62efcdff7f23bdc042da79827c784847c4c6e83c158fb671e
MD5 42bb443679256e635b750cb236fe430a
BLAKE2b-256 fee66da555e583bc0265423f46c7d0330c43969ee376f4bc4b73fb573d0caf1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dim_odom-0.1.6-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a4cbf0c8492391cc5ecc3bfc3e56d778f822e5e5360c8bec3b5265be16e44928
MD5 b7e0b2ba4f5bb1e44366479579cbabff
BLAKE2b-256 64753bdf84fdd781cc13aa33bb49c62f0c8a80f72551f8ce8c2b848e2afefee7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dim_odom-0.1.6-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5f2a0e540498f214518ad39e52f8feb7c10137986e6725a3a93583e33948f2dc
MD5 74664906ca7f3f7c94ddb851253b488b
BLAKE2b-256 9da5c330fe947784e161825de816fb4ad04e936a3735fbae497818352eebe00e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.6 This release

3 files

0.1.5

3 files

0.1.4

3 files

0.1.3

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