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.2-cp310-abi3-manylinux_2_39_x86_64.whl (85.6 MB view details)

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

dim_odom-0.1.2-cp310-abi3-manylinux_2_39_aarch64.whl (86.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.39+ ARM64

dim_odom-0.1.2-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.2-cp310-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.2-cp310-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a8610894525111d36c9875138e7294cdfef0d6cf1d95e05a36d4f430c10e0cb8
MD5 9c784b2bad659d1a042c6e3000d3a35c
BLAKE2b-256 5e6af4f9e17e483e6f5c6a7c6ec266d19947eb9cc0777845d1e1389609c5d468

See more details on using hashes here.

File details

Details for the file dim_odom-0.1.2-cp310-abi3-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for dim_odom-0.1.2-cp310-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 5b495c3a444877d575a9af5e4ad46498e2869dd5a397958d4aee09c3f14cafc6
MD5 2fc7036d3ff74050e69e130f3d043b79
BLAKE2b-256 b4daff2710453031cb254efc8a1efd0a2b41c60f69a5ff77945332baa1e17ee0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dim_odom-0.1.2-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 045b5429d515e3700c57a953a273939cd994a9c9f5135e4e8334d0607fac9576
MD5 4b38771b2454e125ffafee57a2915ef7
BLAKE2b-256 8f66d94e052e756f93c80e2b045d5ae5878bea2749376a0f6d29339cf69da1df

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

0.1.3

3 files

This release

0.1.2 This release

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