Ouster-sdk

Latest version: v0.13.1

Safety actively analyzes 688053 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

1.12.0

=====================

Added
-----

* install directives for ``ouster_ros`` build (addresses 50)

Changed
-------

* flip the sign on IMU acceleration output to follow usual conventions
* increase the update rate in the visualizer to ~60hz

Fixed
-----

* visualizer issue where the point cloud would occasionally occasionally not be displayed using
newer versions of Eigen

1.11.0

=====================

Added
-----

* allow renaming tf ids using the ``tf_prefix`` parameter

Changed
-------

* use frame id to batch packets so client code deals with reordered lidar packets without splitting
frames
* use a uint32_t for PointOS1 timestamps to avoid unnecessary loss of precision

Fixed
-----

* bug causing ring and reflectivity to be corrupted in os1_cloud_node output
* misplaced sine in azimuth angle calculation (addresses 42)
* populate timestamps on image node output (addresses 39)

1.10.0

=====================

Added
-----

* ``os1_node`` now queries and uses calibrated beam angles from the sensor
* ``os1_node`` now queries and uses imu / lidar frames from the sensor
* ``os1_node`` reads and writes metadata to ``${ROS_HOME}`` to support replaying data with calibration
* ROS example code now publishes tf2 transforms for imu / lidar frames (addresses 12)
* added ``metadata`` parameter to ``os1.launch`` to override location of metadata
* added ``viz`` parameter to ``os1.launch`` to run the example visualizer with ROS
* added ``image`` parameter to ``os1.launch`` to publish image topics to rviz (addresses 21)
* added range field to ``PointOS1``

Changed
-------

* split point-cloud publishing out of ``os1_node`` into ``os1_cloud_node``
* example visualizer controls:

- press ``m`` to cycle through color modes instead of ``i``, ``z``, ``Z``, ``r``
- ``r`` now resets the camera position
- range/signal images automatically resized to fit window height

* updated OS-1 client to use newer TCP configuration commands
* updated OS-1 client to set the requested lidar mode, reinitialize on connection
* changed point cloud batching to be based on angle rather than scan duration
* ``ouster_client`` now depends on the ``jsoncpp`` library
* switched order of fields in ``PointOS1`` to be compatible with ``PointXYZI`` (addresses 16)
* moved example visualizer VTK rendering into the main thread (merged 23)
* the timestamp field of PointOS1 now represents time since the start of the scan (the timestamp of
the PointCloud2 message) in nanoseconds

Removed
-------

* removed keyboard camera controls in example visualizer
* removed panning and rotating of the image panel in example visualizer

Fixed
-----

* no longer dropping UDP packets in 2048 mode on tested hardware
* example visualizer:

- point cloud display focus no longer snaps back on rotation
- fixed clipping issues with parallel projection
- fixed point coloring issues in z-color mode
- improved visualizer performance

0.13.0

======================

ouster_osf
------------------------
* Add full index of both receive and sensor timestamps to metadata
* Speed up opening of OSF files with index

* OSF now saves alert flags, thermal countdown and status, shot limiting countdown and status from ``LidarScan``.
* [BUGFIX] Fix OSF being unable to load LidarScans containing only custom fields
* [BUGFIX] Fix OSF not flushed when the user pressed CTRL-C more than once
* [BUGFIX] Fix improper timestamps when saving OSF on MacOS(m-series) and Windows
* [BUGFIX] Fix an issue with destaggering images after modifying ``SensorInfo`` in an ``OsfScanSource``.
* [BUGFIX] Fix an issue loading extrinsics from OSF metadata into a ``SensorInfo`` in ``OsfScanSource``.
* [BREAKING] Remove ``ChunksLayout`` and ``ChunkRef`` from Python API.

ouster_client/Python SDK
------------------------

* Add support for reading and writing ROS1 and ROS2 bag files.
* Add new sensor client interface ``ouster::sensor::SensorClient`` which supports multiple sensors as well as multiple sensors and IMU data on the same port
* Add higher level sensor client interface ouster::sensor::SensorScanSource`` which produces ``LidarScan`` s from multiple sensors
* Add ``ouster.sdk.client.SensorPacketSource`` which receives packets from multiple sensors
* Add support for multiple sensors to ``ouster.sdk.sensor.SensorScanSource``
* Greatly reduced redundant HTTP API calls to the sensor during initialization
* Deserialize FLAGS fields in each profile by default
* Add support for IPv6 multicast
* Add ``field_names`` argument to each scan source and to ``open_source`` to specify which fields to decode
* Add metadata validation functionality
* Add vendored json library
* Improved multi sensor pcap reading
* Improve ``ScanBatcher`` to release ``LidarScan`` as soon as they are completed
* ``ScanBatcher`` now adds alert flags, thermal countdown, and shot limiting countdown to ``LidarScan``.
* Use index to speed up ``ouster-cli source .osf info``
* Use index to speed up slicing of indexed OSF sources when sliced immediately after the ``source`` command
* Add ``LidarScan.get_first_valid_column_timestamp()``
* Add ``crc`` and ``calculate_crc`` methods to ``ouster::sensor::packet_format`` for obtaining or calculating (respectively) the CRC64 of a packet.
* ``scan_to_packets`` now creates packets with alert flags, thermal countdown and status, shot limiting countdown and status, and CRC64.
* Add ``ouster::pose_util::dewarp`` C++ function to de-warp a ``LidarScan`` (similar to ``ouster.sdk.pose_util`` in the Python API.)
* Add a constructor ``LidarScan(const ouster::sensor::sensor_info&)``.
* Always use ``nonstd::optional`` instead of drop-in ``std::optional`` from https://github.com/martinmoene/optional-lite.git to reduce issues associated with mixing C++14 and C++17.
* Add ``w()`` and ``h()`` methods to ``sensor_info`` in C++ and ``w`` and ``h`` properties to ``SensorInfo`` in Python.
* [BUGFIX] fix automatic UDP dest for FW 2.3 sensors.


* [BREAKING] Remove ``ouster::make_xyz_lut(const ouster::sensor::sensor_info&)``. (Use ``make_xyz_lut(const sensor::sensor_info& sensor, bool use_extrinsics)`` instead.)
* [BREAKING] changed REFLECTIVITY channel field size to 8 bits. (Important - this makes the SDK incompatible with FW 2.0 and 2.1.)
* [BREAKING] Removed ``UDPPacketSource`` and ``BufferedUDPSource``.
* [BREAKING] Removed ``ouster.sdk.util.firmware_version(hostname)`` please use ``ouster.sdk.client.SensorHttp.create(hostname).firmware_version()`` instead
* [BREAKING] ``open_source`` no longer automatically finds and applies extrinsics from ``sensor_extrinsics.json`` files. Use the ``extrinsics`` argument instead to specify the path to the relevant extrinsics file instead.
* [BREAKING] Deprecated ``osf.Scans(...)`` for ``osf.OsfScanSource(...).single_source(0).
* [BREAKING] Deprecated ``client.Sensor(...)`` for ``client.SensorPacketSource(...).single_source(0).
* [BREAKING] Deprecated ``pcap.Pcap(...)`` for ``pcap.PcapMultiPacketReader(...).single_source(0).
* [BREAKING] Deprecated ``ScanBatcher::ScanBatcher(size_t, const packet_format&)`` for ``ScanBatcher::ScanBatcher(const sensor_info&)``.
* [FUTURE BREAKING] Removing all instances of jsoncpp's ``Json::Value`` from the public C++ API methods in favor of ``std::string``.

ouster_viz
----------

* ``LidarScanViz`` now supports multi-sensor datasets.
* Add Python callback registration methods for mouse button and scroll events from ``PointViz``.
* Add Python and C++ callback registration methods for frame buffer resize events.
* Add ``MouseButton``, ``MouseButtonEvent``, and ``EventModifierKeys`` enums.
* Add methods ``aspect_ratio``, ``normalized_coordinates``, and ``window_coordinates`` to ``viz::WindowCtx``.
* Add method ``window_coordinates_to_image_pixel`` to ``viz::Image``. (See ``viz_events_example.cpp`` for an example.)
* Add ``current_camera()`` method to ``PointViz``.
* [BREAKING] ``SimpleViz`` no longer accepts a ``ScansAccumulator`` instance and now accepts scan/map accumulation parameters as keyword args in its constructor.
* [BREAKING] ``ScansAccumulator`` is split into several different classes: ``ScansAccumulator``, ``MapAccumulator``, ``TracksAccumulator``, and ``LidarScanVizAccumulators``.
* [BREAKING] changed ``PointViz`` mouse button callback to fire for both mouse button press and release events.
* [BREAKING] changed ``PointViz`` mouse button callback signature to use the new enums.
* [BREAKING] removed ``bool update_on_input()`` and ``update_on_input(bool)`` methods from ``PointViz``.
* [BUGFIX] SimpleViz throws a 'generator already executing' exception.

ouster_cli
----------

* Add support for reading and writing ROS1 and ROS2 bag files.
* Add support for working with multi scan sources.
* Add ``--fields`` argument to ``ouster-cli source`` to specify which fields to decode.
* Add metadata validation utility.
* [BUGFIX] Program doesn't terminate immediately when pressing CTRL-C the first time when streaming from a live sensor.
* [BUGFIX] Fix some errors that appeared when running ``ouster-cli util benchmark``
* [BREAKING] ``source`` no longer automatically finds and applies extrinsics from ``sensor_extrinsics.json`` files. Use the ``-E`` argument instead to specify the path to the relevant extrinsics file instead.
* [BREAKING] Moved raw recording functionality for BAG and PCAP to ``ouster-cli source ... record_raw`` command.
* [BREAKING] CLI plugins now need to handle a list of Optional[LidarScan] instead of a single LidarScan to support multi sources.

mapping
-------

* Update KissICP version from 0.4.0 to 1.0.0.
* Add multi-sensor support.

0.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 with ``add_field`` and ``del_field``
* Added per-request timeout arguments to ``SensorHttp``
* Added sensor user_data to ``sensor_info/SensorInfo`` and metadata files
* Removed ``updated_metadata_string()`` and ``original_string()`` from ``sensor_info``
* Added ``to_json_string()`` to ``sensor_info`` to convert a ``sensor_info`` to a non-legacy
metadata JSON string
* Unified Python and C++ ``Packet`` and ``PacketFormat`` classes
* Added ``validate`` function to ``LidarPacket`` and ``ImuPacket`` 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`` to ``sensor_info/SensorInfo`` to retrieve parsed version information
* Add ``get_product_info`` to ``sensor_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 Python ``SensorInfo`` and ``name`` from C++ ``sensor_info``
* [BREAKING] Removed ``udp_port_lidar``, ``udp_port_imu`` and ``mode`` from C++ ``sensor_info``
* [BREAKING] Deprecated ``udp_port_lidar``, ``udp_port_imu`` and ``mode`` in Python ``SensorInfo``.
These fields now point to the equivalent fields inside of ``SensorInfo::config``.
* [BREAKING] Removed ``cols`` and ``frequency`` from ``LidarMode`` in Python
* [BREAKING] Deprecated data and ``capture_timestamp`` from Python ``Packet``
* [BREAKING] Removed methods from Python ``ImuPacket`` and ``LidarPacket`` classes that simply wrapped ``PacketFormat``
* [BREAKING] Removed ``begin()`` and ``end()`` iterators of ``LidarScan`` in C++
* [BREAKING] Remove deprecated package stubs added in previous 0.11 release.
* [BREAKING] Replaced integer backed ``ChanField`` enumerations with strings.
* [BREAKING] Removed ``CUSTOM0`` through ``CUSTOM9`` 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:
``--accum-map`` is now called ``--map`` and ``--accum-map-ratio`` is now called ``--map-ratio``.
* New ``--map-size`` argument to set the maximum number of points used when ``--map`` is specified.

* [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

0.11.1

===================

Important notes
---------------

* [BREAKING] the ``open_source`` method now returns a ``ScanSource`` by default, not a ``MultiScanSource``.

Python SDK
----------

* Updated the ``open_source`` documentation.
* Fixed an issue that caused the viz to redraw when the mouse cursor is moved.
* [BREAKING] The python slice ``[::]`` operator now returns a ``MultiScanSource`` / ``ScanSource``
instead of a ``List``. Thus, invoking a ``scan_source[x:x+n]`` yields a fully functional scan source
that is scoped to the range ``[x, x+n]``.
* [BREAKING] The python slice ``[::]`` operator no longer support negative step

ouster_client
-------------

* Improved the client initialization latency.

mapping
-------

* Fixed several issues with the documentation.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.