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

File metadata

File hashes

Hashes for dim_odom-0.1.4-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 e4ab02bad349dcb6ad8ab3c2208e6acfa192be75e2d8529a7804c3b6e57f389e
MD5 f29d1a96732259df94d207e5c537e964
BLAKE2b-256 9da908af6dd385985437d473362bd101fd5dddff989fdeb0381834edf89b8076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dim_odom-0.1.4-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 4d13000ab75dfb07ee3c78685e213ebfe96de9e8aa67dc6153a925dc1d451616
MD5 e662be0bda1a0885d4963b90aac9733f
BLAKE2b-256 b55f17fe8e8621f01f9e52baf596a5992ed0bff8b109fc820a5fa1e1137f9277

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dim_odom-0.1.4-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 47af0364f37f29901bf566a3e604ec453871a160a095e63ca9c5dd49bc5b6897
MD5 16f31a1066eb9613cbcddfed03c2d394
BLAKE2b-256 65b2d84ddfa92d7425649d8c5cfe10bb41a64fff0a39074ded4983cd7b7345c8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.6

3 files

0.1.5

3 files

This release

0.1.4 This release

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