SDK Calibration Configs

struct Metavision::BlinkingDotsGridDetectorAlgorithmConfig

Structure containing the configuration to initialize a BlinkingDotsGridDetectorAlgorithm.

Public Members

timestamp processing_timestep = 0

Determines the output periodicity of the algorithm. The callback will be called every processing_timestep microseconds. If set to 0, the execution will be synchronous, meaning that the callback will always be called once at the end of each call to BlinkingDotsGridDetectorAlgorithm::process_events.

int num_rows = 0

Number of horizontal lines of points in the grid.

int num_cols = 0

Number of vertical lines of points in the grid.

float distance_between_rows = 1.f

Distance between two consecutive rows in the grid.

float distance_between_cols = 1.f

Distance between two consecutive columns in the grid.

float special_freq = 0.f

Special frequency, frequency of the first row of the grid, in Hz.

float normal_freq = 0.f

Normal frequency, in Hz.

timestamp period_diff_thresh_us = 2000

For the frequency estimation, the maximum difference between two successive periods to be considered the same (in us).

int frequency_filter_length = 7

Minimum number of successive stable periods to validate a frequency.

float cluster_center_filter_alpha = 0.05f

Filter constant for the position of the center of the cluster. This value must be > 0 and <=1. Values closer to 1 produce a more reactive, but noisier position estimation.

float max_cluster_frequency_diff = 10.f

Maximum difference to add a frequency event to a cluster, in Hz.

int min_cluster_size = 20

Minimum size of a frequency cluster to be used (in pixels). For a LED grid, larger values can help filtering small clusters produced by reflections, but might prevent detection when the leds are far away.

bool fisheye = false

Allows the detection of strongly distorted grids, as when using a fisheye lens.

struct Metavision::BlinkingFrameGeneratorAlgorithmConfig

Structure to instantiate a Blinking Detector configuration.

Public Functions

BlinkingFrameGeneratorAlgorithmConfig(double accumulation_time, int min_num_blinking_pixels = 100, double blinking_pixels_ratios_on = 0.15, double blinking_pixels_ratios_off = 0.15, int median_blur_radius = 1)


  • accumulation_time: Window of time during which events are considered to detect if a pixel is “blinking”

  • min_num_blinking_pixels: Minimum number of pixels needed to be detected before outputting a frame

  • blinking_pixels_ratios_on: The acceptable ratio of pixels that received only positive events over the number of pixels that received both during the accumulation window

  • blinking_pixels_ratios_off: The acceptable ratio of pixels that received only negative events over the number of pixels that received both during the accumulation window

  • median_blur_radius: Radius of the median blur applied on the mask of positive and negative pixels. a negative value disables the median blur. (diameter = 1 + 2*radius)

Public Members

unsigned int median_blur_diameter_

Diameter of the median blur applied on the mask of positive and negative pixels (diameter = 1 + 2*radius) a zero value disables the median blur.

struct Metavision::DftHighFreqScorerAlgorithmConfig

Structure to instantiate a DftHighFreqScorerAlgorithm configuration.

Public Functions

DftHighFreqScorerAlgorithmConfig(timestamp refresh_period_us = 1e4, bool use_inverted_gray = false, bool speed_up = false, double high_pass_filter_dft_rows_ratio = 1.0 / 8)


  • refresh_period_us: Time period between two consecutive process (Skip the blinking frames that are too close in time to the last one processed)

  • use_inverted_gray: Invert the gray levels so that white becomes black (and conversely) If true, map linearly 0 to 255 and 255 to 0; if false, keep the pixel intensity.

  • speed_up: Skip the process if the frame hasn’t changed

  • high_pass_filter_dft_rows_ratio: Ratio of the image’s height determining the radius for the High Pass Filter on the DFT (Ex: if ratio = 1/8 and (width,height) = (640,480), then radius = 480/8 = 60 for the filter)