Open modules samples
Table of Contents
Open modules C++ samples
C++ samples of the open modules allow you to understand the building blocks of the SDK by starting from basic examples. If you want to start programming from the ground up, you should start with the C++ Get Started tutorial.
In the following table, for each sample, you will find:
its module
if the sample is using the SDK pipelines
the main algorithms or classes demonstrated in the sample
Name |
Description |
Module |
Using SDK pipelines |
UI framework used for display |
Main algorithms or classes demonstrated in the sample |
---|---|---|---|---|---|
Prints information on the installed software (e.g. software version) |
Base |
No |
N/A |
||
Sample explained step by step that shows how to print statistics and display frames from an event-based camera or from a RAW file |
Core |
No |
SDK UI |
||
Application that detects and masks active pixels (application designed for future sensors) |
Driver |
No |
OpenCV |
||
Displays data from an event-based camera or from a RAW, DAT or HDF5 file using SDK Driver API |
Driver |
No |
OpenCV |
||
Displays data from an EVK3D stream as a depth map |
Driver |
No |
OpenCV |
||
Cuts RAW or HDF5 event file from/to given time |
Driver |
No |
N/A |
||
Gets information about an event file and prints it to console |
Driver |
No |
N/A |
||
Converts an event file to CSV-formatted file in C++ |
Driver |
No |
N/A |
||
Converts an event file to DAT-formatted file |
Driver |
No |
N/A |
||
Converts an event file to an HDF5 event file in C++ |
Driver |
Yes |
N/A |
||
Converts an event file to an AVI video |
Core |
No |
N/A |
||
Filters events (ROI + polarity) and displays them on the screen |
Core |
Yes |
SDK UI |
||
Filters events and shows both unfiltered and filtered events |
Core |
Yes |
SDK UI |
||
Reads CSV-formatted file and displays events on the screen |
Core |
Yes |
SDK UI |
||
Generate and displays histo/diff event frames from event files |
Core |
No |
SDK UI |
||
Preprocesses raw event frame files on a GPU using CUDA |
Core |
No |
N/A |
||
Displays Time Surface of events |
Core |
No |
SDK UI |
||
Shows how to create and interact with basic windows |
UI |
No |
SDK UI |
Open modules Python samples
Python samples of the open modules allow you to understand the building blocks of the SDK by starting from basic examples. If you want to start programming from the ground up, you should start with the Python Get started tutorial.
In the following table, for each sample, you will find its modules and the main algorithms or classes demonstrated in the sample.
Name |
Description |
Module |
Main algorithms or classes demonstrated in the sample |
---|---|---|---|
Sample explained step by step that shows how to print statistics and display frames from an event-based camera or from a RAW file |
Core |
||
Displays events from an event-based camera or from an event file (RAW, DAT or HDF5) |
Core |
||
Record events from an event-based camera to a RAW file |
Core |
||
Converts event file (RAW, DAT or HDF5) file to CSV-formatted file in Python |
Core |
||
Filters events (ROI + polarity) and displays them on the screen |
Core |
||
Reads CSV-formatted file and displays events on the screen |
Core |
||
Reads multiple AER event file formats and displays events on the screen |
Core |
||
Synchronizes event-based cameras |
Core |
||
Reads RAW, dynamically splits into event frames based on the content of the stream, and displays result on screen |
Core |
||
Displays Time Surface of events |
Core |
||
Demonstrates Event to Video ML pipeline |
Core ML |
||
Trains Event to Video ML pipeline |
Core ML |
||
Visualize Event to Video training data |
Core ML |
||
Demonstrates CPU Video to Event ML pipeline |
Core ML |
||
Demonstrates GPU Video to Event ML pipeline |
Core ML |
||
Demonstrates Corner Detection ML pipeline |
Core ML |
||
Trains Corner Detection ML pipeline |
Core ML |
HAL C++ samples
HAL is the API to access camera functionalities in a generic way (i.e. hiding the hardware specificities of each device). You can discover how to operate and tune sensors and cameras using this API. The samples listed in the table below can be used as starting point.
Note
If you want to build a full-featured application in C++ (with display, data conversion etc.),
you might consider using the Driver module that offers a user-friendly API to
access the camera and the data with the Camera class (Metavision::Camera
). Follow the tutorial
Get Started using C++ to discover SDK Driver C++ API. And if you want to code
in Python, follow the tutorial Python Get started that shows how you can
use EventsIterator
to stream events.
Name |
Description |
Main algorithm or class demonstrated in the sample |
---|---|---|
Lists all connected Prophesee devices |
||
Prints information on the platform, connected devices, and installed software (useful for debug) |
||
Cuts RAW file from/to given time |
||
Seek in a RAW file |
||
Showcases various HAL API facilities |
||
Synchronizes event-based cameras |
|
|
Provides an example of HAL plugin |
Note
The HAL API is available in C++ and Python but we currently have samples only for the C++ API. If you want to use Python, we recommend to follow the Python Getting Started guide and check the HAL Python API documentation.
Camera Plugins Samples
Some samples are showing advanced usage of our sensors.
When installing the SDK from packages/installer, those samples can be found in :
<install-prefix>/share/metavision/hal_psee_plugins/cpp_samples/SAMPLE_NAME
.
Name |
Description |
Sensor |
---|---|---|
metavision_imx636_facility_casting_sample |
Accesses sensor specific implementations of HAL facilities. For more information, check Hardware Layer Library page. |
IMX636 |
metavision_riscv_logger |
Receives log messages from an application embedded in the sensor For more information, launch |
GenX320 |
Samples listed by Module
- HAL
- Base
- Core
- Adaptive Rate Events Splitter using Python
- Composed Viewer Sample using C++
- CSV Viewer Sample using Python
- CSV Viewer Sample using C++
- Event Frame Generation Sample using C++
- Event Frame GPU Loading Sample using C++
- Filtering using Python
- Filtering using C++
- Interoperability Sample using Python
- File to Video
- File to CSV Sample using Python
- Simple Recorder using Python
- Simple Viewer using Python
- Sync Sample
- Time Surface Sample using C++
- Time Surface Sample using Python
- Core ML
- Driver
- UI