@@ -13,19 +13,26 @@ def detect(self, variance, global_variance):
1313 if global_variance >= self .config .get ('TossThreshold' ):
1414 self .eye_movements = 0
1515 self .last_eye_movement = now + 1000 * self .config .get ('TossCooldown' )
16+ return self .eye_movements
1617
17- if now - self .last_eye_movement > 1000 * 60 :
18- if self .eye_movements > 0 :
19- self .eye_movements = self .eye_movements - 1
20- self .last_eye_movement = now - 1000 * 58
18+ if now - self .last_eye_movement > 1000 * 60 and self .eye_movements > 0 :
19+ self .eye_movements = self .eye_movements - 1
20+ self .last_eye_movement = now - 1000 * 58
2121
2222 if (self .config .get ('TrackFace' ) or self .config .get ('TensorFlow' )) and not self .face .has_face :
2323 return self .eye_movements
2424
25- if variance >= self .config .get ('TriggerThreshold' ):
26- if now - self .last_eye_movement > 1000 :
27- self .last_eye_movement = now
28- if self .eye_movements < 8 :
29- self .eye_movements = self .eye_movements + 1
25+ if variance < self .config .get ('TriggerThreshold' ):
26+ return self .eye_movements
27+
28+ artifact_filter = self .config .get ('ArtifactFilter' )
29+ artifact_variance = variance + variance * (1.0 - artifact_filter )
30+ if artifact_filter != 0 and global_variance > artifact_variance :
31+ return self .eye_movements
32+
33+ if now - self .last_eye_movement > 1000 :
34+ self .last_eye_movement = now
35+ if self .eye_movements < 8 :
36+ self .eye_movements = self .eye_movements + 1
3037
3138 return self .eye_movements
0 commit comments