diff --git a/.gitignore b/.gitignore index 6c45000..be664e5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ images/ ECTrainer2/snapshot.jpg ECTrainer2/remove/ +stimconfigs/ diff --git a/ECTrainer2/ECTrainer.h b/ECTrainer2/ECTrainer.h index 5a6aa9f..668602f 100644 --- a/ECTrainer2/ECTrainer.h +++ b/ECTrainer2/ECTrainer.h @@ -6,8 +6,8 @@ #define TOBII_ADDR "192.168.71.50" //#define TOBII_ADDR "192.168.23.156" -//#define EYEDEVICE_GLASS2 -#define EYEDEVICE_NONE +#define EYEDEVICE_GLASS2 +//#define EYEDEVICE_NONE class BaseProcess; class ECTrainerGUI; diff --git a/ECTrainer2/ECTrainerGUI.cpp b/ECTrainer2/ECTrainerGUI.cpp index 461b7b9..3bb3090 100644 --- a/ECTrainer2/ECTrainerGUI.cpp +++ b/ECTrainer2/ECTrainerGUI.cpp @@ -54,6 +54,10 @@ displays[0].bottom - displays[0].top), CV_8UC3, cv::Scalar(0)); _blank = cv::Mat(DISP_SIZE, CV_8UC3, cv::Scalar(0)); _Logo = cv::imread(HEADER_FILE); + if (_Logo.empty()) { + Ect()->MsgBox(_T("Logoファイルが開けません")); + return false; + } _hWndMain = ::FindWindowA(NULL, WIN_MAIN.c_str()); Ect()->PDSMovie()->Init(displays[0]); @@ -69,13 +73,19 @@ // 視野画像バッファ生成 cv::Mat sceneBuf = Ect()->PImageProc()->GetImage(); - if (sceneBuf.empty()) sceneBuf = _blank; + if (sceneBuf.empty()) { + sceneBuf = _blank; + nkc::wut::DebugPrintf(_T("no scene buffer\n")); + } // 表示バッファ生成(実験中はWorkerクラスの生成画像,非実験中はStimulusクラスの画像を使う) //bool fTarget = Ect()->PWorker()->GetAppStatus() == APP_STATUS::STIM; //bool isNew = fTarget ? : Ect()->PStimulus()->IsNewDisplay(); cv::Mat dispBuf = Ect()->PWorker()->GetTargetImg().clone(); - if (dispBuf.empty()) dispBuf = _blank; + if (dispBuf.empty()) { + dispBuf = _blank; + nkc::wut::DebugPrintf(_T("no display buffer\n")); + } // 注視点の表示 if (Ect()->PEyeTrack()->GetGazeV().x >= 0) { diff --git a/ECTrainer2/EyeTrack.cpp b/ECTrainer2/EyeTrack.cpp index 5a318f8..8ab9a4e 100644 --- a/ECTrainer2/EyeTrack.cpp +++ b/ECTrainer2/EyeTrack.cpp @@ -65,6 +65,7 @@ _gazePoint = cv::Point2f(-1.F, -1.F); _lastGidx = gd.gidx; + Ect()->PWorker()->SetTrigger(); rv = true; } if (gd.isGP && gd.s == 0) { diff --git a/ECTrainer2/Stimulus.cpp b/ECTrainer2/Stimulus.cpp index c230a15..95720ac 100644 --- a/ECTrainer2/Stimulus.cpp +++ b/ECTrainer2/Stimulus.cpp @@ -32,6 +32,7 @@ // テーブルから構造体へ格納 _TotalExpTime = 0; + _StimInfoSet.clear(); for (int r = 0; r < table.size(); r++) { if (table[r].size() != 5 || atoi(table[r][0].c_str()) < 1) continue; StimInfo st; diff --git a/ECTrainer2/Worker.cpp b/ECTrainer2/Worker.cpp index da76f7f..ded681f 100644 --- a/ECTrainer2/Worker.cpp +++ b/ECTrainer2/Worker.cpp @@ -44,7 +44,6 @@ // 基本処理 bool Worker::Routine() { - // 視線情報更新を待つ if (::WaitForSingleObject(_Trigger, 1) == WAIT_TIMEOUT) return false;