예제 #1
0
파일: TrackData.cs 프로젝트: DeSciL/Ogama
        public TrackData()
        {
            eyesROI = new Rectangle();
            leftROI = new Rectangle();
            rightROI = new Rectangle();

            pupilDataLeft = new PupilData();
            pupilDataRight = new PupilData();

            glintDataLeft = new GlintData();
            glintDataRight = new GlintData();

            calibrationDataLeft = new CalibrationData();
            calibrationDataRight = new CalibrationData();

            gazeDataRaw = new GTGazeData();
            gazeDataSmoothed = new GTGazeData();

            //eyeMovement = new GazeTrackingLibrary.EyeMovement.Classifier();

            eyesDetected = false;
            eyeDetected = false;
            pupilLeftDetected = false;
            pupilRightDetected = false;
            glintsLeftDetected = false;
            glintsRightDetected = false;
        }
예제 #2
0
파일: Tracker.cs 프로젝트: DeSciL/Ogama
        private Tracker(GTCommands commands)
        {
            log.Info("Constructing Tracker...");
            this.commands = commands;
            detectionManager = new DetectionManager();
            calibration = new Calibration.Calibration();
            recalibration = new Recalibration();
            eyeMovement = new Classifier();
            exponentialSmoother = new ExponentialSmoother(Settings.Instance.EyeMovement.SmoothNumberOfSamples, 0, (int)Math.Ceiling(Settings.Instance.EyeMovement.SmoothLevel / 5.0));
            visualization = new Visualization();
            server = new UDPServer();
            gazeDataRaw = new GTGazeData();
            gazeDataSmoothed = new GTGazeData();
            gazeDazaExtended = new GTExtendedData();
            processingDone = true;
            timerCalibrationDelay = new DispatcherTimer();
            timerCalibrationDelay.Interval = TimeSpan.FromMilliseconds(calibrationDelayMilliseconds);
            timerCalibrationDelay.Tick += TimerCalibrationTick;
            logGaze = new Logger();
            logGaze.Server = server; // Used to send messages back to client (log start/stop etc.)
            log.Info( "Looking up LoggingEnabled in FileSettings" );
            logGaze.IsEnabled = Settings.Instance.FileSettings.LoggingEnabled;

            log.Info( "Setting RecalibrationAvailableHandler" );
            recalibration.RecalibrationAvailable += new Recalibration.RecalibrationAvailableHandler( recalibration_RecalibrationAvailable );
            //recalibration.OnRecalibrationAvailable +=new Recalibration.RecalibrationAvailable(recalibration_OnRecalibrationAvailable);
            Settings.Instance.Processing.PropertyChanged += ProcessingSettingsPropertyChanged;
            timerCalibrationDelay.Tick += TimerCalibrationTick;

            if ( GTHardware.Camera.Instance.Device != null )
            {
                log.Info( "Setting GTHardware device OnImage EventHandler" );
                GTHardware.Camera.Instance.Device.OnImage += new EventHandler<GTHardware.Cameras.ImageEventArgs>( Device_OnImage );
            }

            log.Info("Completed constructing Tracker");
        }