Open modules samples

Metavision Open Modules

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:

Name

Description

Module

Using SDK

pipelines

UI framework

used for display

Main algorithms or classes

demonstrated in the sample

metavision_software_info

Prints information on the installed software

(e.g. software version)

Base

No

N/A

SoftwareInfo

metavision_sdk_get_started

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

Camera

PeriodicFrameGenerationAlgorithm

metavision_viewer

Displays data from an event-based camera or from a RAW file

using SDK Driver API

Driver

No

OpenCV

Camera

CDFrameGenerator

metavision_raw_info

Gets information about a file and prints it to console

Driver

No

N/A

Camera

metavision_raw_to_csv

Converts a file to CSV-formatted file in C++

Driver

Yes

N/A

Camera::from_file

metavision_raw_to_dat

Converts a file to DAT-formatted file

Driver

Yes

N/A

StreamLoggingStage

metavision_raw_to_video

Converts events from a file to AVI video

Core

No

N/A

CvVideoRecorder

PeriodicFrameGenerationAlgorithm

metavision_filtering

Filters events (ROI + polarity) and displays them on the screen

Core

Yes

SDK UI

RoiFilterAlgorithm

PolarityFilterAlgorithm

metavision_composed_viewer

Filters events and shows both unfiltered and filtered events

Core

Yes

SDK UI

FrameCompositionStage

metavision_mosaic_viewer

Combines multiple sources of events (from several RAW files)

and results of their filtering into the same displayed frame

Driver

Yes

SDK UI

PolarityFilterAlgorithm

metavision_csv_viewer

Reads CSV-formatted file and displays events on the screen

Core

Yes

SDK UI

BaseStage

metavision_simple_windows

Shows how to create and interact with basic windows

UI

No

SDK UI

Window

MTWindow

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 algorithm or classes demonstrated in the sample.

Name

Description

Module

Main algorithms or classes

demonstrated in the sample

metavision_sdk_get_started

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

EventsIterator

PeriodicFrameGenerationAlgorithm

metavision_simple_viewer

Displays events from an event-based camera

or from a RAW file

Core

LiveReplayEventsIterator

PeriodicFrameGenerationAlgorithm

metavision_raw_to_csv

Converts RAW file to CSV-formatted file in Python

Core

EventsIterator

metavision_filtering

Filters events (ROI + polarity) and displays them on the screen

Core

PolarityFilterAlgorithm

RoiFilterAlgorithm

metavision_csv_viewer

Reads CSV-formatted file and displays events on the screen

Core

PeriodicFrameGenerationAlgorithm

metavision_interop

Reads multiple AER events file formats and

displays events on the screen

Core

EventsIterator

metavision_sync

Synchronizes event-based cameras

Core

initiate_device

metavision_adaptive_rate

Reads RAW, dynamically splits into event frames based on the

content of the stream, and displays result on screen

Core

AdaptiveRateEventsIterator

AdaptiveRateEventsSplitterAlgorithm

demo_event_to_video

Demonstrates Event to Video ML pipeline

Core ML

EventToVideoLightningModel

train_event_to_video

Trains Event to Video ML pipeline

Core ML

EventToVideoLightningModel

viz_data_event_to_video

Visualize Event to Video training data

Core ML

GPUEBSIM

viz_video_to_event_simulator

Demonstrates CPU Video to Event ML pipeline

Core ML

viz_events

viz_video_to_event_gpu_simulator

Demonstrates GPU Video to Event ML pipeline

Core ML

GPUEventSimulator

HAL samples

HAL is the API to access camera features 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

metavision_hal_ls

Lists all connected Prophesee devices

DeviceDiscovery

metavision_platform_info

Prints information on the platform, connected Prophesee devices,

and installed software (useful for debug)

I_HW_Identification

metavision_raw_cutter

Cuts RAW file from/to given time

I_Decoder

I_EventsStream

metavision_hal_seek

Seek in a RAW file

I_EventsStream

metavision_hal_viewer

Visualizes events from event-based cameras

I_TriggerIn

I_TriggerOut

EventExtTrigger

I_Monitoring

I_LL_Biases

I_EventRateNoiseFilterModule

metavision_hal_sync

Synchronizes event-based cameras

I_DeviceControl

metavision_hal_sample_plugin

Provides an example of HAL plugin

CameraDiscovery

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 Events Iterator tutorial and check the HAL Python API documentation.