OMEGAFormat - Python Library
The OMEGAFormat is a data foramt for storing reference and perception data from pilotings, test drives and simulation in urban traffic (and highway). It stores object-list-based trajectory information about dynamic objects together with map information and more. This module enables the creation, and visualization of data conforming to this data format. Additionally, it can check files for conformance and perform basic sanity checks on the data and convert data in OpenDrive and LevelXData data format into the OMEGAFormat.
The OMEGAFormat itself is specified in the OMEGAFormat specification and reference list of signals.
The OMEGAFormat was developed in the German VVMethods Project. For a detailed insight in the role of the OMEGAFormat for Validation and Verification of Automated Driving Systems proposed by VVMethods, take a look at Deliverable 13: Scenario-based Model of the ODD through Scenario Databases
Check out the tutorials in ./tutorials
- 01_Introduction: Introduction to using the library and basic knowledge about the OMEGAFormat.
- 02_CLI_Usage: Examples of how to use the command line interface.
- 03_Converters: Examples of how to convert from existing data formats into the OMEGAFormat.
Installation
If you want an editable install (modifications to the files in the directory are immediately used by the module) run:
pip install -e .[visualization]
Converters
The python library allows the conversion of following data formats into the OMEGAFormat.
- OpenDrive
- LevelXData [tested with inD, highD and exiD]
Data Format
The base of both, the reference data format and the perception data format is the HDF5 file format. This library utilizes h5py to interact with those.
Reference Data
The OMEGAFormat reference recording format is used to store data that represents the 'true' state of road users, infrastructure information, weather and more during a piloting, testing or simulation. The representation is on an object list basis.
The following diagram shows an overview of the hierarchy in the OMEGAFormat reference recording format. A more detailed description can be found in the specification document and the signal list.
Perception Data
The PerceptionRecording format is used to store data that represents what a vehicle under test, sensor under test or similar perceives from its surroundings. It is designed to be compared against the ReferenceRecording format. The following diagram shows an overview of the hierarchy in the PerceptionRecording format. A more detailed description is coming soon.
Further Help
Standalone viewer of hdf5 files
There are plenty of tools, e.g.
- silx (also available on "Ubuntu Software")
- ViTables
- HDFView
- Online-Viewer: MyHDF5
Documentation
You can create a documentation with pdoc3. To do this first install pdoc3 with pip install pdoc3 and then run pdoc3 --http localhost:8889 --template-dir .\doc\templates\ .\omega_format from the root of this repo to view the documentation in your web browser.
License
The library is published under the MIT license specified in LICENSE. An overview over the licenses of the dependencies in this library is listed in LICENSES_OF_REQUIREMENTS.md.
Contact
In case of questions regarding the format, this repository or otherwise related feel free to raise an issue or contact Michael Schuldes (michael.schuldes@ika.rwth-aachen.de).
Acknowledgement
This module is developed by ika - RWTH Aachen as a contribution to the VVM project which aims to develop test procedures and to provide frameworks and methods for the safety verification of automated vehicles. VVM is working on the use case of Urban Intersections and focuses on driving functions up to full automation of vehicles (SAE Level 4 and 5).
The research leading to these results is funded by the German Federal Ministry for Economic Affairs and Energy within the project “Verifikations- und Validierungsmethoden automatisierter Fahrzesuge im urbanen Umfeld". The authors would like to thank the consortium for the successful cooperation.
Metadata
Release files for omega_format 4.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| omega_format-4.4.1.tar.gz | 116.9 kB | Without provenance | Details for omega_format-4.4.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| omega_format-4.4.1-py3-none-any.whl | Python 3 | none | any | Details for omega_format-4.4.1-py3-none-any.whl |
Total release size: 273.8 kB
Release files / omega_format-4.4.1.tar.gz
| Download URL | omega_format-4.4.1.tar.gz |
|---|---|
| Size | 116.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a3cbc85147c54c63b89096e454e0ff483a7716d967d59aa48a16098c5ca6ab26
|
|
BLAKE2b-256 checksum How to use checksums |
216b5f680ad9a9ac8ed604baa58f9802f0b6f7dfec2605f1fb5d3dae552b5792
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.0
|
Release files / omega_format-4.4.1-py3-none-any.whl
| Download URL | omega_format-4.4.1-py3-none-any.whl |
|---|---|
| Size | 156.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
17d46faed666c61c6bb6f8209de241b2dd7b111cdbe7dcc44d8bac237d925865
|
|
BLAKE2b-256 checksum How to use checksums |
9e02554fbeb5d531c0a790658d22e96f1c8f976a2140d9ef5d11f305ddccd91f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.0
|
Security for omega_format 4.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.