/// <summary> /// Connects to found eyetrackers, synchronizes CPU and eyetracker clocks, and attaches event handlers. /// </summary> /// <param name="sender"></param> /// <param name="e">Contains found EyetrackerInfo</param> private static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo); connector.Connect(); // sync CPU and Eyetracker clocks SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread); // detect fixations FixationDetector fixations = new FixationDetector(syncManager); connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived; if (Settings.ProcessorDefinitions.ContainsKey(connector.Info.ProductId)) { foreach (EmdatProcessorSettings settings in Settings.ProcessorDefinitions[connector.Info.ProductId]) { EmdatProcessor processor = new EmdatProcessor(syncManager); processor.CumulativeData = settings.Cumulative; connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived; fixations.FixDetector.FixationEnd += processor.FixationEnd; Processors.Add(settings.ProcessorId, processor); } } }
static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo); connector.Connect(); // sync CPU and Eyetracker clocks SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread); // detect fixations GazeDataFixationHandler fixations = new GazeDataFixationHandler(syncManager); connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived; /*/ print each event to console GazeDataConsolePrintHandler printer = new GazeDataConsolePrintHandler(syncManager); //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; fixations.FixationDetector.FixationEnd += printer.FixationEnd;*/ // windowed print to console GazeDataWindowingPrintHandler printer = new GazeDataWindowingPrintHandler(syncManager); //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; fixations.FixationDetector.FixationEnd += printer.FixationEnd; printer.StartWindow(); while (true) { Thread.Sleep(3000); printer.RenewWindow(true); } }
private void _browser_EyetrackerUpdated(object sender, EyetrackerInfoEventArgs e) { int index = _trackerCombo.Items.IndexOf(e.EyetrackerInfo); if(index >= 0) { _trackerCombo.Items[index] = e.EyetrackerInfo; } }
// EyetrackerRemoved private void _browser_EyetrackerRemoved(object sender, EyetrackerInfoEventArgs e) { if (FEyetrackerInfo.Contains(e.EyetrackerInfo)) { FEyetrackerInfo.Remove(e.EyetrackerInfo); } FUpdate = true; FLogger.Log(LogType.Debug, "Eyetracker has been removed"); }
// EyetrackerUpdated private void _browser_EyetrackerUpdated(object sender, EyetrackerInfoEventArgs e) { EyetrackerInfo Info = e.EyetrackerInfo; if (FEyetrackerInfo.Contains(Info)) { int Index = FEyetrackerInfo.IndexOf(Info); FEyetrackerInfo.RemoveAt(Index); FEyetrackerInfo.Insert(Index, Info); } FUpdate = true; FLogger.Log(LogType.Debug, "Eyetracker has been updated"); }
/// <summary> /// Connects to found eyetrackers, synchronizes CPU and eyetracker clocks, and attaches event handlers. /// </summary> /// <param name="sender"></param> /// <param name="e">Contains found EyetrackerInfo</param> static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo); connector.Connect(); // sync CPU and Eyetracker clocks SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread); // detect fixations FixationDetector fixations = new FixationDetector(syncManager); connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived; /*/ 1. print each event to console * ConsolePrinter printer = new ConsolePrinter(syncManager); * //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; * fixations.FixDetector.FixationEnd += printer.FixationEnd;//*/ /*/ 2. windowed print to console * WindowingConsolePrinter printer = new WindowingConsolePrinter(syncManager); * //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; * fixations.FixDetector.FixationEnd += printer.FixationEnd; * * printer.StartWindow(); * while (true) * { * Thread.Sleep(windowDuration); * printer.ProcessWindow(cumulativeWindows); * }//*/ // 3. process windows with EMDAT EmdatProcessor processor = new EmdatProcessor(syncManager); if (aoiFilePath != null) { processor.AoiFilePath = aoiFilePath; } connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived; fixations.FixDetector.FixationEnd += processor.FixationEnd; processor.StartWindow(); while (true) { Thread.Sleep(windowDuration); processor.ProcessWindow(cumulativeWindows); }//*/ }
private static int windowDuration = 3000; // ms #endregion Fields #region Methods /// <summary> /// Connects to found eyetrackers, synchronizes CPU and eyetracker clocks, and attaches event handlers. /// </summary> /// <param name="sender"></param> /// <param name="e">Contains found EyetrackerInfo</param> static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo); connector.Connect(); // sync CPU and Eyetracker clocks SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread); // detect fixations FixationDetector fixations = new FixationDetector(syncManager); connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived; /*/ 1. print each event to console ConsolePrinter printer = new ConsolePrinter(syncManager); //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; fixations.FixDetector.FixationEnd += printer.FixationEnd;//*/ /*/ 2. windowed print to console WindowingConsolePrinter printer = new WindowingConsolePrinter(syncManager); //connector.Eyetracker.GazeDataReceived += printer.GazeDataReceived; fixations.FixDetector.FixationEnd += printer.FixationEnd; printer.StartWindow(); while (true) { Thread.Sleep(windowDuration); printer.ProcessWindow(cumulativeWindows); }//*/ // 3. process windows with EMDAT EmdatProcessor processor = new EmdatProcessor(syncManager); if (aoiFilePath != null) { processor.AoiFilePath = aoiFilePath; } connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived; fixations.FixDetector.FixationEnd += processor.FixationEnd; processor.StartWindow(); while (true) { Thread.Sleep(windowDuration); processor.ProcessWindow(cumulativeWindows); }//*/ }
static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo); connector.Connect(); // sync CPU and Eyetracker clocks SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread); // detect fixations GazeDataFixationHandler fixations = new GazeDataFixationHandler(syncManager); connector.AddGazeDataHandler(fixations.GazeDataReceived); // print to console GazeDataConsolePrintHandler printer = new GazeDataConsolePrintHandler(syncManager); //connector.AddGazeDataHandler(printer.GazeDataReceived); fixations.FixationDetector.FixationEnd += printer.FixationEnd; }
private void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is found on the network trackerInfo = e.EyetrackerInfo; StatusText.Text = string.Format("Found {0}.", trackerInfo.Model); }
/// <summary> /// The eyetracker found. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is found on the network we add it to the listview availableEyetracker.Add(e.EyetrackerInfo); }
/// <summary> /// The static event handler method that is called whenever an eyetracker /// has been removed. /// </summary> /// <param name="sender"> /// Source of the event /// </param> /// <param name="e"> /// A <see cref="EyetrackerInfoEventArgs"/> with the event data. /// </param> private static void EyetrackerRemoved(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker disappears from the network we remove it from the listview availableEyetracker.Remove(e.EyetrackerInfo); }
/// <summary> /// The static event handler method that is called whenever an eyetracker /// has been updated. /// </summary> /// <param name="sender"> /// Source of the event /// </param> /// <param name="e"> /// A <see cref="EyetrackerInfoEventArgs"/> with the event data. /// </param> private static void EyetrackerUpdated(object sender, EyetrackerInfoEventArgs e) { }
void _browser_EyetrackerRemoved(object sender, EyetrackerInfoEventArgs e) { _trackerCombo.Items.Remove(e.EyetrackerInfo); }
private void _browser_EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { _trackerCombo.Items.Add(e.EyetrackerInfo); }
private void EyetrackerUpdated(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is updated we simply create a new // listviewitem and replace the old one }
private void EyetrackerUpdated(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is updated we simply create a new // listviewitem and replace the old one int index = _trackerList.Items.IndexOfKey(e.EyetrackerInfo.ProductId); if(index >= 0) { _trackerList.Items[index] = CreateTrackerListViewItem(e.EyetrackerInfo); } }
private void EyetrackerRemoved(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker disappears from the network we remove it from the listview _trackerList.Items.RemoveByKey(e.EyetrackerInfo.ProductId); UpdateUIElements(); }
private void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is found on the network we add it to the listview var trackerItem = CreateTrackerListViewItem(e.EyetrackerInfo); _trackerList.Items.Add(trackerItem); UpdateUIElements(); }
private void EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker is found on the network trackerInfo = e.EyetrackerInfo; LogEvent.Engine.Write(string.Format("Found {0}.", trackerInfo.Model)); }
private void EyetrackerRemoved(object sender, EyetrackerInfoEventArgs e) { // When an eyetracker disappears from the network we remove it from the listview if (tracker != null) DisconnectTracker(); }
// Eyetracker found private void _browser_EyetrackerFound(object sender, EyetrackerInfoEventArgs e) { FEyetrackerInfo.Add(e.EyetrackerInfo); FUpdate = true; FLogger.Log(LogType.Debug, "Eyetracker has been detected"); }