Skip to content
This repository has been archived by the owner. It is now read-only.

Commit

Permalink
Added bright-pupil tracking option
Browse files Browse the repository at this point in the history
  • Loading branch information
MPIBR-kretschmerf committed Dec 14, 2016
1 parent 04589ef commit 0a2111e
Show file tree
Hide file tree
Showing 5 changed files with 184 additions and 90 deletions.
39 changes: 25 additions & 14 deletions TrackerPlugin_EyeTracker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

TrackerPlugin_EyeTracker::TrackerPlugin_EyeTracker(QObject *parent)
{
ui = new Ui::TrackerPlugin_PupilDiam;
ui = new Ui::TrackerPlugin_EyeTracker;
trackerWorker = new TrackerWorker();
ui->setupUi(this);

ui->label_cornea->setStyleSheet("QLabel { color : magenta; }");
ui->label_pupil->setStyleSheet("QLabel { color : green; }");

pixmapItem = new QGraphicsPixmapItem();

plotPens.push_back(new QPen(Qt::green));
Expand All @@ -32,11 +35,14 @@ TrackerPlugin_EyeTracker::TrackerPlugin_EyeTracker(QObject *parent)
uiPlots.push_back(ui->qwtPlot_4);
uiPlots.push_back(ui->qwtPlot_5);

uiSliders.push_back(ui->Slider_1);
uiSliders.push_back(ui->Slider_2);
uiSliders.push_back(ui->horizontalSlider_1);
uiSliders.push_back(ui->horizontalSlider_2);

uiSliders_Size.push_back(ui->horizontalSlider_Size_1);
uiSliders_Size.push_back(ui->horizontalSlider_Size_2);

uiSliders_Size.push_back(ui->Slider_Size_1);
uiSliders_Size.push_back(ui->Slider_Size_2);
uiLabels.push_back(ui->label_threshold_1);
uiLabels.push_back(ui->label_threshold_2);

uiLineEdits.push_back(ui->lineEdit_PupilMinArea);
uiLineEdits.push_back(ui->lineEdit_PupilMaxArea);
Expand Down Expand Up @@ -103,19 +109,19 @@ TrackerPlugin_EyeTracker::TrackerPlugin_EyeTracker(QObject *parent)
/*Sliders signalmapper*/
signalMapperSliders = new QSignalMapper(this);
/*Connect checkboxes and sliders*/
connect(ui->Slider_1, SIGNAL(sliderMoved(double)), signalMapperSliders, SLOT(map()));
connect(ui->Slider_2, SIGNAL(sliderMoved(double)), signalMapperSliders, SLOT(map()));
signalMapperSliders->setMapping(ui->Slider_1, 0);
signalMapperSliders->setMapping(ui->Slider_2, 1);
connect(ui->horizontalSlider_1, SIGNAL(valueChanged(int)), signalMapperSliders, SLOT(map()));
connect(ui->horizontalSlider_2, SIGNAL(valueChanged(int)), signalMapperSliders, SLOT(map()));
signalMapperSliders->setMapping(ui->horizontalSlider_1, 0);
signalMapperSliders->setMapping(ui->horizontalSlider_2, 1);
connect(signalMapperSliders, SIGNAL(mapped(int)), this, SLOT(onThreshSliderMoved(int)));

/*Sliders Size signalmapper*/
signalMapperSliders_Size = new QSignalMapper(this);
/*Connect checkboxes and sliders*/
connect(ui->Slider_Size_1, SIGNAL(sliderMoved(double)), signalMapperSliders_Size, SLOT(map()));
connect(ui->Slider_Size_2, SIGNAL(sliderMoved(double)), signalMapperSliders_Size, SLOT(map()));
signalMapperSliders_Size->setMapping(ui->Slider_Size_1, 0);
signalMapperSliders_Size->setMapping(ui->Slider_Size_2, 1);
connect(ui->horizontalSlider_Size_1, SIGNAL(valueChanged(int)), signalMapperSliders_Size, SLOT(map()));
connect(ui->horizontalSlider_Size_2, SIGNAL(valueChanged(int)), signalMapperSliders_Size, SLOT(map()));
signalMapperSliders_Size->setMapping(ui->horizontalSlider_Size_1, 0);
signalMapperSliders_Size->setMapping(ui->horizontalSlider_Size_2, 1);
connect(signalMapperSliders_Size, SIGNAL(mapped(int)), this, SLOT(onSizeSliderMoved(int)));

/*LineEdit signalmapper*/
Expand All @@ -141,8 +147,11 @@ TrackerPlugin_EyeTracker::TrackerPlugin_EyeTracker(QObject *parent)
connect(this, SIGNAL(sizeChanged(int, QSize)), trackerWorker, SLOT(onSizeChanged(int, QSize)));
connect(this, SIGNAL(areaContraintsChanged(int,int)), trackerWorker, SLOT(onAreaConstraintsChanged(int,int)));
connect(ui->checkBox_showBinary, SIGNAL(clicked(bool)), trackerWorker, SLOT(onShowBinary(bool)));
connect(ui->checkBox_brightPupil, SIGNAL(clicked(bool)), trackerWorker, SLOT(onBrightPupil(bool)));
connect(trackerWorker, SIGNAL(trackingResult(std::vector<double>)), this, SLOT(onTrackingResult(std::vector<double>)));
// connect(trackerWorker, SIGNAL(trackingResult(TrackingResults)), this, SLOT(onTrackingResult(TrackingResults)));


}

QObject *TrackerPlugin_EyeTracker::worker()
Expand Down Expand Up @@ -218,13 +227,15 @@ void TrackerPlugin_EyeTracker::onCheckBoxClicked(int index)

void TrackerPlugin_EyeTracker::onThreshSliderMoved(int index)
{
float value = uiSliders.at(index)->value();
float value = (uiSliders.at(index)->value());
uiLabels.at(index)->setText(QString("Threshold: ").append(QString::number(int(value))));
emit(thresholdChanged(index, value));
}

void TrackerPlugin_EyeTracker::onSizeSliderMoved(int index)
{
float value = uiSliders_Size.at(index)->value();
value = value /100.0;
if((rectItems.at(index)->pos().x() + maxRectWidth*value < cameraScene->width()) &
(rectItems.at(index)->pos().y() + maxRectWidth*value < cameraScene->height())) {

Expand Down
15 changes: 8 additions & 7 deletions TrackerPlugin_EyeTracker.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef PUPILDIAMTRACKER_H
#define PUPILDIAMTRACKER_H
#ifndef EYETRACKER_H
#define EYETRACKER_H

#include "TrackerInterface.h"
#include "TrackerWorker.h"
Expand All @@ -24,7 +24,7 @@


namespace Ui {
class TrackerPlugin_PupilDiam;
class TrackerPlugin_EyeTracker;
}

class TrackerPlugin_EyeTracker : public QWidget, public TrackerInterface
Expand All @@ -41,7 +41,7 @@ class TrackerPlugin_EyeTracker : public QWidget, public TrackerInterface
QSize cameraResolution;

private:
Ui::TrackerPlugin_PupilDiam *ui;
Ui::TrackerPlugin_EyeTracker *ui;
QGraphicsScene* cameraScene;
QGraphicsPixmapItem* pixmapItem;
QVector<NotifyingQGraphicsRectItem*> rectItems;
Expand All @@ -59,8 +59,9 @@ class TrackerPlugin_EyeTracker : public QWidget, public TrackerInterface

/*ui pointers for use with signalmapper*/
QVector<QwtPlot*> uiPlots;
QVector<QwtSlider*> uiSliders;
QVector<QwtSlider*> uiSliders_Size;
QVector<QSlider*> uiSliders;
QVector<QLabel*> uiLabels;
QVector<QSlider*> uiSliders_Size;
QVector<QCheckBox*> uiCheckboxes;
QVector<QLineEdit*> uiLineEdits;

Expand Down Expand Up @@ -94,4 +95,4 @@ private slots:

};

#endif // PUPILDIAMTRACKER_H
#endif // EYETRACKER_H
Loading

0 comments on commit 0a2111e

Please sign in to comment.