Event Processor

EyeLink event processing.

This module provides the EventProcessor class for managing event retrieval and processing from the EyeLink tracker.

class pyelink.events.EventProcessor(device, buffer_length=0)[source]

Bases: object

Processes blink, fixation, and saccade events from EyeLink tracker.

This class manages: - Event retrieval from tracker - Buffering events in ring buffers - Background thread for continuous event monitoring

Parameters:
__init__(device, buffer_length=0)[source]

Initialize event processor.

Parameters:
  • device (EyeLink) – Connected EyeLink instance

  • buffer_length (int) – Number of events to store in ring buffers (0 = no buffering)

Return type:

None

get_event()[source]

Get the latest blink or fixation event over the link.

The link must have been activated first: tracker.startRecording(0, 0, 1, 1) If both eyes are used, the left one is chosen by default.

Eye indices:

0 - left eye 1 - right eye 2 - binocular

Data type constants from pylink:

4 - ENDBLINK event 8 - ENDFIX (fixation end) event 200 - Sample data 0x3F/0 - No data available

Returns:

(event_type, event_prop)
  • event_type: ‘blink’, ‘fixation’, or None

  • event_prop: List of event properties

Return type:

tuple[str | None, list]

start_event_thread()[source]

Start event buffer thread.

Return type:

None

stop_event_thread()[source]

Stop event thread and wait for it to finish.

Return type:

None

shutdown()[source]

Shutdown the thread pool executor gracefully.

Return type:

None

flush_events()[source]

Clear the event buffers.

Return type:

None