Exemplo n.º 1
0
        public Mode2()
        {
            InitializeComponent();

            host = new Host();
            fixationDataStream = host.Streams.CreateFixationDataStream();

            eyePositionStream = host.Streams.CreateEyePositionStream();//  CreateEyePositionDataStream()

            collectCoordinates();
            collectCoords();
            mouseMove();
        }
        public void Connect()
        {
            if (!_isConnected)
            {
                _TobiiHost.EnableConnection();
                _TobiiWPFAgent = _TobiiHost.InitializeWpfAgent();

                _GazePointDataStream       = _TobiiHost.Streams.CreateGazePointDataStream(Tobii.Interaction.Framework.GazePointDataMode.Unfiltered);
                _GazePointDataStream.Next += OnGazePointData;
                _FixationDataStream        = _TobiiHost.Streams.CreateFixationDataStream();
                _FixationDataStream.Next  += OnFixationData;
                _EyePositionStream         = _TobiiHost.Streams.CreateEyePositionStream(true);
                _EyePositionStream.Next   += OnEyePositionData;
                _isConnected = true;
            }
        }
 private void startEyeTracker()
 {
     if (this.eyePositionStream == null)
     {
         this.eyePositionStream       = this.host.Streams.CreateEyePositionStream();
         this.eyePositionStream.Next += (sender, e) =>
         {
             foreach (IWebSocketConnection client in this.eyePositionClients)
             {
                 client.Send(JsonConvert.SerializeObject(new { type = "eyePosition", data = e.Data }, new StringEnumConverter()));
             }
         };
     }
     else
     {
         this.eyePositionStream.IsEnabled = true;
     }
 }
Exemplo n.º 4
0
        //method to stream information about eyes
        private void waitingForEyeInput(EyePositionStream positionss)
        {
            //Bothy stream
            positionss.EyePosition(posti =>
            {
                if (posti.HasRightEyePosition != true && posti.HasLeftEyePosition != true)
                {
                    BothEyeClosed(false, posti.Timestamp); //closed
                }
                else
                {
                    BothEyeClosed(true, posti.Timestamp); //opened eyes
                }
            });


            //Lefty stream
            positionss.EyePosition(posti =>
            {
                if (posti.HasLeftEyePosition != true && posti.HasRightEyePosition == true)
                {
                    LeftEyeClosed(false, posti.Timestamp);
                }
                else
                {
                    LeftEyeClosed(true, posti.Timestamp);
                }
            });


            //Righty stream
            positionss.EyePosition(posti =>
            {
                if (posti.HasRightEyePosition != true && posti.HasLeftEyePosition == true)
                {
                    RightEyeClosed(false, posti.Timestamp);
                }
                else
                {
                    RightEyeClosed(true, posti.Timestamp);
                }
            });
        }
Exemplo n.º 5
0
        private static void CreateAndVisualizeEyePositionDataStream()
        {
            _eyePositionDataStream = _host.Streams.CreateEyePositionStream();
            _eyePositionDataStream.EyePosition(eyePosition =>
            {
                Console.WriteLine("Has Left eye position: {0}", eyePosition.HasLeftEyePosition);
                Console.WriteLine("Left eye position: X:{0} Y:{1} Z:{2}",
                                  eyePosition.LeftEye.X, eyePosition.LeftEye.Y, eyePosition.LeftEye.Z);
                Console.WriteLine("Left eye position (normalized): X:{0} Y:{1} Z:{2}",
                                  eyePosition.LeftEyeNormalized.X, eyePosition.LeftEyeNormalized.Y, eyePosition.LeftEyeNormalized.Z);

                Console.WriteLine("Has Right eye position: {0}", eyePosition.HasRightEyePosition);
                Console.WriteLine("Right eye position: X:{0} Y:{1} Z:{2}",
                                  eyePosition.RightEye.X, eyePosition.RightEye.Y, eyePosition.RightEye.Z);
                Console.WriteLine("Right eye position (normalized): X:{0} Y:{1} Z:{2}",
                                  eyePosition.RightEyeNormalized.X, eyePosition.RightEyeNormalized.Y, eyePosition.RightEyeNormalized.Z);
                Console.WriteLine();
            });
        }
Exemplo n.º 6
0
        public Action Start()
        {
            host = new Host();
            var displaySizeTask = host.States.GetDisplaySizeAsync();

            displaySizeTask.Wait();
            DisplaySize = displaySizeTask.Result.Value;

            //host.UserPresenceChanged += HostOnUserPresenceChanged;
            userPresenceObserver          = host.States.CreateUserPresenceObserver();
            userPresenceObserver.Changed += HostOnUserPresenceChanged;

            //host.EyeTrackingDeviceStatusChanged += HostOnEyeTrackingDeviceStatusChanged;
            eyeTrackingDeviceStatusObserver          = host.States.CreateEyeTrackingDeviceStatusObserver();
            eyeTrackingDeviceStatusObserver.Changed += HostOnEyeTrackingDeviceStatusChanged;

            //host.UserProfileNameChanged += HostOnUserProfileNameChanged;
            userProfileNameObserver          = host.States.CreateUserProfileNameObserver();
            userProfileNameObserver.Changed += HostOnUserProfileNameChanged;

            //host.DisplaySizeChanged += HostOnDisplaySizeChanged;
            displaySizeObserver          = host.States.CreateDisplaySizeObserver();
            displaySizeObserver.Changed += HostOnDisplaySizeChanged;

            gazeDataStream = host.Streams.CreateGazePointDataStream(GazePointDataMode.Unfiltered);
            eyeDataStream  = host.Streams.CreateEyePositionStream();

            gazeDataStream.Next += GazeDataStreamOnNext;
            eyeDataStream.Next  += EyeDataStreamOnNext;

            if (Started != null)
            {
                Started(this, null);
            }

            return(null);
        }
Exemplo n.º 7
0
        public Mode1(int mode)
        {
            InitializeComponent();

            typeof(Panel).InvokeMember("DoubleBuffered", BindingFlags.SetProperty |
                                       BindingFlags.Instance | BindingFlags.NonPublic, null, panel1, new object[] { true });

            this.mode = mode;
            Program.EyeXHost.Connect(behaviorMap1);
            // behaviorMap1.Add(panel1, new GazeAwareBehavior(OnGaze));
            behaviorMap1.Add(panel2, new EyeXFramework.GazeAwareBehavior(OnGaze)
            {
                DelayMilliseconds = 100
            });
            p = new Pen(Color.Green, 3);

            ///////////////////////////////////////

            host = new Host();
            eyePositionStream = host.Streams.CreateEyePositionStream();//  CreateEyePositionDataStream()


            ///////////////////////////////////////
        }