Catalog PyPI
Back to packageRELEASE DETAILS

0.4.2

PyPI

a42-proto

Protobuf Python bindings for A42 sensor data

Published29 Nov 2025
Direct dependencies3
Transitive dependenciesNot calculated

README

Version 0.4.2 documentation

📦 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

👉 KIT Sync & Share Download


📥 Installation

pip install a42-proto

🧪 Beispielskripte


📄 Data Structure

Frame

  • frame_timestamp_ns – global timestamp in nanoseconds
  • lidars[] – list of LidarScan messages
  • frame_id - unique identifier for the frame

Example:

first_scan = frame.lidars[0]

LidarScan

  • laser_name – sensor identifier (LaserName enum)
  • 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 (uint64 ns)
  • 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 ID
  • timestamp_ns – timestamp of the object (ns)
  • position {x,y,z} – center position
  • dimension {x,y,z} – object size
  • orientation {x,y,z,w} – quaternion orientation
  • velocity {x,y,z} – velocity vector
  • pointcloud – sub‑pointcloud inside the bounding box
  • obj_class – semantic class
  • obj_class_score – classification confidence

Example:

pos = obj.position

SensorCalibration

  • sensor_name – sensor identifier
  • extrinsic[] – 4×4 row‑major extrinsic matrix
  • vertical_fov, horizontal_fov – field of view
  • vertical_scanlines, horizontal_scanlines – resolution
  • horizontal_angle_spacing – angle spacing (deg)
  • beam_altitude_angles[] – altitude angles
  • beam_azimuth_angles[] – azimuth angles
  • frame_mode – scan mode
  • scan_pattern – scan pattern identifier

Example:

vfov = scan.calibration.vertical_fov

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 3

Native requirements
3 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
protobuf
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
protobufruntime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
numpyruntime
betterproto
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
betterprotoruntime

Distribution files

2 collected
a42_proto-0.4.2-py3-none-any.whl

bdist_wheel · 5.32 KB · Python py3

Source file
a42_proto-0.4.2.tar.gz

sdist · 3.99 KB · Python source

Source file

Repository

PENDING
hse-vsv/datareadera42

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:41 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:0b7e6e305a123c280aac8c96657ef17543fd84a3d23fd573b20c5cd619c55ddb

Other collected versions

View all collected versions →