Commit 1fffe156 authored by Thiago C. Santini's avatar Thiago C. Santini

Merge remote-tracking branch 'origin/master'

parents 8905bae0 8fff0265
2.0.0: First public release
- Included pupil detection methods: ExCuSe and ElSe
- Included gaze estimation methods: Homography-based
- Data Journaling
- Data streaming with TCP or UDP
- Video recording
WHAT IS EYEREC?
EyeRec is a data acquisition software for head-mounted eye trackers. Its
main raison d'être is to provide an open platform to replace the data
acquisition functionality from eye-tracker vendors software, which typically
are expensive and closed-source. Thus, if something is not working properly,
you can fix it yourself instead of relying on the vendor to fix it; for
instance, if the pupil detection algorithm does not suit your needs.
For a replacement for the data analysis functionality, we recommend
Eyetrace, which can be downloaded at:
http://www.ti.uni-tuebingen.de/Eyetrace.1751.0.html
Why the name? It's a phonetical play on words and the eye-related
functionality as in **I rec**(ord)
WHICH EYE TRACKERS ARE SUPPORTED?
Officially, the Dikablis Pro and Dikablis Essential because these are the
ones we have access to.
Theoretically, as long as your cameras are accesible through Microsoft
DirectShow and at least one of them has a callback functionality, everything
should work out of the box.
If you are building your own eye tracker out of web cameras, we have
succesfully tested EyeRec with the Microsoft Lifecam VX-1000.
RUNNING:
Binaries can be downloaded at:
www.ti.uni-tuebingen.de/perception
Prior to running, make sure you have the Visual C++ 2012 x86 run-time
components installed. If not, you can install them by running
vcredist_x86.exe or downloading the installer directly from Microsoft at:
https://www.microsoft.com/en-us/download/details.aspx?id=30679
Additionally, you may need to install drivers to access your eye tracker
cameras. For instance, Dikablis eye trackers require the VRMagic drivers,
which can be downloaded at:
https://www.vrmagic.com/imaging/downloads/
Make sure you have the 32-bits version of the drivers!
BUILDING:
The EyeRec repository is located at:
https://atreus.informatik.uni-tuebingen.de/santini/EyeRec
Currently, the building is in the form of a QtCreator project (EyeRec.pro)
The particulars of the test build system we use are:
- QtCreator 3.3.2
- Qt 5.4.1 (MSVC 2010, 32bit)
- Visual Studio 2012
For the 32-bits version, building should be as simple as installing Visual
Studio and QtCreator, opening the project, running qmake, and building. All
the dlls that EyeRec requires are already packed in the ./deps directory.
64-bits builds are not officially supported at the moment. If one is needed,
you will need to compile the dependencies for 64 bits a priori.
DEPENDENCIES:
Qt >= 5.4
OpenCV >= 3.0.0
VideoMan 1.1
icons/eyerec.ico

9.44 KB | W: | H:

icons/eyerec.ico

9.44 KB | W: | H:

icons/eyerec.ico
icons/eyerec.ico
icons/eyerec.ico
icons/eyerec.ico
  • 2-up
  • Swipe
  • Onion skin
icons/eyerec.png

18.4 KB | W: | H:

icons/eyerec.png

320 KB | W: | H:

icons/eyerec.png
icons/eyerec.png
icons/eyerec.png
icons/eyerec.png
  • 2-up
  • Swipe
  • Onion skin
No preview for this file type
......@@ -168,15 +168,6 @@ void Journal::store(JournalEntry journalEntry)
leftEyeVideoWriter.checkSize();
}
// synchronization test
//std::string eyeStr("eye");
//std::string fStr("f");
//eyeStr.append(std::to_string(journalEntry.index));
//eyeStr.append(".jpg");
//fStr.append(std::to_string(journalEntry.index));
//fStr.append(".jpg");
//imwrite(eyeStr, journalEntry.leftEyeFrame);
//imwrite(fStr, journalEntry.fieldFrame);
}
void Journal::setRecording(bool val)
......@@ -192,23 +183,9 @@ void Journal::setRecording(bool val)
out << "Version\t1.08\tgmtime\t" << startingDateTime.toTime_t()<< "\n";
out << journalHeader;
// TODO:
// Decide which codec to use (e.g., size, license, encoding time)
//
// Using DIVX based on initial testing:
// -good quality and size
// -most well behaved encoding time
// -license?
//int codec = CV_FOURCC('I', 'Y', 'U', 'V');
//int codec = CV_FOURCC('M', 'P', '4', '2');
//int codec = CV_FOURCC('M', 'J', 'P', 'G');
int codec = CV_FOURCC('D', 'I', 'V', 'X');
//int codec = -1;
// not tested yet (GPL, but what if we require the user to install it instead of coupling it with the application?)
//int codec = CV_FOURCC('X', 'V', 'I', 'D');
fieldVideoWriter.open(QString("field"),
codec,
masterFps,
......
#ifndef UTILS
#define UTILS
#ifndef UTILS_H
#define UTILS_H
#include <QString>
#include <QDateTime>
......@@ -13,5 +13,5 @@ QString getNamePrefix();
extern QString gCurrentSubjectName;
#endif // UTILS
#endif // UTILS_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment