OusterSDK + Ouster CLI 2024 Q2 Release
Latest 20240703 / Python Ouster SDK v0.12.0
Important: ouster-sdk installed from pypi now requires glibc >= 2.28.
ouster_client/Python SDK
-
Add support for adding custom fields to
LidarScan
s withadd_field
anddel_field
-
Added per-request timeout arguments to
SensorHttp
-
Added sensor user_data to
sensor_info/SensorInfo
and metadata files -
Removed
updated_metadata_string()
andoriginal_string()
fromsensor_info
-
Added
to_json_string()
tosensor_info
to convert asensor_info
to a non-legacy
metadata JSON string -
Unified Python and C++
Packet
andPacketFormat
classes -
Added
validate
function toLidarPacket
andImuPacket
to check for ID and size mismatches -
[BREAKING] LidarScan's width and height have been switched to size_t from ptrdiff_t in C++
-
Refactor metadata parsing
-
Add
get_version
tosensor_info/SensorInfo
to retrieve parsed version information -
Add
get_product_info
tosensor_info/SensorInfo
to retrieve parsed lidar model information -
Raise an exception rather than throw an unrelated error when multiple viable metadata files are found for a given PCAP
-
Add ability to slice a scan source, returning a new sliced ScanSource
-
[BREAKING] Removed
hostname
in PythonSensorInfo
andname
from C++sensor_info
-
[BREAKING] Removed
udp_port_lidar
,udp_port_imu
andmode
from C++sensor_info
-
[BREAKING] Deprecated
udp_port_lidar
,udp_port_imu
andmode
in PythonSensorInfo
.
These fields now point to the equivalent fields inside ofSensorInfo::config
. -
[BREAKING] Removed
cols
andfrequency
fromLidarMode
in Python -
[BREAKING] Deprecated
data
andcapture_timestamp
from PythonPacket
-
[BREAKING] Removed methods from Python
ImuPacket
andLidarPacket
classes that simply wrappedPacketFormat
-
[BREAKING] Removed
begin()
andend()
iterators ofLidarScan
in C++ -
[BREAKING] Remove deprecated package stubs added in previous 0.11 release.
-
[BREAKING] Replaced integer backed
ChanField
enumerations with strings. -
[BREAKING] Removed
CUSTOM0
throughCUSTOM9
ChanField enumerations. -
[BREAKING] Extra fields in sensor metadata are now ignored and discarded if saved from the resulting
sensor_info/SensorInfo
-
[BUGFIX] Prevent last scan from being emitted twice for PCAP
-
[BUGFIX] Fix corrupted packets due to poor handling of fragmented packet drop in PCAPs
-
[BUGFIX] Fix possible crash when working with custom UDPProfileLidars
ouster_viz
-
Support viewing custom
LidarScan
fields in viz -
Support viewing custom
LidarScan
3 channel fields in viz as RGB -
[BUGFIX] Prevent OpenBLAS from using high amounts of CPU spin waiting
ouster_osf
-
Support saving custom
LidarScan
fields to OSF files -
[BREAKING] OsfWriter now takes in an optional list of fields to save rather than a list of fields and ChanFieldTypes to cast to
ouster-cli
-
Added support for slicing using time to
ouster-cli source ... slice
-
Add sensor
ouster-cli source ... userdata
command to set and retrieve userdata on a sensor -
Add chainable
ouster-cli source ... stats
command -
Add chainable
ouster-cli source ... clip
command to discard points outside a provided range -
Add
--rate max
option to ``ouster-cli source ... viz``` -
Improve argument naming and descriptions for
ouster-cli source ... viz
map and accum options -
[BUGFIX] Prevent dropped frames from live sensors by consuming scans as fast as they come in rather than sleeping
mapping
- Move mapping into the sdk as
ouster.sdk.mapping
- Better handle looping while mapping
- Improve automatic downsample voxel size calculation
other
- Updated VCPKG libraries to 2024.04.26
Known issues
- ouster-cli discover may not provide info for sensors using IPv6 link-local
networks on Python 3.8 or with older versions of zeroconf. - ouster-cli when combining
slice
command withviz
the program will
exit once iterate over the selected range of scans even when
the--on-eof
option is set toloop
.- workaround: to have
viz
loop over the selected range, first perform a
slice
withsave
, then playback the generated file.
- workaround: to have
Contributors
@akatumalla-ouster, Alekhya Katumalla
@chrisbayruns, Chris Bayruns
@yhao10, Hao Yuan
@kairenw, Kai Wong
@kkaly, Karthik Kalyanaraman
@matt-attack, Matthew Bries
@mtswisher, Michael Swisher
@bexcite, Pavlo Bashmakov
@celentes, Tim Talashok
@twslankard, Tom Slankard
@Samahu, Ussama Naal
Acknowledgements
The Ouster SDK team is a small team, and we couldn't do what we do without dozens of tools and libraries produced by the open source community! We'd like to thank the folks contributing to libtins, kiss-icp, zeroconf, numpy, scipy, jsoncpp, eigen3, zlib, libpng, libcurl, Pillow, and the Pallets Project. Ouster SDK is also proudly developed on the Linux kernel with GNU tools. If your open source contribution is not mentioned here and you believe you should be acknowledged, please contact @twslankard, who will try to keep this list up to date.
Public domain photo by Alan Kyker