示例#1
0
        public void EEGTDataTest()
        {
            CsvParser parser = new CsvParser(@"C:\Users\Thomas Klytta\Documents\Studienarbeit\iPhone5_Ad_Thomas_mit_EEG.csv");
            List<List<string>> result = parser.Parse();

            EEGETData data = new EEGETData(result);
        }
示例#2
0
        public void CsvParseTest()
        {
            CsvParser parser = new CsvParser(@"C:\Users\Thomas Klytta\Documents\Studienarbeit\iPhone5_Ad_Thomas_mit_EEG.csv");
            List<List<string>> result = parser.Parse();

            Assert.IsNotNull(result);
        }
示例#3
0
        private void startAnalysisButton_Click(object sender, EventArgs e)
        {
            windowsMediaPlayer.URL = mediaFilePath;
            windowsMediaPlayer.Ctlcontrols.stop();

            mediaDuration = Duration(mediaFilePath);

            try
            {
                CsvParser parser = new CsvParser(csvFilePath);
                csvData = parser.Parse();

                EEGChart.Series.Clear(); //ensure that the chart is empty
                EEGChart.Series.Add("T7");
                EEGChart.Series[0].ChartType = SeriesChartType.Line;
                EEGChart.Legends.Clear();

                foreach (List<string> item in csvData)
                {
                    if (item[0] == "Time")
                    {
                        time = item;
                    }

                    if (item[0] == "EEG_RAW_T7")
                    {
                        eegt7 = item;
                    }

                    if (item[0] == "L POR X [px]")
                    {
                        LPORX = item;
                    }

                    if (item[0] == "L POR Y [px]")
                    {
                        LPORY = item;
                    }
                }

                //time.RemoveRange(0, 2); // remove head line and first (useless data)
                //eegt7.RemoveRange(0, 2);

                //time.RemoveAt(time.Count-1); // remove last line (useless data)
                //eegt7.RemoveAt(eegt7.Count-1);

                for (int j = 0; j < eegt7.Count; j++)
                {
                    EEGChart.Series[0].Points.AddXY(time[j], eegt7[j]);
                }

                playButton.Enabled = true;
                stopButton.Enabled = true;
                pauseButton.Enabled = true;
                rewindButton.Enabled = true;

                selectCsvFileButton.Enabled = false;
                selectMediaFileButton.Enabled = false;

                startAnalysisButton.Enabled = false;

                trackBar.Enabled = true;
            }
            catch (System.IO.IOException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#4
0
        /// <summary>
        /// Load CSV data in background task
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            CSVWorkerArgs args = (CSVWorkerArgs)e.Argument;
            CSVWorkerResult result = new CSVWorkerResult();
            result.Success = false;

            try
            {
                CsvParser parser = new CsvParser(args.CsvFilePath);
                List<List<string>> csvData = parser.Parse();

                int sampleRate = Convert.ToInt32(parser.GetMetaDataDictionary().GetValue("Sample Rate"));

                Sampler sampler = new Sampler(csvData, sampleRate);
                result.Emotionizer = new EEGEmotionizer(sampler);
                result.Success = true;
            }
            catch (System.IO.IOException ex)
            {
                result.ErrorMessage = ex.Message;
                result.Success = false;
            }

            e.Result = result;
        }