Module ouster.sdk.client
Warning
Deprecated since version 0.15.0 Namespace ouster.sdk.client is deprecated. Use ouster.sdk.core and ouster.sdk.sensor instead. Namespace ouster.sdk.client will be removed in the upcoming release.
Copyright (c) 2021, Ouster, Inc. All rights reserved.
Python sensor client
Core
- exception ClientError
- exception ClientTimeout
- exception ClientOverflow
Warning
Deprecated since version 0.15.0
Above exceptions have been be moved to ouster.sdk.sensor
.
They will be removed from ouster.sdk.client
in a future release.
- class PacketSource
Bases:
pybind11_object
PacketSource is a base class for reading packet data from various sources.
- sensor_info
Metadata about the sensors providing the packets.
- Type:
List[SensorInfo]
- is_live
Indicates whether the packet source is live (actively receiving data).
- Type:
bool
- close()
Closes the packet source and releases any associated resources.
- __iter__()
Returns an iterator over the packets in the source.
- property is_live
Check if the packet source is live.
- property sensor_info
Retrieve sensor information for all sensors in the packet source.
- Returns:
A list of SensorInfo objects, each containing metadata about a sensor, such as serial number, firmware version, and calibration details.
- class Packets(it, metadata)[source]
Create a
PacketSource
from an existing iterator.- Parameters:
it (
Iterable
[Union
[LidarPacket
,ImuPacket
]]) – A stream of packetsmetadata (
SensorInfo
) – Metadata for the packet stream
- property sensor_info: List[SensorInfo]
Retrieve sensor information for all sensors in the packet source.
- Returns:
A list of SensorInfo objects, each containing metadata about a sensor, such as serial number, firmware version, and calibration details.
- __iter__()[source]
Return the underlying iterator.
- Return type:
Iterator
[Tuple
[int
,Union
[LidarPacket
,ImuPacket
]]]
- property is_live: bool
Check if the packet source is live.
Warning
Deprecated since version 0.15.0
Sensor
has been be moved to ouster.sdk.sensor
.
It will be removed from ouster.sdk.client
in a future release.
- class Scans(source, *, complete=False, cycle=False, fields=None, **_)[source]
Multi LidarScan source.
- Parameters:
source (
PacketSource
) – packet multi sourcecomplete (
bool
) – set to True to only release complete scanscycle (
bool
) – repeat infinitely after iteration is finished is True. in case source refers to a live sensor then this parameter has no effect.fields (
Optional
[List
[List
[FieldType
]]]) – specify which channel fields to populate on LidarScans
- property sensor_info: List[SensorInfo]
Retrieve sensor information for all sensors in the scan source.
- Returns:
A list of SensorInfo objects, each containing metadata about a sensor, such as serial number, firmware version, and calibration details.
- property is_live: bool
Check if the scan source is live.
A live scan source indicates that it is actively receiving data from a sensor.
- Returns:
True if the scan source is live, False otherwise.
- Return type:
bool
Metadata
- class SensorInfo
Sensor Info required to interpret UDP data streams.
See the sensor documentation for the meaning of each property.
Construct an empty metadata.
- Parameters:
s (str) – json string to parse
- property beam_altitude_angles
Beam altitude angles, useful for XYZ projection.
- property beam_azimuth_angles
Beam azimuth angles, useful for XYZ projection.
- property beam_to_lidar_transform
Homogenous transformation matrix reprsenting Beam to Lidar Transform
- property build_date
Build date
- property cal
sensor calibration
- property config
sensor config
- property extrinsic
Extrinsic Matrix.
- property format
Describes the structure of a lidar packet. See class DataFormat.
- static from_default()
Create gen-1 OS-1-64 SensorInfo populated with design values.
- property fw_rev
Sensor firmware revision.
- get_product_info()
Get parsed product info
- get_version()
Get parsed sensor version
- property h
returns the height of a frame (equivalent to format.pixels_per_column)
- has_fields_equal()
Compare public fields”
- property image_rev
Image rev
- property imu_to_sensor_transform
Homogenous transformation matrix representing IMU offset to Sensor Coordinate Frame.
- property init_id
Initialization id.
- property lidar_origin_to_beam_origin_mm
Distance between lidar origin and beam origin in millimeters.
- property lidar_to_sensor_transform
Homogeneous transformation matrix from Lidar Coordinate Frame to Sensor Coordinate Frame.
- property prod_line
Product line, e.g., ‘OS-1-128’.
- property prod_pn
Prod pn
- property sn
Sensor serial number.
- property status
sensor status
- to_json_string()
Return metadata string made from current entries”
- property user_data
sensor user data
- property w
returns the width of a frame (equivalent to format.columns_per_frame)
- class DataFormat
Data Format of a packet coming from sensor
See sensor documentation for the meaning of each property
- property column_window
Firing window of sensor, set by config.azimuth_window
- Type:
Tuple[int, int]
- property columns_per_frame
Columns per frame in the lidar packet, corresponding with lidar_mode
- Type:
int
- property columns_per_packet
Columns per packet in the lidar packet, typically 16
- Type:
int
- property fps
Frames per second, e.g., 10 for lidar_mode 1024x10
- Type:
int
- packets_per_frame()
Return the number of valid packets actually sent per frame of data with the column_window applied.
- property pixel_shift_by_row
Shift of pixels by row to create natural images
- Type:
List[int]
- property pixels_per_column
Pixels per column in the lidar packet, synonymous with the number of beams of the sensor
- Type:
int
- property udp_profile_imu
IMU packet profile
- property udp_profile_lidar
Lidar packet profile
- valid_columns_per_frame()
Return the number of valid columns per complete frame of data with the column_window applied.
- class SensorConfig
Corresponds to sensor config parameters.
Please see sensor documentation for the meaning of each property.
Construct an empty SensorConfig. Construct a SensorConfig from a json string.
- Args:
s (str): json string to parse
- property accel_fsr
The accelerometer full scale measurement range to use. See sensor documentation for details.
- property azimuth_window
Tuple representing the visible region of interest of the sensor in millidegrees, .e.g., (0, 360000) for full visibility.
- property columns_per_packet
Measurement blocks per UDP packet. See sensor documentation for details.
- property extra_options
Extra configuration options on the sensor. Each value should be stringized json.
- property gyro_fsr
The gyro full scale measurement range to use. See sensor documentation for details.
- property lidar_mode
Horizontal and Vertical Resolution rate of sensor as mode, e.g., 1024x10. See class LidarMode.
- property min_range_threshold_cm
The minimum detection range of the sensor in cm. See sensor documentation for details.
- property multipurpose_io_mode
Mode of MULTIPURPOSE_IO pin. See class MultipurposeIOMode.
- property nmea_baud_rate
Expected baud rate sensor attempts to decode for NMEA UART input $GPRMC messages.
- property nmea_ignore_valid_char
NMEA Ignore Valid Char. True corresponds to 1 and False to 0 for property; see sensor documentation for details.
- property nmea_in_polarity
Polarity of NMEA UART input $GPRMC messages. See sensor documentation for details.
- property nmea_leap_seconds
Integer number of leap seconds that will be added to the UDP timetsamp when calculating seconds since Unix Epoch time. See sensor documentation for details.
- property operating_mode
Operating Mode of sensor. See class OperatingMode.
- property phase_lock_enable
Enable phase lock. See sensor documentation for more details.
- property phase_lock_offset
Angle in Lidar Coordinate Frame that sensors are locked to, in millidegrees. See sensor documentation for details.
- property return_order
The priority of sensor returns to output. See sensor documentation for details.
- property signal_multiplier
Multiplier for signal strength of sensor, corresponding to maximum allowable azimuth_window. Gen 2 Only.
- property sync_pulse_in_polarity
Polarity of SYNC_PULSE_IN pin. See sensor documentation for details.
- property sync_pulse_out_angle
Polarity of SYNC_PULSE_OUT output. See sensor documentation for details.
- property sync_pulse_out_frequency
SYNC_PULSE_OUT rate. See sensor documentation for details.
- property sync_pulse_out_polarity
Polarity of SYNC_PULSE_OUT output. See sensor documentation for details.
- property sync_pulse_out_pulse_width
SYNC_PULSE_OUT pulse width in ms. See sensor documentation for details.
- property timestamp_mode
Timestamp mode of sensor. See class TimestampMode.
- property udp_dest
Destination to which sensor sends UDP traffic.
- property udp_port_imu
Port on UDP destination to which IMU data will be sent.
- property udp_port_lidar
Port on UDP destination to which lidar data will be sent.
- property udp_profile_imu
UDP packet format for imu data. See sensor documentation for details.
- property udp_profile_lidar
UDP packet format for lidar data. See sensor documentation for details.
- get_config()
Returns sensor config parameters as SensorConfig.
- Parameters:
hostname (str) – hostname of the sensor
active (bool) – return active or staged sensor configuration
Warning
Deprecated since version 0.15.0
get_config
has been be moved to ouster.sdk.sensor
.
It will be removed from ouster.sdk.client
in a future release.
- set_config()
Set sensor config parameters on sensor.
- Parameters:
hostname (str) – hostname of the sensor
config (SensorConfig) – config to set sensor parameters to
persist (bool) – persist parameters after sensor disconnection (default = False)
udp_dest_auto (bool) – automatically determine sender’s IP at the time command was sent and set it as destination of UDP traffic. Function will error out if config has udp_dest member. (default = False)
force_reinit (bool) – forces the sensor to re-init during set_config even when config params have not changed. (default = False)
Warning
Deprecated since version 0.15.0
get_config
has been be moved to ouster.sdk.sensor
.
It will be removed from ouster.sdk.client
in a future release.
- class LidarMode
Possible Lidar Modes of sensor.
Determines to horizontal and vertical resolution rates of sensor. See sensor documentation for details.
Members:
MODE_UNKNOWN
MODE_512x10
MODE_512x20
MODE_1024x10
MODE_1024x20
MODE_2048x10
MODE_4096x5
MODE_UNSPEC
- MODE_1024x10 = <LidarMode.MODE_1024x10: 3>
- MODE_1024x20 = <LidarMode.MODE_1024x20: 4>
- MODE_2048x10 = <LidarMode.MODE_2048x10: 5>
- MODE_4096x5 = <LidarMode.MODE_4096x5: 6>
- MODE_512x10 = <LidarMode.MODE_512x10: 1>
- MODE_512x20 = <LidarMode.MODE_512x20: 2>
- MODE_UNKNOWN = <LidarMode.MODE_UNKNOWN: 0>
- MODE_UNSPEC = <LidarMode.MODE_UNKNOWN: 0>
- from_string()
Create LidarMode from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class TimestampMode
Possible Timestamp modes of sensor.
See sensor documentation for details.
Members:
UNKNOWN
TIME_FROM_INTERNAL_OSC
TIME_FROM_SYNC_PULSE_IN
TIME_FROM_PTP_1588
TIME_FROM_UNSPEC
- TIME_FROM_INTERNAL_OSC = <TimestampMode.TIME_FROM_INTERNAL_OSC: 1>
- TIME_FROM_PTP_1588 = <TimestampMode.TIME_FROM_PTP_1588: 3>
- TIME_FROM_SYNC_PULSE_IN = <TimestampMode.TIME_FROM_SYNC_PULSE_IN: 2>
- TIME_FROM_UNSPEC = <TimestampMode.UNKNOWN: 0>
- UNKNOWN = <TimestampMode.UNKNOWN: 0>
- from_string()
Create TimestampMode from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class OperatingMode
Possible Operating modes of sensor.
See sensor documentation for details.
Members:
OPERATING_NORMAL
OPERATING_STANDBY
- OPERATING_NORMAL = <OperatingMode.OPERATING_NORMAL: 1>
- OPERATING_STANDBY = <OperatingMode.OPERATING_STANDBY: 2>
- static from_string()
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class MultipurposeIOMode
Mode of MULTIPURPOSE_IO pin.
See sensor documentation for details.
Members:
MULTIPURPOSE_OFF
MULTIPURPOSE_INPUT_NMEA_UART
MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC
MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN
MULTIPURPOSE_OUTPUT_FROM_PTP_1588
MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE
- MULTIPURPOSE_INPUT_NMEA_UART = <MultipurposeIOMode.MULTIPURPOSE_INPUT_NMEA_UART: 2>
- MULTIPURPOSE_OFF = <MultipurposeIOMode.MULTIPURPOSE_OFF: 1>
- MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE = <MultipurposeIOMode.MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE: 6>
- MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC = <MultipurposeIOMode.MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC: 3>
- MULTIPURPOSE_OUTPUT_FROM_PTP_1588 = <MultipurposeIOMode.MULTIPURPOSE_OUTPUT_FROM_PTP_1588: 5>
- MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN = <MultipurposeIOMode.MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN: 4>
- static from_string()
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class Polarity
Pulse Polarity.
Applicable to several Polarity settings on sensor.
Members:
POLARITY_ACTIVE_LOW
POLARITY_ACTIVE_HIGH
- POLARITY_ACTIVE_HIGH = <Polarity.POLARITY_ACTIVE_HIGH: 2>
- POLARITY_ACTIVE_LOW = <Polarity.POLARITY_ACTIVE_LOW: 1>
- static from_string()
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class NMEABaudRate
Expected baud rate sensor attempts to decode for NMEA UART input $GPRMC messages.
Members:
BAUD_9600
BAUD_115200
- BAUD_115200 = <NMEABaudRate.BAUD_115200: 2>
- BAUD_9600 = <NMEABaudRate.BAUD_9600: 1>
- static from_string()
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- class UDPProfileLidar
UDP lidar profile.
Members:
PROFILE_LIDAR_UNKNOWN
PROFILE_LIDAR_LEGACY
PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL
PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16
PROFILE_LIDAR_RNG15_RFL8_NIR8
PROFILE_LIDAR_FIVE_WORD_PIXEL
PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL
- PROFILE_LIDAR_FIVE_WORD_PIXEL = <UDPProfileLidar.PROFILE_LIDAR_FIVE_WORD_PIXEL: 5>
- PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL = <UDPProfileLidar.PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL: 6>
- PROFILE_LIDAR_LEGACY = <UDPProfileLidar.PROFILE_LIDAR_LEGACY: 1>
- PROFILE_LIDAR_RNG15_RFL8_NIR8 = <UDPProfileLidar.PROFILE_LIDAR_RNG15_RFL8_NIR8: 4>
- PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16 = <UDPProfileLidar.PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16: 3>
- PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL = <UDPProfileLidar.PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL: 2>
- PROFILE_LIDAR_UNKNOWN = <UDPProfileLidar.PROFILE_LIDAR_UNKNOWN: 0>
- from_string()
Create UDPProfileLidar from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
- parse_and_validate_metadata()
Parse and validate sensor metadata
- Parameters:
metadata (str) – The metadata json to parse and validate.
- Returns:
- The list of issues that were encountered
and the parsed SensorInfo
- Return type:
returns (ValidatorIssues, SensorInfo)
- class ValidatorIssues
- property critical
Critical validator issues.
- property information
Information validator issues
- property warning
Warning validator issues.
- class ValidatorEntry
- get_msg()
Get the message of the ValidatorEntry
- Returns:
returns the message of the ValidatorEntry
- get_path()
Get the entry path to the issue.
- Returns:
returns the entry path to the issue.
- class ProductInfo
- property beam_config
The beam configuration of the product..
- Type:
string
- property beam_count
Number of beams
- Type:
int
- property form_factor
The form factor of the product.
- Type:
string
- property full_product_info
The original full product info string.
- Type:
string
- property short_range
If the product is a short range make.
- Type:
bool
Data
- BufferT
alias of
Union
[bytes
,bytearray
,memoryview
,ndarray
]
- Packet = <class 'ouster.sdk._bindings.client.Packet'>
- class ImuPacket
- class LidarPacket
- class ChanField[source]
- RANGE = 'RANGE'
- RANGE2 = 'RANGE2'
- SIGNAL = 'SIGNAL'
- SIGNAL2 = 'SIGNAL2'
- REFLECTIVITY = 'REFLECTIVITY'
- REFLECTIVITY2 = 'REFLECTIVITY2'
- NEAR_IR = 'NEAR_IR'
- FLAGS = 'FLAGS'
- FLAGS2 = 'FLAGS2'
- RAW_HEADERS = 'RAW_HEADERS'
- RAW32_WORD1 = 'RAW32_WORD1'
- RAW32_WORD2 = 'RAW32_WORD2'
- RAW32_WORD3 = 'RAW32_WORD3'
- RAW32_WORD4 = 'RAW32_WORD4'
- RAW32_WORD5 = 'RAW32_WORD5'
- RAW32_WORD6 = 'RAW32_WORD6'
- RAW32_WORD7 = 'RAW32_WORD7'
- RAW32_WORD8 = 'RAW32_WORD8'
- RAW32_WORD9 = 'RAW32_WORD9'
- class ColHeader(value)[source]
Column headers available in lidar data.
This definition is deprecated.
- TIMESTAMP = 0
- ENCODER_COUNT = 1
- MEASUREMENT_ID = 2
- STATUS = 3
- FRAME_ID = 4
- class LidarScan
Represents a single “scan” or “frame” of lidar data.
This is a “struct of arrays” representation of lidar data. Column headers are stored as contiguous W element arrays, while fields are WxH arrays. Channel fields are staggered, so the ith column header value corresponds to the ith column of data in each field.
Default constructor creates a 0 x 0 scan
- Parameters:
height – height of scan
width – width of scan
- Returns:
New LidarScan of 0x0 expecting fields of the LEGACY profile
Initialize a scan with the default fields for a particular udp profile
- Parameters:
height – height of LidarScan, i.e., number of channels
width – width of LidarScan
profile – udp profile
- Returns:
New LidarScan of specified dimensions expecting fields of specified profile
Initialize a scan with a custom set of fields
- Parameters:
height – height of LidarScan, i.e., number of channels
width – width of LidarScan
field_types – list of FieldType that specifies which fields should be present in the scan
- Returns:
New LidarScan of specified dimensions expecting fields specified by dict
Initialize a scan with defaults fields and size for a given sensor_info
- Parameters:
sensor_info – SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
Initialize a scan with defaults fields and size for a given sensor_info
- Parameters:
sensor_info – SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
Initialize a scan with defaults fields and size for a given sensor_info with only the specified fields
- Parameters:
sensor_info – SensorInfo to construct a scan for
field_types – list of fields to have in the new scan where keys are ChanFields and values are type, e.g., FieldType(client.ChanField.SIGNAL, np.uint32)
- Returns:
New LidarScan approprate for the sensor_info
Initialize a lidar scan from another with only the indicated fields. Casts, zero pads or removes fields from the original scan if necessary.
- Parameters:
source – LidarScan to copy data from
field_types – list of fields to have in the new scan where keys are ChanFields and values are type, e.g., FieldType(client.ChanField.SIGNAL, np.uint32)
- Returns:
New LidarScan with selected data copied over or zero padded
Initialize a lidar scan with a copy of the data from another.
- Parameters:
source – LidarScan to copy
- Returns:
New LidarScan with data copied over from provided scan.
- add_field()
Adds a new field under specified name
- Parameters:
name – name of the field to add
shape – tuple of ints, shape of the field to add
dtype – dtype of field to add, e.g. np.uint32
field_class – class of the field to add, see field_class
- Returns:
The field as a numpy array
Adds a new field under specified name and type
- Parameters:
type – FieldType of the field to add
- Returns:
The field as a numpy array
Adds a new field under the specified name, with the given contents. IMPORTANT: this will deep copy the supplied data.
- Parameters:
name – the name of the new field
data – the contents of the new field
field_class – class of the field to add, see field_class
- Returns:
The field as a numpy array.
- property alert_flags
The alert flags header as a numpy array with W/columns-per-packet entries.
- del_field()
Release a field from the LidarScan and return it to the user
- Parameters:
name – name of the field to drop
- Returns:
The specified field as a numpy array
- field()
Return a view of the specified channel field.
- Parameters:
name – name of the field to return
- Returns:
The specified field as a numpy array
- field_class()
Retrieve FieldClass of field
- Parameters:
name – name of the field
- Returns:
FieldClass of the field
- property field_types
Return an list of available fields.
- property fields
Return an list of available fields.
- property frame_id
Corresponds to the frame id header in the packet format.
- property frame_status
Information from the packet header which corresponds to a frame.
- get_first_valid_column()
Return first valid column index in the scan.
- get_first_valid_column_timestamp()
Return first valid column timestamp in the scan.
- get_first_valid_packet_timestamp()
Return first valid packet timestamp in the scan.
- get_last_valid_column()
Return last valid column index in the scan.
- get_last_valid_column_timestamp()
Return last valid column timestamp in the scan.
- get_last_valid_packet_timestamp()
Return last valid packet timestamp in the scan.
- property h
Height or vertical resolution of the scan.
- has_field()
Returns true if the LidarScan has a field with the given name
- Parameters:
name – name of the field to check for
- Returns:
True if the field exists in the scan, false otherwise
Check if a field with a given name exists in the LidarScan.
- Parameters:
name – name of the field
- Returns:
True if the field is present in the LidarScan.
- property measurement_id
The measurement id header as a W-element numpy array.
- property packet_count
The number of packets used to produce a full scan given the width in pixels and the number of columns per packet.
- property packet_timestamp
The host timestamp header as a numpy array with W/columns-per-packet entries.
- property pose
The pose vector of 4x4 homogeneous matrices (per each timestamp).
- property sensor_info
The SensorInfo associated with this LidarScan.
- shot_limiting()
The frame shot limiting status.
- property shot_limiting_countdown
Shot-limiting countdown. Please refer to the firmware documentation for more information.
- property shutdown_countdown
Thermal shutdown countdown. Please refer to the firmware documentation for more information.
- property status
The measurement status header as a W-element numpy array.
- thermal_shutdown()
The frame thermal shutdown status.
- property timestamp
The measurement timestamp header as a W-element numpy array.
- property w
Width or horizontal resolution of the scan.
- XYZLut(info, use_extrinsics=False)[source]
Return a function that can project scans into Cartesian coordinates.
If called with a numpy array representing a range image, the range image must be in “staggered” form, where each column corresponds to a single measurement block. LidarScan fields are always staggered.
Internally, this will pre-compute a lookup table using the supplied intrinsic parameters. XYZ points are returned as a H x W x 3 array of doubles, where H is the number of beams and W is the horizontal resolution of the scan.
The coordinates are reported in meters in the sensor frame (when
use_extrinsics
is False, default) as defined in the sensor documentation.However, the result is returned in the “extrinsics frame” if
use_extrinsics
is True, which makes additional transform from “sensor frame” to “extrinsics frame” using the homogeneous 4x4 transform matrix frominfo.extrinsic
property.- Parameters:
info (
SensorInfo
) – sensor metadatause_extrinsics (
bool
) – if True, applies theinfo.extrinsic
transform to the resulting “sensor frame” coordinates and returns the result in “extrinsics frame”.
- Return type:
Callable
[[Union
[LidarScan
,ndarray
]],ndarray
]- Returns:
A function that computes a point cloud given a range image
- destagger(info, fields, inverse=False)[source]
Return a destaggered copy of the provided fields.
In the default staggered representation, each column corresponds to a single timestamp. A destaggered representation compensates for the azimuth offset of each beam, returning columns that correspond to a single azimuth angle.
- Parameters:
info (
SensorInfo
) – Sensor metadata associated with the provided datafields (
ndarray
) – A numpy array of shape H X W or H X W X Ninverse – perform inverse “staggering” operation
- Return type:
ndarray
- Returns:
A destaggered numpy array of the same shape