private void Init(bool showLastTest, bool newTestAvailable, string inputData, string eyetrackerDataJson, OutputTestData2 testData) { labelVersion.Text = "Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); closeApp = true; if (showLastTest) { inputData = DataBaseWorker.LoadLastPursuitData(out date, out user_id, out eyetrackerDataJson, out testData); } this.date_loc = testData.date_loc; this.user_id = testData.user_id; date = testData.date; buttonNewTest.Enabled = newTestAvailable; //Console.WriteLine("selectedPath: " + selectedPath); toolStripStatusLabelFileName.Text = string.Format("{0}-us{1}", date_loc, user_id); eyetrackerDataL = ReviewClass.loadEyetrackerDataFromJson(eyetrackerDataJson); _testData = DataConverter.TestData2ToTestData1(testData); stimuloPersuitSetup = ReviewClass.loadPersuitDataFromJson(inputData); everythingOk = ReviewClass.eyetrackerDataFound(eyetrackerDataL) & ReviewClass.testDataFound(_testData) & ReviewClass.persuitDataFound(stimuloPersuitSetup); if (everythingOk) { plotGazeData2Control(); } }
public static bool eyetrackerDataFound(eyetrackerDataEyeX eyetrackerDataL) { if (eyetrackerDataL.targetTraceL == null) { return(false); } else { return(true); } }
void string2Json() { try { eyetrackerDatajson = JsonConvert.DeserializeObject <eyetrackerDataEyeX>(eyetrackerData); } catch (Exception ex) { Console.WriteLine("FixDetector. Problemas con JsonDeserialize: " + ex.ToString()); ErrorLog.ErrorLog.toErrorFile(ex.GetBaseException().ToString()); return; } Console.WriteLine("FixDetector. String 2 json: done"); }
public static List <Point> getGazeData2List(eyetrackerDataEyeX eyetrackerDataL, TestData1 testData, Eye fromEye) { List <Point> gazeDataDoubleList = new List <Point>(); if (fromEye == Eye.left) { for (var indiceSample = 0; indiceSample < eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL.Count; indiceSample++) { int gazeX = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.X * (double)testData.screen_Width); int gazeY = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.Y * (double)testData.screen_Height); if ( !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.X) && !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.Y) ) { gazeDataDoubleList.Add(new Point(gazeX, gazeY)); } } } if (fromEye == Eye.right) { for (var indiceSample = 0; indiceSample < eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL.Count; indiceSample++) { int gazeX = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.X * (double)testData.screen_Width); int gazeY = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.Y * (double)testData.screen_Height); if ( !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.X) && !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.Y) ) { gazeDataDoubleList.Add(new Point(gazeX, gazeY)); //plotGaze(gazeX, gazeY, Color.Blue); } } } return(gazeDataDoubleList); }
public SampleTextFullScreen(TestData1 testData, Size stimulusSize, Point stimulusLocation, fixationData fixData, eyetrackerDataEyeX eyetrackerDataL, CheckBox checkBoxGaze, CheckBox checkBoxFixations, CheckBox checkBoxL, CheckBox checkBoxR) { InitializeComponent(); this.testData = testData; this.fixData = fixData; this.stimulusSize = stimulusSize; this.stimulusLocation = stimulusLocation; this.eyetrackerDataL = eyetrackerDataL; class4Graphic.loadImage2Control(true, testData, pictureBoxStimulus); pictureBoxStimulus.Size = stimulusSize; pictureBoxStimulus.Location = stimulusLocation; this.checkBoxGaze = checkBoxGaze; this.checkBoxFixations = checkBoxFixations; this.checkBoxL = checkBoxL; this.checkBoxR = checkBoxR; }
public Resumen(bool showLastTest, bool newTestAvailable, string fixDataJson, string eyetrackerDataJson, OutputTestData2 testData) { InitializeComponent(); labelVersion.Text = "Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); closeApp = true; if (showLastTest) { fixDataJson = DataBaseWorker.LoadLastReadingData(out date, out user_id, out eyetrackerDataJson, out testData); } this.dateloc = testData.date_loc; this.user_id = testData.user_id; date = testData.date; buttonNewTest.Enabled = newTestAvailable; //Console.WriteLine("selectedPath: " + selectedPath); _testData = DataConverter.TestData2ToTestData1(testData); if (string.IsNullOrWhiteSpace(fixDataJson)) { fixDataJson = processFixData(eyetrackerDataJson, _testData, testData.date, user_id);//procesa los datos de los ojos y genera un archivo fixData.json } toolStripStatusLabelFileName.Text = string.Format("{0}-us{1}", dateloc, user_id); fixDataFound = loadFixationDataFromJson(fixDataJson); //carga el archivo fixData.json eyetrackerDataL = ReviewClass.loadEyetrackerDataFromJson(eyetrackerDataJson); getStimulusFeactures(ReviewClass.eyetrackerDataFound(eyetrackerDataL)); imageFound = class4Graphic.loadImage2Control(ReviewClass.testDataFound(_testData), _testData, pictureBoxStimulus); everythingOk = fixDataFound & ReviewClass.eyetrackerDataFound(eyetrackerDataL) & ReviewClass.testDataFound(_testData) & imageFound; if (everythingOk) { processMetrics(); } }
public static List <GazePositionAndTimeClass> getGazePositionAndTimeList(eyetrackerDataEyeX eyetrackerDataL, TestData1 testData, Eye fromEye) { List <GazePositionAndTimeClass> gazePositionAndTime = new List <GazePositionAndTimeClass>(); double timeSegundosInicial = 0; double timeSegundos = 0; if (fromEye == Eye.left) { for (var indiceSample = 0; indiceSample < eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL.Count; indiceSample++) { int gazeX = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.X * (double)testData.screen_Width); int gazeY = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.Y * (double)testData.screen_Height); if (indiceSample == 0) { timeSegundos = 0; timeSegundosInicial = (double)eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Timestamp / (double)1000000.0; } else { timeSegundos = ((double)eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Timestamp / (double)1000000.0) - timeSegundosInicial; } if ( !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.X) && !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Left.GazePointOnDisplayNormalized.Y) ) { gazePositionAndTime.Add(new GazePositionAndTimeClass(new Point(gazeX, gazeY), timeSegundos)); } } } if (fromEye == Eye.right) { for (var indiceSample = 0; indiceSample < eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL.Count; indiceSample++) { int gazeX = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.X * (double)testData.screen_Width); int gazeY = (int)(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.Y * (double)testData.screen_Height); if (indiceSample == 0) { timeSegundos = 0; timeSegundosInicial = (double)eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Timestamp / (double)1000000.0; } else { timeSegundos = ((double)eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Timestamp / (double)1000000.0) - timeSegundosInicial; } if ( !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.X) && !double.IsNaN(eyetrackerDataL.targetTraceL[settings.indiceTrial].gazeDataItemL[indiceSample].Right.GazePointOnDisplayNormalized.Y) ) { gazePositionAndTime.Add(new GazePositionAndTimeClass(new Point(gazeX, gazeY), timeSegundos)); } } } return(gazePositionAndTime); }