diff --git a/ECTrainer2/ECTrainer.h b/ECTrainer2/ECTrainer.h index d8bd974..995e8e2 100644 --- a/ECTrainer2/ECTrainer.h +++ b/ECTrainer2/ECTrainer.h @@ -39,7 +39,6 @@ MOVIE_START, // ����Đ��J�n MOVIE_STOP, // ����Đ���~ MOVIE_END, // ����Đ��I�� - //IMAGE_SHOW, // �摜�\�� FB_OK, // �t�B�[�h�o�b�N�FOK FB_GOOD, // �t�B�[�h�o�b�N�FGood FB_NICE, // �t�B�[�h�o�b�N�FNice diff --git a/ECTrainer2/ECTrainerGUI.cpp b/ECTrainer2/ECTrainerGUI.cpp index 9f1994f..359151d 100644 --- a/ECTrainer2/ECTrainerGUI.cpp +++ b/ECTrainer2/ECTrainerGUI.cpp @@ -72,9 +72,9 @@ if (sceneBuf.empty()) sceneBuf = _blank; // �\���o�b�t�@�����i��������Worker�N���X�̐����摜�C���������Stimulus�N���X�̉摜���g���j - bool fTarget = _pEct->PWorker()->GetAppStatus() == APP_STATUS::STIM; + //bool fTarget = _pEct->PWorker()->GetAppStatus() == APP_STATUS::STIM; //bool isNew = fTarget ? : _pEct->PStimulus()->IsNewDisplay(); - cv::Mat dispBuf = fTarget ? _pEct->PWorker()->GetTargetImg().clone() : _pEct->PStimulus()->GetDisplay().clone(); + cv::Mat dispBuf = _pEct->PWorker()->GetTargetImg().clone(); if (dispBuf.empty()) dispBuf = _blank; // �����_�̕\�� @@ -107,6 +107,10 @@ } break; case APP_STATUS::STIM: + //if (cvui::button(140, 30, "NEXT")) { + // _pEct->PDSMovie()->StopMovie(); + // ((BaseProcess*)_pEct->PWorker())->PostMsg(ECTMSG::EXP_STOP); + //} if (cvui::button(140, 30, "STOP")) { _pEct->PDSMovie()->StopMovie(); ((BaseProcess*)_pEct->PWorker())->PostMsg(ECTMSG::EXP_STOP); diff --git a/ECTrainer2/MovieObject.cpp b/ECTrainer2/MovieObject.cpp index 6f472d4..e98d68a 100644 --- a/ECTrainer2/MovieObject.cpp +++ b/ECTrainer2/MovieObject.cpp @@ -24,15 +24,26 @@ } if (!check) continue; + // �f�[�^�ǂݍ��� FrameInfo fi; fi.eTime = (float)atof(table[r][0].c_str()); int nElements = (cols - 1) / 3; + const double FixedArea = 200.F * 200.F; + double area = 0; for (int e = 0; e < nElements; e++) { + double d = atof(table[r][(size_t)e * 3 + 3].c_str()); fi.elements.push_back(Element( (float)atof(table[r][(size_t)e * 3 + 1].c_str()), (float)atof(table[r][(size_t)e * 3 + 2].c_str()), - (float)atof(table[r][(size_t)e * 3 + 3].c_str()))); + (float)d)); + area += d * d; + } + double adj = (area == 0 ? 0 : sqrt(FixedArea / area)); + if (adj > 1.0) { + for (int e = 0; e < nElements; e++) { + fi.elements[e].d *= adj; + } } _frame.push_back(fi); addLines++; diff --git a/ECTrainer2/StimConfig.txt b/ECTrainer2/StimConfig.txt index 6b6d22e..684ac73 100644 --- a/ECTrainer2/StimConfig.txt +++ b/ECTrainer2/StimConfig.txt @@ -1,7 +1,65 @@ -���, -1,../images/SoftCalib1.png,4,_,_ -#1,../images/SoftCalib2.png,4,_,_ -#1,../images/SoftCalib3.png,4,_,_ -#1,../images/SoftCalib4.png,4,_,_ -#1,../images/visit01/visit01_004.png,5,_,_ -2,../movies/visit01_004_15asl4.avi,30,../movies/visit01_004.csv,../movies/visit01_004vga.avi +���,�h���i�摜�E����j,�񎦎��ԁi�b�j,�^�[�Q�b�g���,�k������ +1,../images/SoftCalib1.png,2,_,_ +1,../images/SoftCalib2.png,2,_,_ +1,../images/SoftCalib3.png,2,_,_ +1,../images/SoftCalib4.png,2,_,_ + +1,../images/visit01/visit01_003.png,2,_,_ +2,../movies/visit01_003.avi,6,../movies/visit01_003.csv,../movies/visit01_003vga.avi +1,../images/visit01/visit01_004.png,2,_,_ +2,../movies/visit01_004.avi,6,../movies/visit01_004.csv,../movies/visit01_004vga.avi +1,../images/visit01/visit01_005.png,2,_,_ +2,../movies/visit01_005.avi,6,../movies/visit01_005.csv,../movies/visit01_005vga.avi +1,../images/visit01/visit01_006.png,2,_,_ +2,../movies/visit01_006.avi,6,../movies/visit01_006.csv,../movies/visit01_006vga.avi +1,../images/visit01/visit01_007.png,2,_,_ +2,../movies/visit01_007.avi,6,../movies/visit01_007.csv,../movies/visit01_007vga.avi +1,../images/visit01/visit01_008.png,2,_,_ +2,../movies/visit01_008.avi,6,../movies/visit01_008.csv,../movies/visit01_008vga.avi + +1,../images/visit01/visit01_break1.png,3,_,_ + +1,../images/visit01/visit01_009.png,2,_,_ +2,../movies/visit01_009.avi,6,../movies/visit01_007.csv,../movies/visit01_009vga.avi +1,../images/visit01/visit01_013.png,2,_,_ +2,../movies/visit01_013.avi,6,../movies/visit01_013.csv,../movies/visit01_013vga.avi +1,../images/visit01/visit01_014.png,2,_,_ +2,../movies/visit01_014.avi,6,../movies/visit01_014.csv,../movies/visit01_014vga.avi +1,../images/visit01/visit01_015.png,2,_,_ +2,../movies/visit01_015.avi,6,../movies/visit01_015.csv,../movies/visit01_015vga.avi +1,../images/visit01/visit01_016.png,2,_,_ +2,../movies/visit01_016.avi,6,../movies/visit01_016.csv,../movies/visit01_016vga.avi +1,../images/visit01/visit01_017.png,2,_,_ +2,../movies/visit01_017.avi,6,../movies/visit01_017.csv,../movies/visit01_017vga.avi + +1,../images/visit01/visit01_break2.png,3,_,_ + +1,../images/visit01/visit01_018.png,2,_,_ +2,../movies/visit01_018.avi,6,../movies/visit01_018.csv,../movies/visit01_018vga.avi +1,../images/visit01/visit01_019.png,2,_,_ +2,../movies/visit01_019.avi,6,../movies/visit01_019.csv,../movies/visit01_019vga.avi +1,../images/visit01/visit01_023.png,2,_,_ +2,../movies/visit01_023.avi,6,../movies/visit01_023.csv,../movies/visit01_023vga.avi +1,../images/visit01/visit01_024.png,2,_,_ +2,../movies/visit01_024.avi,6,../movies/visit01_024.csv,../movies/visit01_024vga.avi +1,../images/visit01/visit01_025.png,2,_,_ +2,../movies/visit01_025.avi,6,../movies/visit01_025.csv,../movies/visit01_025vga.avi +1,../images/visit01/visit01_033.png,2,_,_ +2,../movies/visit01_033.avi,6,../movies/visit01_033.csv,../movies/visit01_033vga.avi + +1,../images/visit01/visit01_break3.png,3,_,_ + +1,../images/visit01/visit01_034.png,2,_,_ +2,../movies/visit01_034.avi,6,../movies/visit01_034.csv,../movies/visit01_034vga.avi +1,../images/visit01/visit01_035.png,2,_,_ +2,../movies/visit01_035.avi,6,../movies/visit01_035.csv,../movies/visit01_035vga.avi +1,../images/visit01/visit01_036.png,2,_,_ +2,../movies/visit01_036.avi,6,../movies/visit01_036.csv,../movies/visit01_036vga.avi +1,../images/visit01/visit01_037.png,2,_,_ +2,../movies/visit01_037.avi,6,../movies/visit01_037.csv,../movies/visit01_037vga.avi +1,../images/visit01/visit01_038.png,2,_,_ +2,../movies/visit01_038.avi,6,../movies/visit01_038.csv,../movies/visit01_038vga.avi +1,../images/visit01/visit01_039.png,2,_,_ +2,../movies/visit01_039.avi,6,../movies/visit01_039.csv,../movies/visit01_039vga.avi + +1,../images/visit01/visit01_end.png,3,_,_ diff --git a/ECTrainer2/StimConfigNormal.txt b/ECTrainer2/StimConfigNormal.txt new file mode 100644 index 0000000..ffef1d7 --- /dev/null +++ b/ECTrainer2/StimConfigNormal.txt @@ -0,0 +1,65 @@ +���,�h���i�摜�E����j,�񎦎��ԁi�b�j,�^�[�Q�b�g���,�k������ +1,../images/SoftCalib1.png,5,_,_ +1,../images/SoftCalib2.png,5,_,_ +1,../images/SoftCalib3.png,5,_,_ +1,../images/SoftCalib4.png,5,_,_ + +1,../images/visit01/visit01_003.png,5,_,_ +2,../movies/visit01_003.avi,30,../movies/visit01_003.csv,../movies/visit01_003vga.avi +1,../images/visit01/visit01_004.png,5,_,_ +2,../movies/visit01_004.avi,30,../movies/visit01_004.csv,../movies/visit01_004vga.avi +1,../images/visit01/visit01_005.png,5,_,_ +2,../movies/visit01_005.avi,30,../movies/visit01_005.csv,../movies/visit01_005vga.avi +1,../images/visit01/visit01_006.png,5,_,_ +2,../movies/visit01_006.avi,30,../movies/visit01_006.csv,../movies/visit01_006vga.avi +1,../images/visit01/visit01_007.png,5,_,_ +2,../movies/visit01_007.avi,30,../movies/visit01_007.csv,../movies/visit01_007vga.avi +1,../images/visit01/visit01_008.png,5,_,_ +2,../movies/visit01_008.avi,30,../movies/visit01_008.csv,../movies/visit01_008vga.avi + +1,../images/visit01/visit01_break1.png,15,_,_ + +1,../images/visit01/visit01_009.png,5,_,_ +2,../movies/visit01_009.avi,30,../movies/visit01_007.csv,../movies/visit01_009vga.avi +1,../images/visit01/visit01_013.png,5,_,_ +2,../movies/visit01_013.avi,30,../movies/visit01_013.csv,../movies/visit01_013vga.avi +1,../images/visit01/visit01_014.png,5,_,_ +2,../movies/visit01_014.avi,30,../movies/visit01_014.csv,../movies/visit01_014vga.avi +1,../images/visit01/visit01_015.png,5,_,_ +2,../movies/visit01_015.avi,30,../movies/visit01_015.csv,../movies/visit01_015vga.avi +1,../images/visit01/visit01_016.png,5,_,_ +2,../movies/visit01_016.avi,30,../movies/visit01_016.csv,../movies/visit01_016vga.avi +1,../images/visit01/visit01_017.png,5,_,_ +2,../movies/visit01_017.avi,30,../movies/visit01_017.csv,../movies/visit01_017vga.avi + +1,../images/visit01/visit01_break2.png,15,_,_ + +1,../images/visit01/visit01_018.png,5,_,_ +2,../movies/visit01_018.avi,30,../movies/visit01_018.csv,../movies/visit01_018vga.avi +1,../images/visit01/visit01_019.png,5,_,_ +2,../movies/visit01_019.avi,30,../movies/visit01_019.csv,../movies/visit01_019vga.avi +1,../images/visit01/visit01_023.png,5,_,_ +2,../movies/visit01_023.avi,30,../movies/visit01_023.csv,../movies/visit01_023vga.avi +1,../images/visit01/visit01_024.png,5,_,_ +2,../movies/visit01_024.avi,30,../movies/visit01_024.csv,../movies/visit01_024vga.avi +1,../images/visit01/visit01_025.png,5,_,_ +2,../movies/visit01_025.avi,30,../movies/visit01_025.csv,../movies/visit01_025vga.avi +1,../images/visit01/visit01_033.png,5,_,_ +2,../movies/visit01_033.avi,30,../movies/visit01_033.csv,../movies/visit01_033vga.avi + +1,../images/visit01/visit01_break3.png,15,_,_ + +1,../images/visit01/visit01_034.png,5,_,_ +2,../movies/visit01_034.avi,30,../movies/visit01_034.csv,../movies/visit01_034vga.avi +1,../images/visit01/visit01_035.png,5,_,_ +2,../movies/visit01_035.avi,30,../movies/visit01_035.csv,../movies/visit01_035vga.avi +1,../images/visit01/visit01_036.png,5,_,_ +2,../movies/visit01_036.avi,30,../movies/visit01_036.csv,../movies/visit01_036vga.avi +1,../images/visit01/visit01_037.png,5,_,_ +2,../movies/visit01_037.avi,30,../movies/visit01_037.csv,../movies/visit01_037vga.avi +1,../images/visit01/visit01_038.png,5,_,_ +2,../movies/visit01_038.avi,30,../movies/visit01_038.csv,../movies/visit01_038vga.avi +1,../images/visit01/visit01_039.png,5,_,_ +2,../movies/visit01_039.avi,30,../movies/visit01_039.csv,../movies/visit01_039vga.avi + +1,../images/visit01/visit01_end.png,15,_,_ diff --git a/ECTrainer2/StimConfigShort.txt b/ECTrainer2/StimConfigShort.txt new file mode 100644 index 0000000..684ac73 --- /dev/null +++ b/ECTrainer2/StimConfigShort.txt @@ -0,0 +1,65 @@ +���,�h���i�摜�E����j,�񎦎��ԁi�b�j,�^�[�Q�b�g���,�k������ +1,../images/SoftCalib1.png,2,_,_ +1,../images/SoftCalib2.png,2,_,_ +1,../images/SoftCalib3.png,2,_,_ +1,../images/SoftCalib4.png,2,_,_ + +1,../images/visit01/visit01_003.png,2,_,_ +2,../movies/visit01_003.avi,6,../movies/visit01_003.csv,../movies/visit01_003vga.avi +1,../images/visit01/visit01_004.png,2,_,_ +2,../movies/visit01_004.avi,6,../movies/visit01_004.csv,../movies/visit01_004vga.avi +1,../images/visit01/visit01_005.png,2,_,_ +2,../movies/visit01_005.avi,6,../movies/visit01_005.csv,../movies/visit01_005vga.avi +1,../images/visit01/visit01_006.png,2,_,_ +2,../movies/visit01_006.avi,6,../movies/visit01_006.csv,../movies/visit01_006vga.avi +1,../images/visit01/visit01_007.png,2,_,_ +2,../movies/visit01_007.avi,6,../movies/visit01_007.csv,../movies/visit01_007vga.avi +1,../images/visit01/visit01_008.png,2,_,_ +2,../movies/visit01_008.avi,6,../movies/visit01_008.csv,../movies/visit01_008vga.avi + +1,../images/visit01/visit01_break1.png,3,_,_ + +1,../images/visit01/visit01_009.png,2,_,_ +2,../movies/visit01_009.avi,6,../movies/visit01_007.csv,../movies/visit01_009vga.avi +1,../images/visit01/visit01_013.png,2,_,_ +2,../movies/visit01_013.avi,6,../movies/visit01_013.csv,../movies/visit01_013vga.avi +1,../images/visit01/visit01_014.png,2,_,_ +2,../movies/visit01_014.avi,6,../movies/visit01_014.csv,../movies/visit01_014vga.avi +1,../images/visit01/visit01_015.png,2,_,_ +2,../movies/visit01_015.avi,6,../movies/visit01_015.csv,../movies/visit01_015vga.avi +1,../images/visit01/visit01_016.png,2,_,_ +2,../movies/visit01_016.avi,6,../movies/visit01_016.csv,../movies/visit01_016vga.avi +1,../images/visit01/visit01_017.png,2,_,_ +2,../movies/visit01_017.avi,6,../movies/visit01_017.csv,../movies/visit01_017vga.avi + +1,../images/visit01/visit01_break2.png,3,_,_ + +1,../images/visit01/visit01_018.png,2,_,_ +2,../movies/visit01_018.avi,6,../movies/visit01_018.csv,../movies/visit01_018vga.avi +1,../images/visit01/visit01_019.png,2,_,_ +2,../movies/visit01_019.avi,6,../movies/visit01_019.csv,../movies/visit01_019vga.avi +1,../images/visit01/visit01_023.png,2,_,_ +2,../movies/visit01_023.avi,6,../movies/visit01_023.csv,../movies/visit01_023vga.avi +1,../images/visit01/visit01_024.png,2,_,_ +2,../movies/visit01_024.avi,6,../movies/visit01_024.csv,../movies/visit01_024vga.avi +1,../images/visit01/visit01_025.png,2,_,_ +2,../movies/visit01_025.avi,6,../movies/visit01_025.csv,../movies/visit01_025vga.avi +1,../images/visit01/visit01_033.png,2,_,_ +2,../movies/visit01_033.avi,6,../movies/visit01_033.csv,../movies/visit01_033vga.avi + +1,../images/visit01/visit01_break3.png,3,_,_ + +1,../images/visit01/visit01_034.png,2,_,_ +2,../movies/visit01_034.avi,6,../movies/visit01_034.csv,../movies/visit01_034vga.avi +1,../images/visit01/visit01_035.png,2,_,_ +2,../movies/visit01_035.avi,6,../movies/visit01_035.csv,../movies/visit01_035vga.avi +1,../images/visit01/visit01_036.png,2,_,_ +2,../movies/visit01_036.avi,6,../movies/visit01_036.csv,../movies/visit01_036vga.avi +1,../images/visit01/visit01_037.png,2,_,_ +2,../movies/visit01_037.avi,6,../movies/visit01_037.csv,../movies/visit01_037vga.avi +1,../images/visit01/visit01_038.png,2,_,_ +2,../movies/visit01_038.avi,6,../movies/visit01_038.csv,../movies/visit01_038vga.avi +1,../images/visit01/visit01_039.png,2,_,_ +2,../movies/visit01_039.avi,6,../movies/visit01_039.csv,../movies/visit01_039vga.avi + +1,../images/visit01/visit01_end.png,3,_,_ diff --git a/ECTrainer2/Worker.cpp b/ECTrainer2/Worker.cpp index 7d73afb..db75b10 100644 --- a/ECTrainer2/Worker.cpp +++ b/ECTrainer2/Worker.cpp @@ -70,7 +70,9 @@ for (int e = 0; e < elems.size(); e++) { // �^�[�Q�b�g�`�� auto target = cv::Point2f(elems[e].x, elems[e].y); - cv::circle(stimImg, target * scale, (int)(elems[e].d * scale), CV_RGB(255, 0, 0), 2); + if (elems[e].d > 0) { + cv::circle(stimImg, target * scale, (int)(elems[e].d * scale), CV_RGB(255, 0, 0), 2); + } if (gazeI.x >= 0) { // �^�[�Q�b�g���� auto dt = cv::norm(gazeI - target); @@ -97,6 +99,8 @@ } _TargetImage.Put(stimImg); + } else { + _TargetImage.Put(_StimImage); } // ���O�o��