Owleye / codes /work.py
owleyetracker's picture
Upload 45 files
b4c5d36 verified
Raw History Blame Contribute Delete
4.31 kB
from PyQt5.QtCore import pyqtSignal, QObject
from codes.show import Camera
from codes.calibration import Clb
from codes.sampling import Smp
from codes.tune_models_params import Tuning
from codes.eye_track import EyeTrack
from codes.see_data import See
# Change parameters use_io, clb_grd for accuracy and del_files, nep
class Worker(QObject, Camera, Clb, Smp, Tuning, EyeTrack, See):
num = 0
camera_id = 0
thb = 0.0
ss = 0
mfr = 0.0
dft = 0.0
st = 0.0
cam = False
clb = False
smp = False
acc = False
tbt = False
mdl = False
uio = False
gps = False
gpa = False
sps = False
spa = False
gfx = False
running = True
cam_started = pyqtSignal()
clb_started = pyqtSignal()
smp_started = pyqtSignal()
acc_started = pyqtSignal()
tbt_started = pyqtSignal()
mdl_started = pyqtSignal()
gps_started = pyqtSignal()
gpa_started = pyqtSignal()
sps_started = pyqtSignal()
spa_started = pyqtSignal()
gfx_started = pyqtSignal()
finished = pyqtSignal()
def __init__(self):
super().__init__()
def do_work(self):
if self.cam and self.running:
print("\nCamera")
self.cam_started.emit()
self.features(camera_id=self.camera_id)
if self.clb and self.running:
print("\nCalibration")
self.clb_started.emit()
self.et(
num=self.num,
camera_id=self.camera_id,
info=self.info,
clb_grid=self.clb_grid
)
if self.smp and self.running:
print("\nSampling")
self.smp_started.emit()
self.sampling(
num=self.num,
camera_id=self.camera_id,
gui=True
)
if self.acc and self.running:
print("\nTesting")
self.acc_started.emit()
self.accuracy(
num=self.num,
camera_id=self.camera_id,
clb_grid=(5, 7, 20)
)
if self.tbt and self.running:
print("\nSee user blinking")
self.user_face(
num=self.num,
threshold=self.thb,
save_threshold=True
)
if self.mdl and self.running:
print("\nTuning params")
self.mdl_started.emit()
self.et_mdl(
subjects=[self.num],
shift_samples=[self.ss],
delete_files=False
)
if self.gps and self.running:
print("\nGetting pixels")
self.gps_started.emit()
self.get_pixels(
subjects=[self.num],
shift_samples=[self.ss],
use_io=self.uio,
delete_files=False
)
if self.gpa and self.running:
print("\nGetting test pixels")
self.gpa_started.emit()
self.get_pixels(
subjects=[self.num],
target_fol="acc",
shift_samples=[self.ss],
use_io=True,
delete_files=False
)
if self.sps and self.running:
print("\nSeeing sampling data")
self.sps_started.emit()
self.pixels_smp(num=self.num, show_in_all_monitors=True)
if self.spa and self.running:
print("\nSeeing testing data")
self.spa_started.emit()
self.pixels_acc(
num=self.num,
show_in_all_monitors=True
)
if self.gfx and self.running:
print("\nGetting fixations")
self.gfx_started.emit()
self.get_fixations(
subjects=[self.num],
t_discard=self.dft,
x_merge=self.mfr[0],
y_merge=self.mfr[1],
vx_thr=self.st,
vy_thr=self.st
)
print("\nEye Tracking finished!")
self.finished.emit()
self.running = True