Protobuf Python bindings for A42 sensor data
Project description
📦 A42 Protobuf Bindings (a42-proto)
Dieses Python-Paket enthält die Protobuf-Bindings für Sensordaten im A42-Format. Es erlaubt das einfache Einlesen und Verarbeiten von LiDAR-Scans und zugehörigen Objektinformationen.
🔽 Datendownload
📥 Installation
pip install a42-proto
🧪 Beispielskripte
analyze_proto.py– aggregierte Auswertung über Frames, Scans, Punkte, Objektevisualize_pointcloud.py– zeigt eine Punktwolke in Open3D
📄 Data Structure
Frame
frame_timestamp_ns– global timestamp in nanosecondslidars[]– list ofLidarScanmessagesframe_id- unique identifier for the frame
Example:
first_scan = frame.lidars[0]
LidarScan
laser_name– sensor identifier (LaserNameenum)scan_timestamp_ns– timestamp of this scan (ns)pointcloud– LiDAR point cloud (PointCloud)calibration– sensor calibration (SensorCalibration)object_list[]– detected objects (ObjectBBox)
Example:
objects = scan.object_list[0]
PointCloud
All fields are stored as byte arrays and must be decoded into NumPy arrays.
cartesian– XYZ coordinates (float32, shape N×3)intensity– intensity values (uint16)ambient– ambient light / signal quality (uint16)velocity– point-wise velocity (float32)reflectivity– reflectivity values (uint16)timestamp_offset– per‑point timestamp offset (uint64ns)channel_id– channel index (uint16)
Example decoding:
import numpy as np
xyz = np.frombuffer(pc.cartesian, dtype=np.float32).reshape(-1, 3)
intensity = np.frombuffer(pc.intensity, dtype=np.uint16)
ObjectBBox
id– object IDtimestamp_ns– timestamp of the object (ns)position {x,y,z}– center positiondimension {x,y,z}– object sizeorientation {x,y,z,w}– quaternion orientationvelocity {x,y,z}– velocity vectorpointcloud– sub‑pointcloud inside the bounding boxobj_class– semantic classobj_class_score– classification confidence
Example:
pos = obj.position
SensorCalibration
sensor_name– sensor identifierextrinsic[]– 4×4 row‑major extrinsic matrixvertical_fov,horizontal_fov– field of viewvertical_scanlines,horizontal_scanlines– resolutionhorizontal_angle_spacing– angle spacing (deg)beam_altitude_angles[]– altitude anglesbeam_azimuth_angles[]– azimuth anglesframe_mode– scan modescan_pattern– scan pattern identifier
Example:
vfov = scan.calibration.vertical_fov
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file a42_proto-0.4.1.tar.gz.
File metadata
- Download URL: a42_proto-0.4.1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a96f6833b95f9c384ae45c12f4e7ea5c264166b80da9e392f4eaadd65dde95c1
|
|
| MD5 |
132a3db52e1903c9710d0ceb5c279f30
|
|
| BLAKE2b-256 |
d00239b65d95bf3fe17d82726bb0bb925a5c05b2b297e8819274401d24bbee7c
|
File details
Details for the file a42_proto-0.4.1-py3-none-any.whl.
File metadata
- Download URL: a42_proto-0.4.1-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7de0ab05fc44684fdd31397a98b9bfabc0da69e1705eb66263eb704548866dad
|
|
| MD5 |
f7ef93ed277417316602bd2a06a86b1e
|
|
| BLAKE2b-256 |
05b1a1497d1ef912f160a9b75ea96a0748a7c255b011652b007798cb6d4ac391
|