ouster.sdk.core
Module contents
Copyright (c) 2021, Ouster, Inc. All rights reserved.
Core namespace provides core classes, functions, and utilities for working with Ouster lidar sensor data in Python. It covers packet and scan handling, data transformations, and various helpers for processing and managing lidar data.
ouster.sdk.core.clipped_scan_source
- class ClippedScanSource(scan_source, fields, lower, upper)[source]
Bases:
ScanSourcelimits the values of the specified set of fields to within the range = [lower, upper], any value that exceeds this range is replaced by zero.
- 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
- property is_indexed: bool
- property scans_num: List[int]
ouster.sdk.core.core
Copyright (c) 2021, Ouster, Inc. All rights reserved.
This module contains wrappers for packet sources, frame borders, and pose validation. Defines how to read packets, manage frames, and check pose validity.
- class Packets(it, metadata)[source]
Bases:
PacketSourceCreate a
PacketSourcefrom an existing iterator.- Parameters:
it (
Iterable[Union[LidarPacket,ImuPacket,ZonePacket]]) – 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.
- property is_live: bool
Check if the packet source is live.
- class FrameBorder(meta, pred=<function FrameBorder.<lambda>>)[source]
Bases:
objectCreate callable helper that indicates the cross frames packets.
- first_valid_column_pose(scan)[source]
Return first valid column pose of a LidarScan
- Return type:
ndarray
- last_valid_column_pose(scan)[source]
Return last valid column pose of a LidarScan
- Return type:
ndarray
ouster.sdk.core.data
Copyright (c) 2021, Ouster, Inc. All rights reserved.
- BufferT
Types that support the buffer protocol.
alias of
Union[bytes,bytearray,memoryview,ndarray]
- class ChanField[source]
Bases:
object- RANGE = 'RANGE'
- RANGE2 = 'RANGE2'
- SIGNAL = 'SIGNAL'
- SIGNAL2 = 'SIGNAL2'
- REFLECTIVITY = 'REFLECTIVITY'
- REFLECTIVITY2 = 'REFLECTIVITY2'
- NEAR_IR = 'NEAR_IR'
- FLAGS = 'FLAGS'
- FLAGS2 = 'FLAGS2'
- WINDOW = 'WINDOW'
- ZONE = 'ZONE'
- 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'
- NORMALS = 'NORMALS'
- NORMALS2 = 'NORMALS2'
- IMU_ACC = 'IMU_ACC'
- IMU_GYRO = 'IMU_GYRO'
- IMU_TIMESTAMP = 'IMU_TIMESTAMP'
- IMU_MEASUREMENT_ID = 'IMU_MEASUREMENT_ID'
- IMU_STATUS = 'IMU_STATUS'
- IMU_PACKET_TIMESTAMP = 'IMU_PACKET_TIMESTAMP'
- IMU_ALERT_FLAGS = 'IMU_ALERT_FLAGS'
- POSITION_STRING = 'POSITION_STRING'
- POSITION_LAT_LONG = 'POSITION_LAT_LONG'
- POSITION_TIMESTAMP = 'POSITION_TIMESTAMP'
- LIVE_ZONESET_HASH = 'LIVE_ZONESET_HASH'
- ZONE_TIMESTAMP = 'ZONE_TIMESTAMP'
- ZONE_PACKET_TIMESTAMP = 'ZONE_PACKET_TIMESTAMP'
- ZONE_STATES = 'ZONE_STATES'
- ZONE_ALERT_FLAGS = 'ZONE_ALERT_FLAGS'
- class ColHeader(value)[source]
Bases:
EnumColumn headers available in lidar data.
This definition is deprecated.
- TIMESTAMP = 0
- ENCODER_COUNT = 1
- MEASUREMENT_ID = 2
- STATUS = 3
- FRAME_ID = 4
- stagger(info, fields)[source]
Return a staggered 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 N
- Return type:
ndarray- Returns:
A staggered numpy array of the same shape
- 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
- 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_extrinsicsis False, default) as defined in the sensor documentation.However, the result is returned in the “extrinsics frame” if
use_extrinsicsis True, which makes additional transform from “sensor frame” to “extrinsics frame” using the homogeneous 4x4 transform matrix frominfo.extrinsicproperty.- Parameters:
info (
SensorInfo) – sensor metadatause_extrinsics (
bool) – if True, applies theinfo.extrinsictransform 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
ouster.sdk.core.io_types
ouster.sdk.core.masked_scan_source
- class MaskedScanSource(scan_source, fields, masks)[source]
Bases:
ScanSource- 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
- property is_indexed: bool
- property scans_num: List[int]
ouster.sdk.core.multi
- class Scans(source, *, complete=False, cycle=False, fields=None, **_)[source]
Bases:
ScanSourceMulti 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
- property is_indexed: bool
- property fields: List[List[str]]
- property scans_num: List[int]
ouster.sdk.core.reduced_scan_source
- class ReducedScanSource(scan_source, beams)[source]
Bases:
ScanSourceTakes a regular ScanSource and reduces the beams count to the specified values.
- 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
- property is_indexed: bool
- property scans_num: List[int]
ouster.sdk.core.scan_ops
- clip(scan, fields, lower, upper, invalid=0)[source]
limits the values of the specified set of fields to within the range = [lower, upper], any value that exceeds this range is replaced by the supplied invalid value (default is zero)
- Return type:
None
- filter_field(scan, field, lower, upper, invalid=0, filtered_fields=None)[source]
Filters out scan fields based on the specified axis and range. Values that falls in the range [lower, upper] are replaced by the supplied invalid value (default is zero).
Parameters: - scan: LidarScan - field: str; the field to be used as the filter - lower: float; lower bound - upper: float; upper bound - invalid: int; the invalid value to use default is 0 - filtered_fields: Optional[List[str]]; an optional list of fields to filter
- Return type:
None
- filter_uv(scan, coord_2d, lower, upper, invalid=0, filtered_fields=None)[source]
Filters the scan based on the specified image axis. Values that falls in the range [lower, upper] are replaced by the supplied invalid value (default is zero).
Parameters: - scan: LidarScan - field: str; the field to be used as the filter - lower: Union[int, float]; lower bound if float it is assumed a percentage - upper: Union[int, float]; upper bound if float it is assumed a percentage - invalid: int; the invalid value to use default is 0 - filtered_fields: Optional[List[str]]; an optional list of fields to filter
- Return type:
None
- filter_xyz(scan, xyzlut, axis_idx, lower=-inf, upper=inf, invalid=0, filtered_fields=None)[source]
Filters the scan based on the specified axis and range. Values below the lower bound or above the upper bound are replaced by the supplied invalid value (default is zero)
Parameters: - scan: LidarScan - xyzlut: Callable[[Union[LidarScan, np.ndarray]], np.ndarray] - axis_idx: int; can be 0, 1, or 2 - lower: float; lower bound - upper: float; upper bound - invalid: int; the invalid value to use default is 0 - filtered_fields: Optional[List[str]]; an optional list of fields to filter
- Return type:
None
- mask(scan, fields, mask)[source]
applies a mask/filter to all fields of the LidarScan mask should be of the same as size scan.PIXEL_FIELD
- Return type:
None
Severity
- class Severity
Members:
OUSTER_WARNING
OUSTER_ERROR
- OUSTER_ERROR = <Severity.OUSTER_ERROR: 1>
- OUSTER_WARNING = <Severity.OUSTER_WARNING: 0>
- __annotations__ = {}
- __eq__()
Return self==value.
- __getstate__()
- __hash__()
Return hash(self).
- __index__()
- __init__()
- __int__()
- __members__ = {'OUSTER_ERROR': <Severity.OUSTER_ERROR: 1>, 'OUSTER_WARNING': <Severity.OUSTER_WARNING: 0>}
- __module__ = 'ouster.sdk._bindings.client'
- __ne__()
Return self!=value.
- __repr__()
Return repr(self).
- __setstate__()
- __str__()
Return str(self).
- property name
- property value
SensorInfo
- class SensorInfo(*args, **kwargs)
Sensor Info required to interpret UDP data streams.
See the sensor documentation for the meaning of each property.
Overloaded function.
__init__(self: ouster.sdk._bindings.client.SensorInfo) -> None
Construct an empty metadata.
__init__(self: ouster.sdk._bindings.client.SensorInfo, json_string: str) -> None
- Args:
json_string (str): json string to parse
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.SensorInfo, arg0: dict) ouster.sdk._bindings.client.SensorInfo
- __eq__(self: ouster.sdk._bindings.client.SensorInfo, arg0: ouster.sdk._bindings.client.SensorInfo) bool
- __hash__ = None
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.SensorInfo) -> None
Construct an empty metadata.
__init__(self: ouster.sdk._bindings.client.SensorInfo, json_string: str) -> None
- Args:
json_string (str): json string to parse
- __module__ = 'ouster.sdk._bindings.client'
- __repr__(self: ouster.sdk._bindings.client.SensorInfo) str
- 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(arg0: ouster.sdk._bindings.client.LidarMode) ouster.sdk._bindings.client.SensorInfo
Create gen-1 OS-1-64 SensorInfo populated with design values.
- property fw_rev
Sensor firmware revision.
- get_product_info(self: ouster.sdk._bindings.client.SensorInfo) ouster.sdk._bindings.client.ProductInfo
Get parsed product info
- get_version(self: ouster.sdk._bindings.client.SensorInfo) ouster.sdk._bindings.client.Version
Get parsed sensor version
- property h
returns the height of a frame (equivalent to format.pixels_per_column)
- has_fields_equal(self: ouster.sdk._bindings.client.SensorInfo, arg0: ouster.sdk._bindings.client.SensorInfo) bool
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(self: ouster.sdk._bindings.client.SensorInfo) str
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)
- property zone_set
zone monitor configuration
ProductInfo
- class ProductInfo
- __annotations__ = {}
- __eq__(self: ouster.sdk._bindings.client.ProductInfo, arg0: ouster.sdk._bindings.client.ProductInfo) bool
- __hash__ = None
- __init__(*args, **kwargs)
- __module__ = 'ouster.sdk._bindings.client'
- __str__(self: ouster.sdk._bindings.client.ProductInfo) str
- 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
DataFormat
- class DataFormat(self: ouster.sdk._bindings.client.DataFormat)
Data Format of a packet coming from sensor
See sensor documentation for the meaning of each property
- __annotations__ = {}
- __eq__(self: ouster.sdk._bindings.client.DataFormat, arg0: ouster.sdk._bindings.client.DataFormat) bool
- __hash__ = None
- __init__(self: ouster.sdk._bindings.client.DataFormat) None
Data Format of a packet coming from sensor
See sensor documentation for the meaning of each property
- __module__ = 'ouster.sdk._bindings.client'
- 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 LidarMode
- 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 LidarMode 1024x10
- Type:
int
- property header_type
Lidar/IMU packet header profile
- property imu_measurements_per_packet
Number of IMU measurements per IMU packet
- Type:
int
- property imu_packets_per_frame
Number of IMU packets per frame
- Type:
int
- lidar_packets_per_frame(self: ouster.sdk._bindings.client.DataFormat) int
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(self: ouster.sdk._bindings.client.DataFormat) int
Return the number of valid columns per complete frame of data with the column_window applied.
- property zone_monitoring_enabled
True if zone monitoring is enabled, otherwise False.
- Type:
bool
LidarMode
- class LidarMode(self: ouster.sdk._bindings.client.LidarMode, value: int)
Possible Lidar Modes of sensor.
Determines to horizontal and vertical resolution rates of sensor. See sensor documentation for details.
Members:
UNKNOWN
MODE_UNKNOWN
_512x10
MODE_512x10
_512x20
MODE_512x20
_1024x10
MODE_1024x10
_1024x20
MODE_1024x20
_2048x10
MODE_2048x10
_4096x5
MODE_4096x5
MODE_UNSPEC
UNSPECIFIED
- MODE_1024x10 = <LidarMode._1024x10: 3>
- MODE_1024x20 = <LidarMode._1024x20: 4>
- MODE_2048x10 = <LidarMode._2048x10: 5>
- MODE_4096x5 = <LidarMode._4096x5: 6>
- MODE_512x10 = <LidarMode._512x10: 1>
- MODE_512x20 = <LidarMode._512x20: 2>
- MODE_UNKNOWN = <LidarMode.UNKNOWN: 0>
- MODE_UNSPEC = <LidarMode.UNKNOWN: 0>
- UNKNOWN = <LidarMode.UNKNOWN: 0>
- UNSPECIFIED = <LidarMode.UNKNOWN: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.LidarMode) int
- __init__(self: ouster.sdk._bindings.client.LidarMode, value: int) None
- __int__(self: ouster.sdk._bindings.client.LidarMode) int
- __members__ = mappingproxy({'MODE_1024x10': <LidarMode._1024x10: 3>, 'MODE_1024x20': <LidarMode._1024x20: 4>, 'MODE_2048x10': <LidarMode._2048x10: 5>, 'MODE_4096x5': <LidarMode._4096x5: 6>, 'MODE_512x10': <LidarMode._512x10: 1>, 'MODE_512x20': <LidarMode._512x20: 2>, 'MODE_UNKNOWN': <LidarMode.UNKNOWN: 0>, 'UNKNOWN': <LidarMode.UNKNOWN: 0>, '_1024x10': <LidarMode._1024x10: 3>, '_1024x20': <LidarMode._1024x20: 4>, '_2048x10': <LidarMode._2048x10: 5>, '_4096x5': <LidarMode._4096x5: 6>, '_512x10': <LidarMode._512x10: 1>, '_512x20': <LidarMode._512x20: 2>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.LidarMode, state: int) None
- __str__(self: ouster.sdk._bindings.client.LidarMode) str
- from_string(arg0: str) ouster.sdk._bindings.client.LidarMode
Create LidarMode from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
TimestampMode
- class TimestampMode(self: ouster.sdk._bindings.client.TimestampMode, value: int)
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
UNSPECIFIED
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>
- UNSPECIFIED = <TimestampMode.UNKNOWN: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.TimestampMode) int
- __init__(self: ouster.sdk._bindings.client.TimestampMode, value: int) None
- __int__(self: ouster.sdk._bindings.client.TimestampMode) int
- __members__ = mappingproxy({'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>, 'UNKNOWN': <TimestampMode.UNKNOWN: 0>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.TimestampMode, state: int) None
- __str__(self: ouster.sdk._bindings.client.TimestampMode) str
- from_string(arg0: str) ouster.sdk._bindings.client.TimestampMode
Create TimestampMode from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
OperatingMode
- class OperatingMode(self: ouster.sdk._bindings.client.OperatingMode, value: int)
Possible Operating modes of sensor.
See sensor documentation for details.
Members:
NORMAL
OPERATING_NORMAL
STANDBY
OPERATING_STANDBY
OPERATING_UNSPEC
- NORMAL = <OperatingMode.NORMAL: 1>
- OPERATING_NORMAL = <OperatingMode.NORMAL: 1>
- OPERATING_STANDBY = <OperatingMode.STANDBY: 2>
- OPERATING_UNSPEC = <OperatingMode.OPERATING_UNSPEC: 0>
- STANDBY = <OperatingMode.STANDBY: 2>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.OperatingMode) int
- __init__(self: ouster.sdk._bindings.client.OperatingMode, value: int) None
- __int__(self: ouster.sdk._bindings.client.OperatingMode) int
- __members__ = mappingproxy({'NORMAL': <OperatingMode.NORMAL: 1>, 'OPERATING_NORMAL': <OperatingMode.NORMAL: 1>, 'OPERATING_STANDBY': <OperatingMode.STANDBY: 2>, 'STANDBY': <OperatingMode.STANDBY: 2>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.OperatingMode, state: int) None
- __str__(self: ouster.sdk._bindings.client.OperatingMode) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
MultipurposeIOMode
- class MultipurposeIOMode(self: ouster.sdk._bindings.client.MultipurposeIOMode, value: int)
Mode of MULTIPURPOSE_IO pin.
See sensor documentation for details.
Members:
OFF
MULTIPURPOSE_OFF
INPUT_NMEA_UART
MULTIPURPOSE_INPUT_NMEA_UART
OUTPUT_FROM_INTERNAL_OSC
MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC
OUTPUT_FROM_SYNC_PULSE_IN
MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN
OUTPUT_FROM_PTP_1588
MULTIPURPOSE_OUTPUT_FROM_PTP_1588
OUTPUT_FROM_ENCODER_ANGLE
MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE
- INPUT_NMEA_UART = <MultipurposeIOMode.INPUT_NMEA_UART: 2>
- MULTIPURPOSE_INPUT_NMEA_UART = <MultipurposeIOMode.INPUT_NMEA_UART: 2>
- MULTIPURPOSE_OFF = <MultipurposeIOMode.OFF: 1>
- MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE = <MultipurposeIOMode.OUTPUT_FROM_ENCODER_ANGLE: 6>
- MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC = <MultipurposeIOMode.OUTPUT_FROM_INTERNAL_OSC: 3>
- MULTIPURPOSE_OUTPUT_FROM_PTP_1588 = <MultipurposeIOMode.OUTPUT_FROM_PTP_1588: 5>
- MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN = <MultipurposeIOMode.OUTPUT_FROM_SYNC_PULSE_IN: 4>
- OFF = <MultipurposeIOMode.OFF: 1>
- OUTPUT_FROM_ENCODER_ANGLE = <MultipurposeIOMode.OUTPUT_FROM_ENCODER_ANGLE: 6>
- OUTPUT_FROM_INTERNAL_OSC = <MultipurposeIOMode.OUTPUT_FROM_INTERNAL_OSC: 3>
- OUTPUT_FROM_PTP_1588 = <MultipurposeIOMode.OUTPUT_FROM_PTP_1588: 5>
- OUTPUT_FROM_SYNC_PULSE_IN = <MultipurposeIOMode.OUTPUT_FROM_SYNC_PULSE_IN: 4>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.MultipurposeIOMode) int
- __init__(self: ouster.sdk._bindings.client.MultipurposeIOMode, value: int) None
- __int__(self: ouster.sdk._bindings.client.MultipurposeIOMode) int
- __members__ = mappingproxy({'INPUT_NMEA_UART': <MultipurposeIOMode.INPUT_NMEA_UART: 2>, 'MULTIPURPOSE_INPUT_NMEA_UART': <MultipurposeIOMode.INPUT_NMEA_UART: 2>, 'MULTIPURPOSE_OFF': <MultipurposeIOMode.OFF: 1>, 'MULTIPURPOSE_OUTPUT_FROM_ENCODER_ANGLE': <MultipurposeIOMode.OUTPUT_FROM_ENCODER_ANGLE: 6>, 'MULTIPURPOSE_OUTPUT_FROM_INTERNAL_OSC': <MultipurposeIOMode.OUTPUT_FROM_INTERNAL_OSC: 3>, 'MULTIPURPOSE_OUTPUT_FROM_PTP_1588': <MultipurposeIOMode.OUTPUT_FROM_PTP_1588: 5>, 'MULTIPURPOSE_OUTPUT_FROM_SYNC_PULSE_IN': <MultipurposeIOMode.OUTPUT_FROM_SYNC_PULSE_IN: 4>, 'OFF': <MultipurposeIOMode.OFF: 1>, 'OUTPUT_FROM_ENCODER_ANGLE': <MultipurposeIOMode.OUTPUT_FROM_ENCODER_ANGLE: 6>, 'OUTPUT_FROM_INTERNAL_OSC': <MultipurposeIOMode.OUTPUT_FROM_INTERNAL_OSC: 3>, 'OUTPUT_FROM_PTP_1588': <MultipurposeIOMode.OUTPUT_FROM_PTP_1588: 5>, 'OUTPUT_FROM_SYNC_PULSE_IN': <MultipurposeIOMode.OUTPUT_FROM_SYNC_PULSE_IN: 4>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.MultipurposeIOMode, state: int) None
- __str__(self: ouster.sdk._bindings.client.MultipurposeIOMode) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
Polarity
- class Polarity(self: ouster.sdk._bindings.client.Polarity, value: int)
Pulse Polarity.
Applicable to several Polarity settings on sensor.
Members:
ACTIVE_LOW
POLARITY_ACTIVE_LOW
ACTIVE_HIGH
POLARITY_ACTIVE_HIGH
- ACTIVE_HIGH = <Polarity.ACTIVE_HIGH: 2>
- ACTIVE_LOW = <Polarity.ACTIVE_LOW: 1>
- POLARITY_ACTIVE_HIGH = <Polarity.ACTIVE_HIGH: 2>
- POLARITY_ACTIVE_LOW = <Polarity.ACTIVE_LOW: 1>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.Polarity) int
- __init__(self: ouster.sdk._bindings.client.Polarity, value: int) None
- __int__(self: ouster.sdk._bindings.client.Polarity) int
- __members__ = mappingproxy({'ACTIVE_HIGH': <Polarity.ACTIVE_HIGH: 2>, 'ACTIVE_LOW': <Polarity.ACTIVE_LOW: 1>, 'POLARITY_ACTIVE_HIGH': <Polarity.ACTIVE_HIGH: 2>, 'POLARITY_ACTIVE_LOW': <Polarity.ACTIVE_LOW: 1>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.Polarity, state: int) None
- __str__(self: ouster.sdk._bindings.client.Polarity) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
NMEABaudRate
- class NMEABaudRate(self: ouster.sdk._bindings.client.NMEABaudRate, value: int)
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>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.NMEABaudRate) int
- __init__(self: ouster.sdk._bindings.client.NMEABaudRate, value: int) None
- __int__(self: ouster.sdk._bindings.client.NMEABaudRate) int
- __members__ = mappingproxy({'BAUD_115200': <NMEABaudRate.BAUD_115200: 2>, 'BAUD_9600': <NMEABaudRate.BAUD_9600: 1>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.NMEABaudRate, state: int) None
- __str__(self: ouster.sdk._bindings.client.NMEABaudRate) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
UDPProfileLidar
- class UDPProfileLidar(self: ouster.sdk._bindings.client.UDPProfileLidar, value: int)
UDP lidar profile.
Members:
UNKNOWN
PROFILE_LIDAR_UNKNOWN
LEGACY
PROFILE_LIDAR_LEGACY
RNG19_RFL8_SIG16_NIR16_DUAL
PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL
RNG19_RFL8_SIG16_NIR16
PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16
RNG15_RFL8_NIR8
PROFILE_LIDAR_RNG15_RFL8_NIR8
FIVE_WORD_PIXEL
PROFILE_LIDAR_FIVE_WORD_PIXEL
FUSA_RNG15_RFL8_NIR8_DUAL
PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL
RNG15_RFL8_NIR8_DUAL
PROFILE_LIDAR_RNG15_RFL8_NIR8_DUAL
RNG15_RFL8_NIR8_ZONE16
PROFILE_LIDAR_RNG15_RFL8_NIR8_ZONE16
RNG19_RFL8_SIG16_NIR16_ZONE16
PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_ZONE16
OFF
PROFILE_LIDAR_OFF
- FIVE_WORD_PIXEL = <UDPProfileLidar.FIVE_WORD_PIXEL: 5>
- FUSA_RNG15_RFL8_NIR8_DUAL = <UDPProfileLidar.FUSA_RNG15_RFL8_NIR8_DUAL: 6>
- LEGACY = <UDPProfileLidar.LEGACY: 1>
- OFF = <UDPProfileLidar.OFF: 100>
- PROFILE_LIDAR_FIVE_WORD_PIXEL = <UDPProfileLidar.FIVE_WORD_PIXEL: 5>
- PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL = <UDPProfileLidar.FUSA_RNG15_RFL8_NIR8_DUAL: 6>
- PROFILE_LIDAR_LEGACY = <UDPProfileLidar.LEGACY: 1>
- PROFILE_LIDAR_OFF = <UDPProfileLidar.OFF: 100>
- PROFILE_LIDAR_RNG15_RFL8_NIR8 = <UDPProfileLidar.RNG15_RFL8_NIR8: 4>
- PROFILE_LIDAR_RNG15_RFL8_NIR8_DUAL = <UDPProfileLidar.RNG15_RFL8_NIR8_DUAL: 7>
- PROFILE_LIDAR_RNG15_RFL8_NIR8_ZONE16 = <UDPProfileLidar.RNG15_RFL8_NIR8_ZONE16: 8>
- PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16 = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16: 3>
- PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_DUAL: 2>
- PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_ZONE16 = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_ZONE16: 9>
- PROFILE_LIDAR_UNKNOWN = <UDPProfileLidar.UNKNOWN: 0>
- RNG15_RFL8_NIR8 = <UDPProfileLidar.RNG15_RFL8_NIR8: 4>
- RNG15_RFL8_NIR8_DUAL = <UDPProfileLidar.RNG15_RFL8_NIR8_DUAL: 7>
- RNG15_RFL8_NIR8_ZONE16 = <UDPProfileLidar.RNG15_RFL8_NIR8_ZONE16: 8>
- RNG19_RFL8_SIG16_NIR16 = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16: 3>
- RNG19_RFL8_SIG16_NIR16_DUAL = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_DUAL: 2>
- RNG19_RFL8_SIG16_NIR16_ZONE16 = <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_ZONE16: 9>
- UNKNOWN = <UDPProfileLidar.UNKNOWN: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.UDPProfileLidar) int
- __init__(self: ouster.sdk._bindings.client.UDPProfileLidar, value: int) None
- __int__(self: ouster.sdk._bindings.client.UDPProfileLidar) int
- __members__ = mappingproxy({'FIVE_WORD_PIXEL': <UDPProfileLidar.FIVE_WORD_PIXEL: 5>, 'FUSA_RNG15_RFL8_NIR8_DUAL': <UDPProfileLidar.FUSA_RNG15_RFL8_NIR8_DUAL: 6>, 'LEGACY': <UDPProfileLidar.LEGACY: 1>, 'OFF': <UDPProfileLidar.OFF: 100>, 'PROFILE_LIDAR_FIVE_WORD_PIXEL': <UDPProfileLidar.FIVE_WORD_PIXEL: 5>, 'PROFILE_LIDAR_FUSA_RNG15_RFL8_NIR8_DUAL': <UDPProfileLidar.FUSA_RNG15_RFL8_NIR8_DUAL: 6>, 'PROFILE_LIDAR_LEGACY': <UDPProfileLidar.LEGACY: 1>, 'PROFILE_LIDAR_OFF': <UDPProfileLidar.OFF: 100>, 'PROFILE_LIDAR_RNG15_RFL8_NIR8': <UDPProfileLidar.RNG15_RFL8_NIR8: 4>, 'PROFILE_LIDAR_RNG15_RFL8_NIR8_DUAL': <UDPProfileLidar.RNG15_RFL8_NIR8_DUAL: 7>, 'PROFILE_LIDAR_RNG15_RFL8_NIR8_ZONE16': <UDPProfileLidar.RNG15_RFL8_NIR8_ZONE16: 8>, 'PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16: 3>, 'PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_DUAL': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_DUAL: 2>, 'PROFILE_LIDAR_RNG19_RFL8_SIG16_NIR16_ZONE16': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_ZONE16: 9>, 'PROFILE_LIDAR_UNKNOWN': <UDPProfileLidar.UNKNOWN: 0>, 'RNG15_RFL8_NIR8': <UDPProfileLidar.RNG15_RFL8_NIR8: 4>, 'RNG15_RFL8_NIR8_DUAL': <UDPProfileLidar.RNG15_RFL8_NIR8_DUAL: 7>, 'RNG15_RFL8_NIR8_ZONE16': <UDPProfileLidar.RNG15_RFL8_NIR8_ZONE16: 8>, 'RNG19_RFL8_SIG16_NIR16': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16: 3>, 'RNG19_RFL8_SIG16_NIR16_DUAL': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_DUAL: 2>, 'RNG19_RFL8_SIG16_NIR16_ZONE16': <UDPProfileLidar.RNG19_RFL8_SIG16_NIR16_ZONE16: 9>, 'UNKNOWN': <UDPProfileLidar.UNKNOWN: 0>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.UDPProfileLidar, state: int) None
- __str__(self: ouster.sdk._bindings.client.UDPProfileLidar) str
- from_string(arg0: str) ouster.sdk._bindings.client.UDPProfileLidar | None
Create UDPProfileLidar from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
UDPProfileIMU
- class UDPProfileIMU(self: ouster.sdk._bindings.client.UDPProfileIMU, value: int)
UDP imu profile.
Members:
LEGACY
PROFILE_IMU_LEGACY
ACCEL32_GYRO32_NMEA
PROFILE_IMU_ACCEL32_GYRO32_NMEA
OFF
PROFILE_IMU_OFF
- ACCEL32_GYRO32_NMEA = <UDPProfileIMU.ACCEL32_GYRO32_NMEA: 2>
- LEGACY = <UDPProfileIMU.LEGACY: 1>
- OFF = <UDPProfileIMU.OFF: 100>
- PROFILE_IMU_ACCEL32_GYRO32_NMEA = <UDPProfileIMU.ACCEL32_GYRO32_NMEA: 2>
- PROFILE_IMU_LEGACY = <UDPProfileIMU.LEGACY: 1>
- PROFILE_IMU_OFF = <UDPProfileIMU.OFF: 100>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.UDPProfileIMU) int
- __init__(self: ouster.sdk._bindings.client.UDPProfileIMU, value: int) None
- __int__(self: ouster.sdk._bindings.client.UDPProfileIMU) int
- __members__ = mappingproxy({'ACCEL32_GYRO32_NMEA': <UDPProfileIMU.ACCEL32_GYRO32_NMEA: 2>, 'LEGACY': <UDPProfileIMU.LEGACY: 1>, 'OFF': <UDPProfileIMU.OFF: 100>, 'PROFILE_IMU_ACCEL32_GYRO32_NMEA': <UDPProfileIMU.ACCEL32_GYRO32_NMEA: 2>, 'PROFILE_IMU_LEGACY': <UDPProfileIMU.LEGACY: 1>, 'PROFILE_IMU_OFF': <UDPProfileIMU.OFF: 100>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.UDPProfileIMU, state: int) None
- __str__(self: ouster.sdk._bindings.client.UDPProfileIMU) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
HeaderType
- class HeaderType(self: ouster.sdk._bindings.client.HeaderType, value: int)
UDP header format profile.
Members:
STANDARD
HEADER_TYPE_STANDARD
FUSA
HEADER_TYPE_FUSA
- FUSA = <HeaderType.FUSA: 2>
- HEADER_TYPE_FUSA = <HeaderType.FUSA: 2>
- HEADER_TYPE_STANDARD = <HeaderType.STANDARD: 1>
- STANDARD = <HeaderType.STANDARD: 1>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.HeaderType) int
- __init__(self: ouster.sdk._bindings.client.HeaderType, value: int) None
- __int__(self: ouster.sdk._bindings.client.HeaderType) int
- __members__ = mappingproxy({'FUSA': <HeaderType.FUSA: 2>, 'HEADER_TYPE_FUSA': <HeaderType.FUSA: 2>, 'HEADER_TYPE_STANDARD': <HeaderType.STANDARD: 1>, 'STANDARD': <HeaderType.STANDARD: 1>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.HeaderType, state: int) None
- __str__(self: ouster.sdk._bindings.client.HeaderType) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
SensorConfig
- class SensorConfig(*args, **kwargs)
Corresponds to sensor config parameters.
Please see sensor documentation for the meaning of each property.
Overloaded function.
__init__(self: ouster.sdk._bindings.client.SensorConfig) -> None
Construct an empty SensorConfig.
__init__(self: ouster.sdk._bindings.client.SensorConfig, config_string: str) -> None
Construct a SensorConfig from a json string. Args:
config_string (str): json string to parse
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.SensorConfig, arg0: dict) ouster.sdk._bindings.client.SensorConfig
- __eq__(self: ouster.sdk._bindings.client.SensorConfig, arg0: ouster.sdk._bindings.client.SensorConfig) bool
- __hash__ = None
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.SensorConfig) -> None
Construct an empty SensorConfig.
__init__(self: ouster.sdk._bindings.client.SensorConfig, config_string: str) -> None
Construct a SensorConfig from a json string. Args:
config_string (str): json string to parse
- __module__ = 'ouster.sdk._bindings.client'
- __str__(self: ouster.sdk._bindings.client.SensorConfig) str
- 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 bloom_reduction_optimization
The type of bloom reduction optimization to use.
- 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 header_type
Type of UDP packet header to use.
- property imu_packets_per_frame
Number of IMU packets per lidar frame.
- property lidar_frame_azimuth_offset
Origin angle for the sensor in millidegrees.
- 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 lidar and IMU UDP traffic.
- property udp_dest_zm
Destination to which sensor sends ZM UDP traffic.
- property udp_multicast_ttl
Multicast TTL for IMU and lidar UDP traffic.
- property udp_multicast_ttl_zm
Multicast TTL for ZM 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_port_zm
Port on UDP destination to which ZM 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.
CalibrationStatus
- class CalibrationStatus(self: ouster.sdk._bindings.client.CalibrationStatus)
Sensor Calibration in a Sensor Metadata, covering reflectivity calibration and more”
- __annotations__ = {}
- __eq__(self: ouster.sdk._bindings.client.CalibrationStatus, arg0: ouster.sdk._bindings.client.CalibrationStatus) bool
- __hash__ = None
- __init__(self: ouster.sdk._bindings.client.CalibrationStatus) None
Sensor Calibration in a Sensor Metadata, covering reflectivity calibration and more”
- __module__ = 'ouster.sdk._bindings.client'
- __str__(self: ouster.sdk._bindings.client.CalibrationStatus) str
- property reflectivity_status
Reflectivity calibration status
- property reflectivity_timestamp
Reflectivity timestamp
SensorHttp
- class SensorHttp
- __annotations__ = {}
- __init__(*args, **kwargs)
- __module__ = 'ouster.sdk._bindings.client'
- active_config_params(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- apply_zone_monitor_staged_config_to_active(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 40) None
- auto_detected_udp_dest(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4, original_destination: str | None = None) str
- beam_intrinsics(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- static create(hostname: str, timeout_sec: int = 40) ouster.sdk._bindings.client.SensorHttp
- delete_static_ip(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) None
- delete_user_data(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) None
- delete_zone_monitor_staged_config(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 40) None
- diagnostics_dump(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 40) bytes
- firmware_version(self: ouster.sdk._bindings.client.SensorHttp) ouster.sdk._bindings.client.Version
- get_config_params(self: ouster.sdk._bindings.client.SensorHttp, active: bool, timeout_sec: int = 4) str
- static get_firmware_version(hostname: str, timeout_sec: int = 4) ouster.sdk._bindings.client.Version
- get_user_data(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- get_zone_monitor_config_zip(self: ouster.sdk._bindings.client.SensorHttp, staged: bool = False, timeout_sec: int = 40) bytes
- get_zone_monitor_live_ids(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) list[int]
- hostname(self: ouster.sdk._bindings.client.SensorHttp) str
- imu_intrinsics(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- lidar_data_format(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- lidar_intrinsics(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- metadata(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- network(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- reinitialize(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) None
- restart(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 40) None
- save_config_params(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) None
- sensor_info(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
- set_config_param(self: ouster.sdk._bindings.client.SensorHttp, key: str, value: str, timeout_sec: int = 4) None
- set_static_ip(*args, **kwargs)
Overloaded function.
set_static_ip(self: ouster.sdk._bindings.client.SensorHttp, ip_address: str, timeout_sec: int = 4) -> None
set_static_ip(self: ouster.sdk._bindings.client.SensorHttp, ip_address: str, gateway_address: str, timeout_sec: int = 4) -> None
- set_udp_dest_auto(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) None
- set_user_data(self: ouster.sdk._bindings.client.SensorHttp, data: str, keep_on_config_delete: bool = True, timeout_sec: int = 4) None
- set_zone_monitor_config_zip(self: ouster.sdk._bindings.client.SensorHttp, zip_bytes: str, timeout_sec: int = 40) None
- set_zone_monitor_live_ids(self: ouster.sdk._bindings.client.SensorHttp, zone_ids: list[int], timeout_sec: int = 4) None
- staged_config_params(self: ouster.sdk._bindings.client.SensorHttp, timeout_sec: int = 4) str
ShotLimitingStatus
- class ShotLimitingStatus(self: ouster.sdk._bindings.client.ShotLimitingStatus, value: int)
Shot Limiting Status.
Members:
NORMAL
SHOT_LIMITING_NORMAL
IMMINENT
SHOT_LIMITING_IMMINENT
REDUCTION_0_10
SHOT_LIMITING_REDUCTION_0_10
REDUCTION_10_20
SHOT_LIMITING_REDUCTION_10_20
REDUCTION_20_30
SHOT_LIMITING_REDUCTION_20_30
REDUCTION_30_40
SHOT_LIMITING_REDUCTION_30_40
REDUCTION_40_50
SHOT_LIMITING_REDUCTION_40_50
REDUCTION_50_60
SHOT_LIMITING_REDUCTION_50_60
REDUCTION_60_70
SHOT_LIMITING_REDUCTION_60_70
REDUCTION_70_75
SHOT_LIMITING_REDUCTION_70_75
- IMMINENT = <ShotLimitingStatus.IMMINENT: 1>
- NORMAL = <ShotLimitingStatus.NORMAL: 0>
- REDUCTION_0_10 = <ShotLimitingStatus.REDUCTION_0_10: 2>
- REDUCTION_10_20 = <ShotLimitingStatus.REDUCTION_10_20: 3>
- REDUCTION_20_30 = <ShotLimitingStatus.REDUCTION_20_30: 4>
- REDUCTION_30_40 = <ShotLimitingStatus.REDUCTION_30_40: 5>
- REDUCTION_40_50 = <ShotLimitingStatus.REDUCTION_40_50: 6>
- REDUCTION_50_60 = <ShotLimitingStatus.REDUCTION_50_60: 7>
- REDUCTION_60_70 = <ShotLimitingStatus.REDUCTION_60_70: 8>
- REDUCTION_70_75 = <ShotLimitingStatus.REDUCTION_70_75: 9>
- SHOT_LIMITING_IMMINENT = <ShotLimitingStatus.IMMINENT: 1>
- SHOT_LIMITING_NORMAL = <ShotLimitingStatus.NORMAL: 0>
- SHOT_LIMITING_REDUCTION_0_10 = <ShotLimitingStatus.REDUCTION_0_10: 2>
- SHOT_LIMITING_REDUCTION_10_20 = <ShotLimitingStatus.REDUCTION_10_20: 3>
- SHOT_LIMITING_REDUCTION_20_30 = <ShotLimitingStatus.REDUCTION_20_30: 4>
- SHOT_LIMITING_REDUCTION_30_40 = <ShotLimitingStatus.REDUCTION_30_40: 5>
- SHOT_LIMITING_REDUCTION_40_50 = <ShotLimitingStatus.REDUCTION_40_50: 6>
- SHOT_LIMITING_REDUCTION_50_60 = <ShotLimitingStatus.REDUCTION_50_60: 7>
- SHOT_LIMITING_REDUCTION_60_70 = <ShotLimitingStatus.REDUCTION_60_70: 8>
- SHOT_LIMITING_REDUCTION_70_75 = <ShotLimitingStatus.REDUCTION_70_75: 9>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.ShotLimitingStatus) int
- __init__(self: ouster.sdk._bindings.client.ShotLimitingStatus, value: int) None
- __int__(self: ouster.sdk._bindings.client.ShotLimitingStatus) int
- __members__ = mappingproxy({'IMMINENT': <ShotLimitingStatus.IMMINENT: 1>, 'NORMAL': <ShotLimitingStatus.NORMAL: 0>, 'REDUCTION_0_10': <ShotLimitingStatus.REDUCTION_0_10: 2>, 'REDUCTION_10_20': <ShotLimitingStatus.REDUCTION_10_20: 3>, 'REDUCTION_20_30': <ShotLimitingStatus.REDUCTION_20_30: 4>, 'REDUCTION_30_40': <ShotLimitingStatus.REDUCTION_30_40: 5>, 'REDUCTION_40_50': <ShotLimitingStatus.REDUCTION_40_50: 6>, 'REDUCTION_50_60': <ShotLimitingStatus.REDUCTION_50_60: 7>, 'REDUCTION_60_70': <ShotLimitingStatus.REDUCTION_60_70: 8>, 'REDUCTION_70_75': <ShotLimitingStatus.REDUCTION_70_75: 9>, 'SHOT_LIMITING_IMMINENT': <ShotLimitingStatus.IMMINENT: 1>, 'SHOT_LIMITING_NORMAL': <ShotLimitingStatus.NORMAL: 0>, 'SHOT_LIMITING_REDUCTION_0_10': <ShotLimitingStatus.REDUCTION_0_10: 2>, 'SHOT_LIMITING_REDUCTION_10_20': <ShotLimitingStatus.REDUCTION_10_20: 3>, 'SHOT_LIMITING_REDUCTION_20_30': <ShotLimitingStatus.REDUCTION_20_30: 4>, 'SHOT_LIMITING_REDUCTION_30_40': <ShotLimitingStatus.REDUCTION_30_40: 5>, 'SHOT_LIMITING_REDUCTION_40_50': <ShotLimitingStatus.REDUCTION_40_50: 6>, 'SHOT_LIMITING_REDUCTION_50_60': <ShotLimitingStatus.REDUCTION_50_60: 7>, 'SHOT_LIMITING_REDUCTION_60_70': <ShotLimitingStatus.REDUCTION_60_70: 8>, 'SHOT_LIMITING_REDUCTION_70_75': <ShotLimitingStatus.REDUCTION_70_75: 9>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.ShotLimitingStatus, state: int) None
- __str__(self: ouster.sdk._bindings.client.ShotLimitingStatus) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
ThermalShutdownStatus
- class ThermalShutdownStatus(self: ouster.sdk._bindings.client.ThermalShutdownStatus, value: int)
Thermal Shutdown Status.
Members:
NORMAL
THERMAL_SHUTDOWN_NORMAL
IMMINENT
THERMAL_SHUTDOWN_IMMINENT
- IMMINENT = <ThermalShutdownStatus.IMMINENT: 1>
- NORMAL = <ThermalShutdownStatus.NORMAL: 0>
- THERMAL_SHUTDOWN_IMMINENT = <ThermalShutdownStatus.IMMINENT: 1>
- THERMAL_SHUTDOWN_NORMAL = <ThermalShutdownStatus.NORMAL: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.ThermalShutdownStatus) int
- __init__(self: ouster.sdk._bindings.client.ThermalShutdownStatus, value: int) None
- __int__(self: ouster.sdk._bindings.client.ThermalShutdownStatus) int
- __members__ = mappingproxy({'IMMINENT': <ThermalShutdownStatus.IMMINENT: 1>, 'NORMAL': <ThermalShutdownStatus.NORMAL: 0>, 'THERMAL_SHUTDOWN_IMMINENT': <ThermalShutdownStatus.IMMINENT: 1>, 'THERMAL_SHUTDOWN_NORMAL': <ThermalShutdownStatus.NORMAL: 0>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.ThermalShutdownStatus, state: int) None
- __str__(self: ouster.sdk._bindings.client.ThermalShutdownStatus) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
FieldClass
- class FieldClass(self: ouster.sdk._bindings.client.FieldClass, value: int)
LidarScan field classes
Members:
PIXEL_FIELD
COLUMN_FIELD
PACKET_FIELD
SCAN_FIELD
- COLUMN_FIELD = <FieldClass.COLUMN_FIELD: 2>
- PACKET_FIELD = <FieldClass.PACKET_FIELD: 3>
- PIXEL_FIELD = <FieldClass.PIXEL_FIELD: 1>
- SCAN_FIELD = <FieldClass.SCAN_FIELD: 4>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __ge__(self: object, other: object) bool
- __getstate__(self: object) int
- __gt__(self: object, other: object) bool
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.FieldClass) int
- __init__(self: ouster.sdk._bindings.client.FieldClass, value: int) None
- __int__(self: ouster.sdk._bindings.client.FieldClass) int
- __le__(self: object, other: object) bool
- __lt__(self: object, other: object) bool
- __members__ = mappingproxy({'COLUMN_FIELD': <FieldClass.COLUMN_FIELD: 2>, 'PACKET_FIELD': <FieldClass.PACKET_FIELD: 3>, 'PIXEL_FIELD': <FieldClass.PIXEL_FIELD: 1>, 'SCAN_FIELD': <FieldClass.SCAN_FIELD: 4>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.FieldClass, state: int) None
- __str__(self: ouster.sdk._bindings.client.FieldClass) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
FullScaleRange
- class FullScaleRange(self: ouster.sdk._bindings.client.FullScaleRange, value: int)
IMU output scale range.
See sensor documentation for details.
Members:
NORMAL
FSR_NORMAL
EXTENDED
FSR_EXTENDED
- EXTENDED = <FullScaleRange.EXTENDED: 1>
- FSR_EXTENDED = <FullScaleRange.EXTENDED: 1>
- FSR_NORMAL = <FullScaleRange.NORMAL: 0>
- NORMAL = <FullScaleRange.NORMAL: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.FullScaleRange) int
- __init__(self: ouster.sdk._bindings.client.FullScaleRange, value: int) None
- __int__(self: ouster.sdk._bindings.client.FullScaleRange) int
- __members__ = mappingproxy({'EXTENDED': <FullScaleRange.EXTENDED: 1>, 'FSR_EXTENDED': <FullScaleRange.EXTENDED: 1>, 'FSR_NORMAL': <FullScaleRange.NORMAL: 0>, 'NORMAL': <FullScaleRange.NORMAL: 0>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.FullScaleRange, state: int) None
- __str__(self: ouster.sdk._bindings.client.FullScaleRange) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
ReturnOrder
- class ReturnOrder(self: ouster.sdk._bindings.client.ReturnOrder, value: int)
Sensor return order.
See sensor documentation for details.
Members:
STRONGEST_TO_WEAKEST
ORDER_STRONGEST_TO_WEAKEST
FARTHEST_TO_NEAREST
ORDER_FARTHEST_TO_NEAREST
NEAREST_TO_FARTHEST
ORDER_NEAREST_TO_FARTHEST
STRONGEST_RETURN_FIRST
ORDER_STRONGEST_RETURN_FIRST
LAST_RETURN_FIRST
ORDER_LAST_RETURN_FIRST
- FARTHEST_TO_NEAREST = <ReturnOrder.FARTHEST_TO_NEAREST: 1>
- LAST_RETURN_FIRST = <ReturnOrder.LAST_RETURN_FIRST: 4>
- NEAREST_TO_FARTHEST = <ReturnOrder.NEAREST_TO_FARTHEST: 2>
- ORDER_FARTHEST_TO_NEAREST = <ReturnOrder.FARTHEST_TO_NEAREST: 1>
- ORDER_LAST_RETURN_FIRST = <ReturnOrder.LAST_RETURN_FIRST: 4>
- ORDER_NEAREST_TO_FARTHEST = <ReturnOrder.NEAREST_TO_FARTHEST: 2>
- ORDER_STRONGEST_RETURN_FIRST = <ReturnOrder.STRONGEST_RETURN_FIRST: 3>
- ORDER_STRONGEST_TO_WEAKEST = <ReturnOrder.STRONGEST_TO_WEAKEST: 0>
- STRONGEST_RETURN_FIRST = <ReturnOrder.STRONGEST_RETURN_FIRST: 3>
- STRONGEST_TO_WEAKEST = <ReturnOrder.STRONGEST_TO_WEAKEST: 0>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.ReturnOrder) int
- __init__(self: ouster.sdk._bindings.client.ReturnOrder, value: int) None
- __int__(self: ouster.sdk._bindings.client.ReturnOrder) int
- __members__ = mappingproxy({'FARTHEST_TO_NEAREST': <ReturnOrder.FARTHEST_TO_NEAREST: 1>, 'LAST_RETURN_FIRST': <ReturnOrder.LAST_RETURN_FIRST: 4>, 'NEAREST_TO_FARTHEST': <ReturnOrder.NEAREST_TO_FARTHEST: 2>, 'ORDER_FARTHEST_TO_NEAREST': <ReturnOrder.FARTHEST_TO_NEAREST: 1>, 'ORDER_LAST_RETURN_FIRST': <ReturnOrder.LAST_RETURN_FIRST: 4>, 'ORDER_NEAREST_TO_FARTHEST': <ReturnOrder.NEAREST_TO_FARTHEST: 2>, 'ORDER_STRONGEST_RETURN_FIRST': <ReturnOrder.STRONGEST_RETURN_FIRST: 3>, 'ORDER_STRONGEST_TO_WEAKEST': <ReturnOrder.STRONGEST_TO_WEAKEST: 0>, 'STRONGEST_RETURN_FIRST': <ReturnOrder.STRONGEST_RETURN_FIRST: 3>, 'STRONGEST_TO_WEAKEST': <ReturnOrder.STRONGEST_TO_WEAKEST: 0>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.ReturnOrder, state: int) None
- __str__(self: ouster.sdk._bindings.client.ReturnOrder) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
FieldType
- class FieldType(self: ouster.sdk._bindings.client.FieldType, name: str, dtype: object, extra_dims: tuple = (), field_class: int = <FieldClass.PIXEL_FIELD: 1>)
Describes a field.
Construct a FieldType.
- Parameters:
name – name of the field
dt – data type of the field, e.g. np.uint8.
extra_dims – a tuple representing the number of elements. in the dimensions beyond width and height, for fields with three or more dimensions.
field_class – indicates whether the field has an entry per-packet, per-column, per-scan or per-pixel.
- __annotations__ = {}
- __eq__(self: ouster.sdk._bindings.client.FieldType, arg0: ouster.sdk._bindings.client.FieldType) bool
- __hash__ = None
- __init__(self: ouster.sdk._bindings.client.FieldType, name: str, dtype: object, extra_dims: tuple = (), field_class: int = <FieldClass.PIXEL_FIELD: 1>) None
Construct a FieldType.
- Parameters:
name – name of the field
dt – data type of the field, e.g. np.uint8.
extra_dims – a tuple representing the number of elements. in the dimensions beyond width and height, for fields with three or more dimensions.
field_class – indicates whether the field has an entry per-packet, per-column, per-scan or per-pixel.
- __lt__(self: ouster.sdk._bindings.client.FieldType, arg0: ouster.sdk._bindings.client.FieldType) bool
- __module__ = 'ouster.sdk._bindings.client'
- __repr__(self: ouster.sdk._bindings.client.FieldType) str
- __str__(self: ouster.sdk._bindings.client.FieldType) str
- property element_type
The data type (as a numpy dtype) of the field.
- property extra_dims
A tuple representing the size of extra dimensions (if the field is greater than 2 dimensions.)
- property field_class
“field_class - an enum that indicates whether the field has an entry per-packet, per-column, per-scan or per-pixel.
- property name
The name of the field.
LidarScan
- class LidarScan(*args, **kwargs)
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.
Overloaded function.
__init__(self: ouster.sdk._bindings.client.LidarScan, h: int, w: int) -> None
Default constructor creates a 0 x 0 scan
- Args:
height: height of scan width: width of scan
- Returns:
New LidarScan of 0x0 expecting fields of the LEGACY profile
__init__(self: ouster.sdk._bindings.client.LidarScan, h: int, w: int, profile: ouster::sdk::core::UDPProfileLidar, columns_per_packet: int = 16) -> None
Initialize a scan with the default fields for a particular udp profile
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, w: int, h: int, field_types: list[ouster.sdk._bindings.client.FieldType], columns_per_packet: int = 16) -> None
Initialize a scan with a custom set of fields
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo) -> None
Initialize a scan with defaults fields and size for a given sensor_info
- Args:
sensor_info: SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo) -> None
Initialize a scan with defaults fields and size for a given sensor_info
- Args:
sensor_info: SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo, field_types: list[ouster.sdk._bindings.client.FieldType]) -> None
Initialize a scan with defaults fields and size for a given sensor_info with only the specified fields
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, source: ouster.sdk._bindings.client.LidarScan, field_types: list[ouster.sdk._bindings.client.FieldType]) -> None
Initialize a lidar scan from another with only the indicated fields. Casts, zero pads or removes fields from the original scan if necessary.
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, source: ouster.sdk._bindings.client.LidarScan) -> None
Initialize a lidar scan with a copy of the data from another.
- Args:
source: LidarScan to copy
- Returns:
New LidarScan with data copied over from provided scan.
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.LidarScan, arg0: dict) ouster.sdk._bindings.client.LidarScan
- __eq__(self: ouster.sdk._bindings.client.LidarScan, arg0: ouster.sdk._bindings.client.LidarScan) bool
- __hash__ = None
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.LidarScan, h: int, w: int) -> None
Default constructor creates a 0 x 0 scan
- Args:
height: height of scan width: width of scan
- Returns:
New LidarScan of 0x0 expecting fields of the LEGACY profile
__init__(self: ouster.sdk._bindings.client.LidarScan, h: int, w: int, profile: ouster::sdk::core::UDPProfileLidar, columns_per_packet: int = 16) -> None
Initialize a scan with the default fields for a particular udp profile
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, w: int, h: int, field_types: list[ouster.sdk._bindings.client.FieldType], columns_per_packet: int = 16) -> None
Initialize a scan with a custom set of fields
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo) -> None
Initialize a scan with defaults fields and size for a given sensor_info
- Args:
sensor_info: SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo) -> None
Initialize a scan with defaults fields and size for a given sensor_info
- Args:
sensor_info: SensorInfo to construct a scan for
- Returns:
New LidarScan approprate for the sensor_info
__init__(self: ouster.sdk._bindings.client.LidarScan, sensor_info: ouster::sdk::core::SensorInfo, field_types: list[ouster.sdk._bindings.client.FieldType]) -> None
Initialize a scan with defaults fields and size for a given sensor_info with only the specified fields
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, source: ouster.sdk._bindings.client.LidarScan, field_types: list[ouster.sdk._bindings.client.FieldType]) -> None
Initialize a lidar scan from another with only the indicated fields. Casts, zero pads or removes fields from the original scan if necessary.
- Args:
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
__init__(self: ouster.sdk._bindings.client.LidarScan, source: ouster.sdk._bindings.client.LidarScan) -> None
Initialize a lidar scan with a copy of the data from another.
- Args:
source: LidarScan to copy
- Returns:
New LidarScan with data copied over from provided scan.
- __module__ = 'ouster.sdk._bindings.client'
- __repr__(self: ouster.sdk._bindings.client.LidarScan) str
- __str__(self: ouster.sdk._bindings.client.LidarScan) str
- add_field(*args, **kwargs)
Overloaded function.
add_field(self: ouster.sdk._bindings.client.LidarScan, name: str, dtype: type, shape: tuple = (), field_class: int = <FieldClass.PIXEL_FIELD: 1>) -> object
Adds a new field under specified name
- Args:
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
add_field(self: ouster.sdk._bindings.client.LidarScan, type: ouster.sdk._bindings.client.FieldType) -> object
Adds a new field under specified name and type
- Args:
type: FieldType of the field to add
- Returns:
The field as a numpy array
add_field(self: ouster.sdk._bindings.client.LidarScan, name: str, data: numpy.ndarray, field_class: int = <FieldClass.PIXEL_FIELD: 1>) -> numpy.ndarray
Adds a new field under the specified name, with the given contents. IMPORTANT: this will deep copy the supplied data.
- Args:
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.
- complete(self: ouster.sdk._bindings.client.LidarScan, window: tuple[int, int] | None = None) bool
- del_field(self: ouster.sdk._bindings.client.LidarScan, arg0: str) numpy.ndarray
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(self: ouster.sdk._bindings.client.LidarScan, arg0: str) object
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(self: ouster.sdk._bindings.client.LidarScan, arg0: str) ouster.sdk._bindings.client.FieldClass
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 a 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(self: ouster.sdk._bindings.client.LidarScan) int
Return first valid column index in the scan.
- get_first_valid_column_timestamp(self: ouster.sdk._bindings.client.LidarScan) int
Return first valid column timestamp in the scan.
- get_first_valid_packet_timestamp(self: ouster.sdk._bindings.client.LidarScan) int
Return first valid packet timestamp in the scan.
- get_last_valid_column(self: ouster.sdk._bindings.client.LidarScan) int
Return last valid column index in the scan.
- get_last_valid_column_timestamp(self: ouster.sdk._bindings.client.LidarScan) int
Return last valid column timestamp in the scan.
- get_last_valid_packet_timestamp(self: ouster.sdk._bindings.client.LidarScan) int
Return last valid packet timestamp in the scan.
- property h
Height or vertical resolution of the scan.
- has_field(*args, **kwargs)
Overloaded function.
has_field(self: ouster.sdk._bindings.client.LidarScan, name: str) -> bool
Returns true if the LidarScan has a field with the given name
- Args:
name: name of the field to check for
- Returns:
True if the field exists in the scan, false otherwise
has_field(self: ouster.sdk._bindings.client.LidarScan, arg0: str) -> bool
Check if a field with a given name exists in the LidarScan.
- Args:
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(self: ouster.sdk._bindings.client.LidarScan) ouster::sdk::core::ShotLimitingStatus
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(self: ouster.sdk._bindings.client.LidarScan) ouster::sdk::core::ThermalShutdownStatus
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.
- property zones
Packet
- class Packet
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.Packet, arg0: dict) ouster.sdk._bindings.client.Packet
- __init__(*args, **kwargs)
- __module__ = 'ouster.sdk._bindings.client'
- alert_flags(self: ouster.sdk._bindings.client.Packet) int
- property buf
- calculate_crc(self: ouster.sdk._bindings.client.Packet) int
- countdown_shot_limiting(self: ouster.sdk._bindings.client.Packet) int
- countdown_thermal_shutdown(self: ouster.sdk._bindings.client.Packet) int
- crc(self: ouster.sdk._bindings.client.Packet) int | None
- property format
- frame_id(self: ouster.sdk._bindings.client.Packet) int
- property host_timestamp
- init_id(self: ouster.sdk._bindings.client.Packet) int
- packet_type(self: ouster.sdk._bindings.client.Packet) int
- prod_sn(self: ouster.sdk._bindings.client.Packet) int
- shot_limiting(self: ouster.sdk._bindings.client.Packet) int
- thermal_shutdown(self: ouster.sdk._bindings.client.Packet) int
- property type
- validate(*args, **kwargs)
Overloaded function.
validate(self: ouster.sdk._bindings.client.Packet, arg0: ouster.sdk._bindings.client.SensorInfo, arg1: ouster.sdk._bindings.client.PacketFormat) -> ouster::sdk::core::PacketValidationFailure
validate(self: ouster.sdk._bindings.client.Packet, arg0: ouster.sdk._bindings.client.SensorInfo) -> ouster::sdk::core::PacketValidationFailure
LidarPacket
- class LidarPacket(self: ouster.sdk._bindings.client.LidarPacket, size: int = 65536)
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.LidarPacket, arg0: dict) ouster.sdk._bindings.client.LidarPacket
- __init__(self: ouster.sdk._bindings.client.LidarPacket, size: int = 65536) None
- __module__ = 'ouster.sdk._bindings.client'
ImuPacket
- class ImuPacket(self: ouster.sdk._bindings.client.ImuPacket, size: int = 65536)
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.ImuPacket, arg0: dict) ouster.sdk._bindings.client.ImuPacket
- __init__(self: ouster.sdk._bindings.client.ImuPacket, size: int = 65536) None
- __module__ = 'ouster.sdk._bindings.client'
- accel(self: ouster.sdk._bindings.client.ImuPacket) numpy.ndarray[numpy.float32[m, 3]]
- accel_ts(self: ouster.sdk._bindings.client.ImuPacket) int
- av_x(self: ouster.sdk._bindings.client.ImuPacket) float
- av_y(self: ouster.sdk._bindings.client.ImuPacket) float
- av_z(self: ouster.sdk._bindings.client.ImuPacket) float
- gyro(self: ouster.sdk._bindings.client.ImuPacket) numpy.ndarray[numpy.float32[m, 3]]
- gyro_ts(self: ouster.sdk._bindings.client.ImuPacket) int
- la_x(self: ouster.sdk._bindings.client.ImuPacket) float
- la_y(self: ouster.sdk._bindings.client.ImuPacket) float
- la_z(self: ouster.sdk._bindings.client.ImuPacket) float
- measurement_id(self: ouster.sdk._bindings.client.ImuPacket) numpy.ndarray[numpy.uint16[m, 1]]
- nmea_sentence(self: ouster.sdk._bindings.client.ImuPacket) str
- nmea_ts(self: ouster.sdk._bindings.client.ImuPacket) int
- status(self: ouster.sdk._bindings.client.ImuPacket) numpy.ndarray[numpy.uint16[m, 1]]
- sys_ts(self: ouster.sdk._bindings.client.ImuPacket) int
- timestamp(self: ouster.sdk._bindings.client.ImuPacket) numpy.ndarray[numpy.uint64[m, 1]]
ZonePacket
- class ZonePacket(self: ouster.sdk._bindings.client.ZonePacket, size: int = 65536)
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.ZonePacket, arg0: dict) ouster.sdk._bindings.client.ZonePacket
- __init__(self: ouster.sdk._bindings.client.ZonePacket, size: int = 65536) None
- __module__ = 'ouster.sdk._bindings.client'
PacketValidationFailure
- class PacketValidationFailure(self: ouster.sdk._bindings.client.PacketValidationFailure, value: int)
Members:
NONE
PACKET_SIZE
ID
- ID = <PacketValidationFailure.ID: 2>
- NONE = <PacketValidationFailure.NONE: 0>
- PACKET_SIZE = <PacketValidationFailure.PACKET_SIZE: 1>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __ge__(self: object, other: object) bool
- __getstate__(self: object) int
- __gt__(self: object, other: object) bool
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.PacketValidationFailure) int
- __init__(self: ouster.sdk._bindings.client.PacketValidationFailure, value: int) None
- __int__(self: ouster.sdk._bindings.client.PacketValidationFailure) int
- __le__(self: object, other: object) bool
- __lt__(self: object, other: object) bool
- __members__ = {'ID': <PacketValidationFailure.ID: 2>, 'NONE': <PacketValidationFailure.NONE: 0>, 'PACKET_SIZE': <PacketValidationFailure.PACKET_SIZE: 1>}
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.PacketValidationFailure, state: int) None
- __str__(self: object) str
- property name
- property value
PacketFormat
- class PacketFormat(self: ouster.sdk._bindings.client.PacketFormat, arg0: ouster.sdk._bindings.client.SensorInfo)
- __annotations__ = {}
- __init__(self: ouster.sdk._bindings.client.PacketFormat, arg0: ouster.sdk._bindings.client.SensorInfo) None
- __module__ = 'ouster.sdk._bindings.client'
- alert_flags(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- calculate_crc(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- property col_header_size
- property col_size
- property columns_per_packet
- countdown_shot_limiting(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- countdown_thermal_shutdown(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- crc(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int | None
- field_bitness(self: ouster.sdk._bindings.client.PacketFormat, arg0: str) int
- field_value_mask(self: ouster.sdk._bindings.client.PacketFormat, arg0: str) int
- property fields
Return an iterator of available channel fields.
- frame_id(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- static from_data_format(arg0: ouster.sdk._bindings.client.DataFormat) ouster.sdk._bindings.client.PacketFormat
- static from_info(arg0: ouster.sdk._bindings.client.SensorInfo) ouster.sdk._bindings.client.PacketFormat
- static from_metadata(arg0: ouster.sdk._bindings.client.SensorInfo) ouster.sdk._bindings.client.PacketFormat
- imu_accel_ts(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- imu_av_x(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- imu_av_y(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- imu_av_z(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- imu_gyro_ts(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- imu_la_x(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- imu_la_y(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- imu_la_z(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) float
- property imu_measurements_per_packet
- property imu_packet_size
- property imu_packets_per_frame
- imu_sys_ts(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- init_id(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- property lidar_packet_size
- property max_frame_id
- packet_field(self: ouster.sdk._bindings.client.PacketFormat, arg0: str, arg1: Buffer) numpy.ndarray
- packet_header(self: ouster.sdk._bindings.client.PacketFormat, arg0: object, arg1: Buffer) numpy.ndarray
- property packet_header_size
- packet_type(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- property pixels_per_column
- prod_sn(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- shot_limiting(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- thermal_shutdown(self: ouster.sdk._bindings.client.PacketFormat, arg0: Buffer) int
- property udp_profile_lidar
- property zone_packet_size
PacketWriter
- class PacketWriter
- __annotations__ = {}
- __init__(*args, **kwargs)
- __module__ = 'ouster.sdk._bindings.client'
- static from_data_format(arg0: ouster.sdk._bindings.client.DataFormat) ouster.sdk._bindings.client.PacketWriter
- static from_info(arg0: ouster.sdk._bindings.client.SensorInfo) ouster.sdk._bindings.client.PacketWriter
- set_alert_flags(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int) None
- set_col_measurement_id(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int, arg2: int) None
- set_col_status(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int, arg2: int) None
- set_col_timestamp(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int, arg2: int) None
- set_field(*args, **kwargs)
Overloaded function.
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.uint8]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.uint16]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.uint32]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.uint64]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.int8]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.int16]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.int32]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.int64]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.float32]) -> None
set_field(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: str, arg2: numpy.ndarray[numpy.float64]) -> None
- set_frame_id(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int) None
- set_shot_limiting_countdown(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int) None
- set_shutdown_countdown(self: ouster.sdk._bindings.client.PacketWriter, arg0: ouster::sdk::core::LidarPacket, arg1: int) None
Version
- class Version(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.Version) -> None
__init__(self: ouster.sdk._bindings.client.Version, major: int, minor: int, patch: int) -> None
- __annotations__ = {}
- __eq__(self: ouster.sdk._bindings.client.Version, arg0: ouster.sdk._bindings.client.Version) bool
- __hash__ = None
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.Version) -> None
__init__(self: ouster.sdk._bindings.client.Version, major: int, minor: int, patch: int) -> None
- __le__(self: ouster.sdk._bindings.client.Version, arg0: ouster.sdk._bindings.client.Version) bool
- __lt__(self: ouster.sdk._bindings.client.Version, arg0: ouster.sdk._bindings.client.Version) bool
- __module__ = 'ouster.sdk._bindings.client'
- property build
- static from_string(arg0: str) ouster.sdk._bindings.client.Version
- property machine
- property major
- property minor
- property patch
- property prerelease
- property stage
ValidatorIssues
ValidatorEntry
- class ValidatorEntry
- __annotations__ = {}
- __init__(*args, **kwargs)
- __module__ = 'ouster.sdk._bindings.client'
- __repr__(self: ouster.sdk._bindings.client.ValidatorEntry) str
Get the string representation of a ValidatorEntry
- Returns:
returns the string representation of a ValidatorEntry
- __str__(self: ouster.sdk._bindings.client.ValidatorEntry) str
Get the string representation of a ValidatorEntry
- Returns:
returns the string representation of a ValidatorEntry
- get_msg(self: ouster.sdk._bindings.client.ValidatorEntry) str
Get the message of the ValidatorEntry
- Returns:
returns the message of the ValidatorEntry
- get_path(self: ouster.sdk._bindings.client.ValidatorEntry) str
Get the entry path to the issue.
- Returns:
returns the entry path to the issue.
ScanBatcher
- class ScanBatcher(self: ouster.sdk._bindings.client.ScanBatcher, arg0: ouster.sdk._bindings.client.SensorInfo)
- __annotations__ = {}
- __call__(self: ouster.sdk._bindings.client.ScanBatcher, arg0: ouster.sdk._bindings.client.Packet, arg1: ouster.sdk._bindings.client.LidarScan) bool
- __init__(self: ouster.sdk._bindings.client.ScanBatcher, arg0: ouster.sdk._bindings.client.SensorInfo) None
- __module__ = 'ouster.sdk._bindings.client'
- batched_packets(self: ouster.sdk._bindings.client.ScanBatcher) int
- reset(self: ouster.sdk._bindings.client.ScanBatcher) None
ScanSource
- class ScanSource(self: ouster.sdk._bindings.client.ScanSource)
ScanSource is a base class for reading point cloud data from various sources.
- __annotations__ = {}
- __enter__(self: ouster.sdk._bindings.client.ScanSource) None
- __exit__(self: ouster.sdk._bindings.client.ScanSource, arg0: object, arg1: object, arg2: object) None
- __getitem__(*args, **kwargs)
Overloaded function.
__getitem__(self: ouster.sdk._bindings.client.ScanSource, arg0: int) -> ouster.sdk._bindings.client.LidarScanSet
__getitem__(self: ouster.sdk._bindings.client.ScanSource, arg0: slice) -> ouster::sdk::core::Slicer
- __init__(self: ouster.sdk._bindings.client.ScanSource) None
- __iter__(self: ouster.sdk._bindings.client.ScanSource) ouster.sdk._bindings.client.scan_iterator
- __len__(self: ouster.sdk._bindings.client.ScanSource) int
- __length_hint__(self: ouster.sdk._bindings.client.ScanSource) int
- __module__ = 'ouster.sdk._bindings.client'
- clip(fields, lower, upper)
limits the values of the specified set of fields to within the range = [lower, upper], any value that exceeds this range is replaced by zero.
- close(self: ouster.sdk._bindings.client.ScanSource) None
- property full_index
- property individual_index
- property is_indexed
- property is_live
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
- mask(fields, masks)
- reduce(beams)
Takes a regular ScanSource and reduces the beams count to the specified values.
- Return type:
- property scans_num
- property sensor_info
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.
- single(self: ouster.sdk._bindings.client.ScanSource, arg0: int) ouster::sdk::core::Singler
- single_iter(self: ouster.sdk._bindings.client.ScanSource, arg0: int) ouster.sdk._bindings.client.scan_iterator
- slice(self: ouster.sdk._bindings.client.ScanSource, arg0: slice) ouster::sdk::core::Slicer
MultiScanSource
- class MultiScanSource(self: ouster.sdk._bindings.client.MultiScanSource, sources: object)
- __annotations__ = {}
- __init__(self: ouster.sdk._bindings.client.MultiScanSource, sources: object) None
- __module__ = 'ouster.sdk._bindings.client'
LidarScanSet
- class LidarScanSet(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.LidarScanSet) -> None
__init__(self: ouster.sdk._bindings.client.LidarScanSet, arg0: list[ouster.sdk._bindings.client.LidarScan]) -> None
- __annotations__ = {}
- __deepcopy__(self: ouster.sdk._bindings.client.LidarScanSet, arg0: dict) ouster.sdk._bindings.client.LidarScanSet
- __eq__(self: ouster.sdk._bindings.client.LidarScanSet, arg0: ouster.sdk._bindings.client.LidarScanSet) bool
- __getitem__(self: ouster.sdk._bindings.client.LidarScanSet, arg0: int) ouster.sdk._bindings.client.LidarScan
- __hash__ = None
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: ouster.sdk._bindings.client.LidarScanSet) -> None
__init__(self: ouster.sdk._bindings.client.LidarScanSet, arg0: list[ouster.sdk._bindings.client.LidarScan]) -> None
- __iter__(self: ouster.sdk._bindings.client.LidarScanSet) Iterator[ouster.sdk._bindings.client.LidarScan]
- __len__(self: ouster.sdk._bindings.client.LidarScanSet) int
- __module__ = 'ouster.sdk._bindings.client'
- __repr__(self: ouster.sdk._bindings.client.LidarScanSet) str
- add_field(*args, **kwargs)
Overloaded function.
add_field(self: ouster.sdk._bindings.client.LidarScanSet, arg0: str, arg1: numpy.ndarray) -> numpy.ndarray
add_field(self: ouster.sdk._bindings.client.LidarScanSet, name: str, dtype: type, shape: tuple = ()) -> numpy.ndarray
- del_field(self: ouster.sdk._bindings.client.LidarScanSet, arg0: str) numpy.ndarray
- field(self: ouster.sdk._bindings.client.LidarScanSet, arg0: str) object
- property fields
- has_field(self: ouster.sdk._bindings.client.LidarScanSet, arg0: str) bool
- valid_indices(self: ouster.sdk._bindings.client.LidarScanSet) Iterator[int]
Return an iterator to the indices for scans that are valid.
- valid_scans(self: ouster.sdk._bindings.client.LidarScanSet) Iterator[ouster.sdk._bindings.client.LidarScan]
Return an iterator for scans that are valid.
BloomReductionOptimization
- class BloomReductionOptimization(self: ouster.sdk._bindings.client.BloomReductionOptimization, value: int)
Bloom Reduction Optimization.
Members:
BALANCED
MINIMIZE_FALSE_POSITIVES
- BALANCED = <BloomReductionOptimization.BALANCED: 0>
- MINIMIZE_FALSE_POSITIVES = <BloomReductionOptimization.MINIMIZE_FALSE_POSITIVES: 1>
- __annotations__ = {}
- __eq__(self: object, other: object) bool
- __getstate__(self: object) int
- __hash__(self: object) int
- __index__(self: ouster.sdk._bindings.client.BloomReductionOptimization) int
- __init__(self: ouster.sdk._bindings.client.BloomReductionOptimization, value: int) None
- __int__(self: ouster.sdk._bindings.client.BloomReductionOptimization) int
- __members__ = mappingproxy({'BALANCED': <BloomReductionOptimization.BALANCED: 0>, 'MINIMIZE_FALSE_POSITIVES': <BloomReductionOptimization.MINIMIZE_FALSE_POSITIVES: 1>})
- __module__ = 'ouster.sdk._bindings.client'
- __ne__(self: object, other: object) bool
- __repr__(self: object) str
- __setstate__(self: ouster.sdk._bindings.client.BloomReductionOptimization, state: int) None
- __str__(self: ouster.sdk._bindings.client.BloomReductionOptimization) str
- static from_string(arg0: str) object
Create enum value from string.
- property name
The name of the Enum member.
- property value
The value of the Enum member.
- values = <iterator object>
init_logger
- init_logger()
Initializes and configures ouster_client logs. This method should be invoked only once before calling any other method from the library if the user wants to direct the library log statements to a different medium (other than console which is the default).
- Parameters:
client. (log_level Control the level of log messages outputed by the) – Valid options are (case-sensitive): “trace”, “debug”, “info”, “warning”, “error”, “critical” and “off”.
log_file_path (str) – Path to location where log files are stored. The path must be in a location that the process has write access to. If an empty string is provided then the logs will be directed to the console. When an empty string is passed then the rest of parameters are ignored.
rotating (bool) – Configure the log file with rotation, rotation rules are specified through the two following parameters max_size_in_bytes and max_files. If rotating is set to false the following parameters are ignored
max_size_in_bytes (int) – Maximum number of bytes to write to a rotating log file before starting a new file. ignored if rotating is set to False.
max_files (int) – Maximum number of rotating files to accumlate before re-using the first file. ignored if rotating is set to False.
- Returns:
returns True on success, False otherwise.
get_field_types
- get_field_types(*args, **kwargs)
Overloaded function.
get_field_types(info: ouster::sdk::core::SensorInfo) -> list[ouster.sdk._bindings.client.FieldType]
Extracts LidarScan fields with types for a given SensorInfo
- Args:
info: sensor metadata for which to find fields types
- Returns:
returns field types
get_field_types(format: ouster::sdk::core::DataFormat, version: ouster::sdk::core::Version) -> list[ouster.sdk._bindings.client.FieldType]
Extracts LidarScan fields with types for a given SensorInfo
- Args:
info: sensor data format for which to find field types fw_version: sensor firmware version
- Returns:
returns field types
get_field_types(udp_profile_lidar: ouster::sdk::core::UDPProfileLidar) -> list[ouster.sdk._bindings.client.FieldType]
Extracts LidarScan fields with types for a given
udp_profile_lidar- Args:
udp_profile_lidar: lidar profile from which to get field types
- Returns:
returns field types
parse_and_validate_metadata
- parse_and_validate_metadata(arg0: str) tuple[Optional[ouster::sdk::core::SensorInfo], ouster.sdk._bindings.client.ValidatorIssues]
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)
parse_and_validate_sensor_config
- parse_and_validate_sensor_config(arg0: str) tuple[ouster.sdk._bindings.client.SensorConfig, ouster::sdk::core::ValidatorIssues]
dewarp
- dewarp(*args, **kwargs)
Overloaded function.
dewarp(points: numpy.ndarray[numpy.float64], poses: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]
Applies a set of 4x4 pose transformations to a collection of 3D points. :param points: A NumPy array of shape (H, W, 3) representing the 3D points. :param poses: A NumPy array of shape (W, 4, 4) representing the 4x4 pose
- Returns:
A NumPy array of shape (H, W, 3) containing the dewarped 3D points
dewarp(points: numpy.ndarray[numpy.float32], poses: numpy.ndarray[numpy.float32]) -> numpy.ndarray[numpy.float32]
Applies a set of 4x4 pose transformations to a collection of 3D points (float precision). :param points: A NumPy array of shape (H, W, 3) representing the 3D points (float32). :param poses: A NumPy array of shape (W, 4, 4) representing the 4x4 pose (float32)
- Returns:
A NumPy array of shape (H, W, 3) containing the dewarped 3D points (float32)
transform
- transform(*args, **kwargs)
Overloaded function.
transform(points: numpy.ndarray[numpy.float64], pose: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]
Applies a single of 4x4 pose transformations to a collection of 3D points. Args: points: A NumPy array of shape (H, W, 3), or (N, 3) pose: A NumPy array of shape (4, 4) representing the 4x4 pose
Return: A NumPy array of shape (H, W, 3) or (N, 3) containing the transformed 3D points after applying the corresponding 4x4 transformation matrices to the points
transform(points: numpy.ndarray[numpy.float32], pose: numpy.ndarray[numpy.float32]) -> numpy.ndarray[numpy.float32]
Applies a single of 4x4 pose transformations to a collection of 3D points (float precision). Args: points: A NumPy array of shape (H, W, 3), or (N, 3) (float32) pose: A NumPy array of shape (4, 4) representing the 4x4 pose (float32)
Return: A NumPy array of shape (H, W, 3) or (N, 3) containing the transformed 3D points (float32) after applying the corresponding 4x4 transformation matrices to the points
interp_pose
- interp_pose(x_interp: numpy.ndarray[numpy.float64], x_known: numpy.ndarray[numpy.float64], poses_known: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
Interpolate 4x4 pose matrices at given x-coordinate values (double precision). :param x_interp: (N,) or (N,1) array of interpolation x values (float64) :param x_known: (M,) or (M,1) array of known x values (float64) :param poses_known: (M, 4, 4) array of known pose matrices (float64)
- Returns:
(N, 4, 4) array of interpolated pose matrices (float64)
interp_pose_float
- interp_pose_float(x_interp: numpy.ndarray[numpy.float64], x_known: numpy.ndarray[numpy.float64], poses_known: numpy.ndarray[numpy.float32]) numpy.ndarray[numpy.float32]
Interpolate 4x4 pose matrices at given x-coordinate values (float precision for poses). :param x_interp: (N,) or (N,1) array of interpolation x values (float64) :param x_known: (M,) or (M,1) array of known x values (float64) :param poses_known: (M, 4, 4) array of known pose matrices (float32)
- Returns:
(N, 4, 4) array of interpolated pose matrices (float32)
euler_pose_to_matrix
- euler_pose_to_matrix(arg0: numpy.ndarray[numpy.float64[6, 1]]) numpy.ndarray[numpy.float64[4, 4]]
Convert a pose given in Euler angles and translation to a 4x4 transformation matrix.
- The pose vector should contain the following elements in order:
[roll, pitch, yaw, x, y, z]
where roll, pitch, and yaw are in radians.
- Returns:
A 4x4 homogeneous transformation matrix.
quaternion_pose_to_matrix
- quaternion_pose_to_matrix(arg0: numpy.ndarray[numpy.float64[7, 1]]) numpy.ndarray[numpy.float64[4, 4]]
Convert a pose given as a quaternion and translation to a 4x4 transformation matrix.
- The pose vector should contain the following elements in order:
[qw, qx, qy, qz, x, y, z]
- Returns:
A 4x4 homogeneous transformation matrix.
collate
- collate(source: ouster.sdk._bindings.client.ScanSource, dt: int = 210000000) ouster.sdk._bindings.client.Collator
Collate scans from a scan source.
This function creates a Collator object that combines scans from a scan source.
- Parameters:
source (ScanSource) – The scan source to collate.
dt (int) – The time delta in nanoseconds for collating scans. Default is 210000000.
- Returns:
A collator object for the given scan source.
- Return type:
Collator
read_pointcloud
- read_pointcloud(arg0: str) numpy.ndarray[numpy.float32[m, 3]]
[BETA] Loads the 3D X Y and Z points from a PCD or PLY file and returns them as Nx3 matrix.
- Parameters:
filename – filename to load
- Returns:
Nx3 matrix of the resulting points.
Note
This is a beta feature and its API may change in future releases.
voxel_downsample
- voxel_downsample(voxel_size: numpy.ndarray[numpy.float64], pts: numpy.ndarray[numpy.float64], attributes: numpy.ndarray[numpy.float64], min_points_per_voxel: int = 1) tuple[numpy.ndarray[numpy.float64[m, 3]], numpy.ndarray[numpy.float64[m, n]]]
[BETA] Downsample a pointcloud using a voxel grid of the requested resolution.
- Parameters:
voxel_size – The size of the voxel grid.
pts – Nx3 matrix of points to downsample.
attributes – A dictionary of attributes to downsample.
min_points_per_voxel – Minimum number of points per voxel to keep.
- Returns:
A tuple containing the downsampled points and attributes.
Note
This is a beta feature and its API may change in future releases.
add_custom_profile
- add_custom_profile(arg0: int, arg1: str, arg2: list[tuple[str, ouster.sdk._bindings.client.FieldInfo]], arg3: int) None
normals
- normals(*args, **kwargs)
Overloaded function.
normals(xyz: numpy.ndarray, range: numpy.ndarray, sensor_origins_xyz: numpy.ndarray, pixel_search_range: int = 1, min_angle_of_incidence_rad: float = 0.017453292519943295, target_distance_m: float = 0.025) -> numpy.ndarray[numpy.float64]
Compute normals from destaggered XYZ/range arrays.
- Parameters:
xyz – destaggered XYZ coordinates for the first return (H, W, 3)
range – destaggered range image for the first return (H, W)
sensor_origins_xyz – per-column sensor origins in the same frame as xyz/range, shape (W, 3). For world-frame xyz, use (scan.pose @ scan.sensor_info.extrinsic)[:, :3, 3]. For sensor-frame xyz, pass zeros with shape (W, 3) (e.g. np.zeros((w, 3))).
pixel_search_range – axial search radius (in pixels) when gathering neighbours
min_angle_of_incidence_rad – minimum allowable incidence angle between a beam and surface (radians) (default: 1 deg, ~0.01745 rad)
target_distance_m – target neighbour distance used when selecting candidate points
- Returns:
A destaggered normal array of shape (H, W, 3) for the provided return.
normals(xyz: numpy.ndarray, range: numpy.ndarray, xyz2: numpy.ndarray, range2: numpy.ndarray, sensor_origins_xyz: numpy.ndarray, pixel_search_range: int = 1, min_angle_of_incidence_rad: float = 0.017453292519943295, target_distance_m: float = 0.025) -> tuple[numpy.ndarray[numpy.float64], numpy.ndarray[numpy.float64]]
Compute normals for both first and second returns from destaggered XYZ/range arrays.
- Parameters:
xyz – destaggered XYZ coordinates for the first return (H, W, 3)
range – destaggered range image for the first return (H, W)
xyz2 – destaggered XYZ coordinates for the second return (H, W, 3)
range2 – destaggered range image for the second return (H, W)
sensor_origins_xyz – per-column sensor origins in the same frame as xyz/range, shape (W, 3). For world-frame xyz, use (scan.pose @ scan.sensor_info.extrinsic)[:, :3, 3]. For sensor-frame xyz, pass zeros.
pixel_search_range – axial search radius (in pixels) when gathering neighbours
min_angle_of_incidence_rad – minimum allowable incidence angle between a beam and surface (radians) (default: 1 deg, ~0.01745 rad)
target_distance_m – target neighbour distance used when selecting candidate points
- Returns:
A tuple of destaggered normal arrays (first_return_normals, second_return_normals).