Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version jazzy-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version kilted-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version lyrical-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version rolling-devel
Last Updated 2026-10-02
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.21.1
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version foxy-devel
Last Updated 2023-04-09
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.21.5
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version iron-devel
Last Updated 2024-07-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.23.13
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version humble-devel
Last Updated 2026-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe

rtabmap_python

Python helpers for reading and writing the binary formats RTAB-Map uses.

RTAB-Map is a C++ library, and the data it hands to ROS is not always plain ROS types. Several rtabmap_msgs fields — and every blob in an .db database — carry a matrix in RTAB-Map’s own compressed encoding rather than as a sensor_msgs/Image or an array. This package is the Python side of that encoding, for scripts that read those fields without going through the C++ library.

There are no nodes here. It is an ament_python package that installs one importable module.

Contents

Module

rtabmap_python.cv_compression — a single-channel cv::Mat to and from bytes.

Function Description
compress(data) 1-D or 2-D numpy array → bytearray.
uncompress(data) those bytes → 2-D numpy array.
import numpy as np
from rtabmap_python.cv_compression import compress, uncompress

scan = np.zeros((360, 2), dtype=np.float32)
blob = compress(scan)          # what the message field carries
restored = uncompress(blob)    # (360, 2) float32

The encoding is a zlib stream followed by a 12-byte trailer holding rows, cols and the element type as three int32. It matches compressData() and uncompressData() in RTAB-Map’s corelib/src/Compression.cpp byte for byte, so either side can read what the other wrote. The module docstring has the exact layout, and the generated Python API reference renders it alongside the two functions.

Things worth knowing

The result is read-only. uncompress views the decompressed buffer instead of copying it, so the array it returns has writeable=False and assigning into it raises. Call .copy() if you need to modify it.

Single-channel only. The C++ encoder packs the channel count into the type code; the tables here cover the single-channel depths CV_8U through CV_64F. A multi-channel matrix written by the C++ side raises KeyError rather than decoding wrongly. So does an unsupported dtype on the way in — int64 and float16 have no encoding.

The trailer is host-endian, because the C++ side writes raw ints. A blob is not portable between machines of opposite endianness.

License

BSD-3-Clause. See the repository root.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange

Package Summary

Version 0.21.13
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/introlab/rtabmap_ros.git
VCS Type git
VCS Version noetic-devel
Last Updated 2025-04-27
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RTAB-Map's python package.

Additional Links

Maintainers

  • Mathieu Labbe

Authors

  • Mathieu Labbe
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rtabmap_ros

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rtabmap_python at Robotics Stack Exchange