Abstract
Pupillometry (or the measurement of pupil size) is commonly used as an index of cognitive load and arousal. Pupil size data are recorded using eyetracking devices that provide an output containing pupil size at various points in time. During blinks the eyetracking device loses track of the pupil, resulting in missing values in the output file. The missing-sample time window is preceded and followed by a sharp change in the recorded pupil size, due to the opening and closing of the eyelids. This eyelid signal can create artificial effects if it is not removed from the data. Thus, accurate detection of the onset and the offset of blinks is necessary for pupil size analysis. Although there are several approaches to detecting and removing blinks from the data, most of these approaches do not remove the eyelid signal or can result in a relatively large amount of data loss. The present work suggests a novel blink detection algorithm based on the fluctuations that characterize pupil data. These fluctuations (“noise”) result from measurement error produced by the eyetracker device. Our algorithm finds the onset and offset of the blinks on the basis of this fluctuation pattern and its distinctiveness from the eyelid signal. By comparing our algorithm to three other common blink detection methods and to results from two independent human raters, we demonstrate the effectiveness of our algorithm in detecting blink onset and offset. The algorithm’s code and example files for processing multiple eye blinks are freely available for download (https://osf.io/jyz43).
Similar content being viewed by others
Pupil dilation (i.e., pupillometry) is commonly used as an index of cognitive load (e.g., Beatty, 1982; Kahneman & Beatty, 1966) and arousal (e.g., Bradley, Miccoli, Escrig, & Lang, 2008; Cohen, Moyal, & Henik, 2015; Murphy, Robertson, Balsters, & O’Connell, 2011). Common eyetracking devices provide a continuous measure of pupil size. These devices are highly accurate in measuring pupil size and provide an output consisting of pupil size at each point in time, depending on the sampling rate. Importantly, during blinks, the eyetracking device loses track of the pupil, resulting in missing values in the output file (Fig. 1a). The detection of blinks in pupillometry data is highly important because their occurrence is not random, but depends on the task characteristics (Stern, Walrath, & Goldstein, 1984), such as cognitive load (Fukuda, 2001). As a result, eye blinks that occur during pupillometry recordings could lead to artifacts, which, in turn, could lead to wrong conclusions. The present work offers a novel algorithm for blink detection that is based on noise produced by an error measurement that characterizes the commonly used eyetracking devices.
Common methods to deal with blinks
There are several common solutions for dealing with blinks in pupillometry data. The most stringent solution is to remove trials with blinks (Weiskrantz, Cowey, & Barbur, 1999). This solution results in relatively high data loss and therefore lowers statistical power. Most researchers, however, do not remove trials with missing samples, but instead replace the missing samples with other values, usually using interpolation algorithms (e.g., linear interpolation; Sirois & Jackson, 2012). For example, in linear interpolation, the last valid sample (before the first missing value) and the next valid sample (after the last missing value) are connected using a line (Fig. 1b). The assumption underlying this approach is that the appearance of the blinks is immediate. Namely, the first missing value pinpoints the moment in time in which the blink started, and the reoccurrence of values pinpoints the end of the blink. However, because eyelid movement is not instantaneous, blink-related data start a bit before the first missing sample and end a bit after the last missing sample. Accordingly, blinks are characterized by a sharp decrement in pupil size during the start of the blink (Caffier, Erdmann, & Ullsperger, 2003). Namely, although the eyelid covers the eyeball rapidly, the eyetracker’s output shows a reduction in pupil size when there is no real change in pupil size (but simply an artifact created by the closing of the eyelid). As the blink ends and the eyelid opens up, a larger surface of the pupil is uncovered. This, in turn, is recorded by the eyetracker as a rapid growing of pupil size (Fig. 1a represents the pattern of recorded pupil size during an eye blink). When using interpolation procedures on the missing samples, these decrements and increments of pupil size are not removed from the data, and thus could create artificial differences in pupil size between conditions.
Another common approach used to treat blinks is to take a wider window for the interpolation, such that the interpolation starts and ends around 100–200 ms before the first and after the last missing samples (de Gee, Knapen, & Donner, 2014; Nyström, Hansen, Andersson, & Hooge, 2016; Satterthwaite et al., 2007; van Rijn et al., 2012). By using this approach, researchers define an arbitrary window of samples for the interpolation that contains a constant number of samples both before and after the missing-sample window. This method is better than the aforementioned one, because it removes the artifactual samples created by the eyelid movement and thus prevents effects resulting from the eyelid signal. On the other hand, this approach causes a loss of samples that may contain valuable information. Biological changes in pupil size have a latency of no less than 50 ms (Charman & Heron, 1988; Gray, Winn, & Gilmartin, 1993). Hence, removing a 100- to 200-ms window of data from each side of the missing-sample time window (a total of 200–400 ms of data for each blink) could remove real effects that appear in the data. Furthermore, some of the missing-sample periods do not result from blinks but from an inability of the device to detect the pupil (e.g., due to head movements). These periods, which can be very short (a few milliseconds) or very long (if the subject completely moves his or her head and no longer looks at the screen) are not characterized by sharp slopes (because there is no closing of the eyelids); therefore, removing 100–200 ms before and after these missing-sample periods excludes valid data.
Recently, a third algorithm based on the sharp slopes before and after the blinks was developed in order to get more accurate detection of blink boundaries (Mathôt, 2013; Piquado, Isaacowitz, & Wingfield, 2010; Stampe, 1993). This approach focuses on the velocity of change in pupil dilation. Specifically, a standardized score of the velocity of the pupil change is calculated across all the recorded samples, and extreme samples (i.e., those that exceed a predetermined threshold) mark the onset and offset of the blink (for more details, see Mathôt, 2013). Although this approach makes an important step toward the accurate detection of blink onset and offset, it suffers from two major limitations. First, it assumes that all blinks are characterized by a similar pattern. However, eye blinks show different patterns even within the same data set (Caffier et al., 2003). Second, computation of the standardized velocity scores is done before the removal of blinks from the data, and thus is affected by the eyelid signal. The inclusion of the eyelid signal increases the measured variance, which in turn affects the threshold (i.e., a larger variance produces a more extreme threshold). Moreover, setting the threshold could be challenging, since it should minimize false detections, on the one hand, and misdetections, on the other. Figures 2a and b present a case in which the threshold is set relatively low (e.g., Z = 2.5). In this case, the chosen threshold could cause a false detection of blinks. In contrast, Fig. 2 c and d present a case in which the threshold is set relatively high (e.g., Z = 4), which may lead to misses.
The present study
In the present work, we present a new blink detection algorithm. Our algorithm is based on accurate detection of the sharp slope that precedes and follows the missing-sample time window, and thus avoids some of the limitations of the previously mentioned methods. The recorded pupillometry signal is characterized by small-amplitude, high-frequency fluctuations (above 20 Hz). These fluctuations do not result from physiological processes, which are characterized by relatively slow frequencies (Nowak, Hachoł, & Kasprzak, 2008), but from measurement error created by the eyetracking device. Specifically, these fluctuations result from noise that is inherent in the image-processing algorithms of commonly used eyetracking devices and the data from the camera sensor that they receive. This observational error (or measurement noise) is eliminated when the eyelids shut and reopen, due to the strong signal recorded during these rapid movements of the eyelid. By identifying the moments in time at which the measurement noise ends and reemerges, we can detect blink onset and offset (green dots in Fig. 3a) more accurately.
Method
Noise-based algorithm
To detect blink onset and offset, our algorithm first detects missing values in the data (yellow area in Fig. 3a). We then define the candidate samples for blink onset and offset as the last valid sample before the start of the missing-sample time window and the first valid sample after the end of the missing-sample time window (red dots in Fig. 3a). Next, we smooth the pupillometry data using smoothing of a 10-ms window,Footnote 1 to increase the difference between the measurement noise and the eyelid signal (see Fig. 3b). Then we check the difference between each pair of consecutive samples, starting from the candidate sample (n) and moving backward (to the previous sample n – 1) for blink onset, and moving forward (to the following sample n + 1) for blink offset, until we detect a change in the monotonic pattern. These changes in the pattern reflect the end of the eyelid signal and the start of the measurement noise (Fig. 3b). See Table 1 for an example of data for one blink onset, and the Appendix for the algorithm’s pseudocode. In addition, the algorithm’s code and example files for processing multiple eye blinks are freely available for download (https://osf.io/jyz43).
Edge cases
Two edge cases (i.e., problems occurring outside of normal operating conditions) should be taken into account when using this noise-based approach. One of them is the case in which the recording starts or ends with missing values (i.e., at the beginning or end of the recording, there is an eye blink or the eyetracker cannot detect the pupil; for an example, see Fig. 4a). In this case, blink onset will be defined as the first missing value after the eyetracker starts recording (when the recording starts with missing samples), and blink offset will be defined as the last missing sample (when the recording ends with missing samples). Another edge case concerns the situation in which several missing-sample windows appear consecutively (for an example, see Fig. 4b). In this case, we suggest concatenating the missing-sample windows. By using this approach, the blink will be defined by the first onset (of the first set of missing values) and by the last offset (of the last set of missing values). The maximal gap between two sequential sets of missing values can be defined by the user. We recommend using a gap of 100 ms, on the basis of previous studies (Slagter, Davidson, & Tomer, 2010; Slagter, Georgopoulou, & Frank, 2015) that have shown that the difference between two sequential eye blinks is usually longer than 100 ms.
Testing our algorithm
Our data were taken from Cohen et al.’s (2017) study. In their study, Cohen et al. used an MR-compatible eyetracker (EyeLink 1000, SR Research, Ontario, Canada) with a sampling rate of 500 Hz (2-ms intersampling time) to collect pupil size data. Stimulus presentation and data acquisition were controlled by EyeLink software (Experiment Builder). The data we analyzed are taken from one participant (male, 27 years old), who was requested to keep his eyes fixated on the center of the screen and to avoid eye movements for the entire task. The task consisted of the presentation of brief movie clips (for more details, see Cohen et al., 2017). Pupil area was determined using EyeLink’s “centroid” algorithm. The task included 160 trials, each lasting around 21 s (SD = 1.66). The data set included 300 eye blinks.
Data analysis
To test our algorithm, we compared its results, as well as those of the three other algorithms mentioned in the introduction, to the mean results across two independent human judges who manually marked blink onsets and offsets. Specifically, we compared human detection of blinks to four algorithms:
-
1.
Our noise algorithm
-
2.
A velocity algorithm
-
3.
A naïve algorithm (that defines blink onset and offset as the last valid sample before/after the missing-sample time window)
-
4.
A naïve ±200-ms algorithm (that increases the missing-sample time window by 200 ms at each side, resulting in the removal of 400 valid samples).
Instructions to human judges
The optimal onsets and offsets of blinks in the data were defined by two human judges. The two human judges received a figure depicting the recorded raw pupil time course across the entire task (with a sampling rate of 500 Hz). They were asked to mark blinks in the data according to examples given to them at the beginning of the task. Specifically, they were asked to mark the points on the graph at which the change in pupil size likely resulted from an eye blink.
Comparing the algorithms to human detection
Errors were measured as the difference in milliseconds between the algorithm’s onset/offset and the observer’s onset/offset. We computed the average error in milliseconds across blinks. Negative values represent detections after blink onset and before blink offset. Positive values represent detections before blink onset or after blink offset (Fig. 3a). To compare the effectiveness of the different algorithms, we used a Bayesian one-sample t test (we set the Cauchy prior width to its JASP (JASP Team, 2017) default r = .707). In our analysis, the null hypothesis meant that there was no difference between the tested algorithm and human judgment. The Bayesian analysis provided a Bayes factor (Kass & Raftery, 1995) for each algorithm (see Table 2). These Bayes factors quantify the evidence in favor of the alternative over the null hypothesis. In our case, these values helped determine which of the tested algorithms should be preferred.
Data exclusion
We excluded from our analysis missing-sample periods that started immediately after another missing-sample period. We also excluded blinks in which the two human raters differed from one another by more than 4 ms regarding their detection of blink onset/offset. Our final sample included 148 blinks; mean blink duration = 247.66 ms, SD = 42.71. This is compatible with previous findings, in which blink length ranged from 100 to 400 ms (Schiffman & Richard, 1990).
Results
The average differences between the detections of our noise-based algorithm for blink onset and offset versus the detections of the human judges were 1.77 ± 5.96 and 3.36 ± 18.04 ms, respectively. This means that our mean algorithm error for an arbitrary blink was about 5 ms of excess evaluation. Namely, we removed five valid milliseconds that were not part of the blink. Comparing these results to the results of the other algorithms (Table 2) shows that our algorithm is more accurate than the others.
In addition to mean comparisons, we conducted a series of Bayesian one-sample t tests, comparing the onset and offset of each algorithm to zero. Bayes factors (BFs) were calculated using JASP with the default Cauchy prior. Table 2 presents the BFs for each algorithm tested. The Cohen’s ds of our algorithm for blink onset and offset were 0.3 and 0.19, respectively. The results show that all algorithms except noise-based offset detection were significantly different from the human judges’ detections. The Bayes factor for noise-based offset detection indicates that there is no evidence for a difference between the algorithm’s error and 0. These results suggest that our noise-based algorithm should be preferred over the other algorithms. In addition, comparisons of all algorithms show that our algorithm is better than the others by a factor of between 106 and 10154 for blink onset detection, and between 1085 and 10107 for blink offset detection.
Discussion
In the present article we have introduced a novel algorithm for blink detection. The algorithm is based on noise produced by error measurement that characterizes the commonly used eyetracking devices. Our algorithm successfully predicted blink onset and offset as assessed by comparison to human detection. Furthermore, the currently used algorithms resulted in either loss of data or the inclusion of artifactual signals (resulting from eyelid movement), whereas our algorithm provided more precise detections (see the example in the Appendix, supporting information).
We hope that the algorithm provided in the present article will be implemented in pupillometry studies and therefore help researchers avoid artifacts in their data. In addition, our algorithm could be used in studies of blinks, such as studies assessing startle response (e.g., Graham, 1975). Specifically, in addition to the detection of blink onset and offset, our algorithm can be used to assess blink length and eye-blink rate (Monster, Chan, & O’Connor, 1978), a measure known to be correlated with dopamine level (Jongkees & Colzato, 2016; Karson, 1983). Moreover, our algorithm can provide useful information for studies that wish to control for the appearance of blinks in their analysis (as is commonly done in electroencephalogram and functional magnetic resonance imaging studies; Merritt, Schnyders, Patel, Basner, & O’Neill, 2004; Satterthwaite et al., 2007). Our algorithm (see the Appendix) is very easy to implement in various programming languages (e.g., MATLAB, R, and Python), and by using it in pupillometry preprocessing or to detect blink-related information, researchers can gain a better understanding of their behavioral and physiological results.
Although our algorithm yielded impressive results as compared to the commonly used algorithms, it has several limitations. Our algorithm is based on the inherent noise that characterizes eyetracker devices. We have verified the appearance of this noise in two eyetrackers [EyeLink (SR Research, Ontario, Canada) and EyeTribe (The Eye Tribe Aps, Copenhagen, Denmark)]. Studies using a different eyetracker should take into account that a different noise pattern might be less optimal for our algorithm. However, due to the technical features that characterize the currently used eyetrackers (i.e., sensitivity of the camera sensor and the image-processing algorithms), we believe that most eyetrackers used these days will show a similar noise pattern. Future studies that characterize the pattern of this noise and its boundaries could improve the blink detection algorithm and make it compatible with any eyetracker.
To summarize, the present study presents a new method for blink detection in pupillometry data. This method, which uses the measurement noise that characterizes common eyetrackers, provides better detection of blink onset and offset than do the currently used methods. By using this algorithm, researchers can avoid blink-related artifacts in their data and thus improve their assessment of pupil size.
Supporting information
To illustrate the importance of accurate blink detection in the analysis of pupillometry data, we present the pupil size time course after preprocessing that included removal of blinks using the different algorithms. The pupil size data were taken from a study that included 19 participants (for more details, see Exp. 1 in Cohen et al., 2017). Figure 5 presents the results from the four detection approaches. The figure illustrates several important issues. First, Fig. 5a and b, which represent the naïve approach and the velocity approach, respectively, indicate a relatively sharp decrease in pupil size about 2 s after the beginning of the trial (shaded areas in Fig. 5). This reduction in pupil size may be interpreted as a light reflex for a naïve observer. Figures 5c and d, which represent the naïve ±200 ms approach and the noise approach, respectively, do not show a similar reduction in pupil size, meaning that this reduction probably resulted from a tendency to blink during this time period.
Notes
We found this value empirically by using pupillometry data from the EyeLink and EyeTribe eyetrackers (no smoothing will occur on the EyeTribe eyetracker because of its low sampling rate, up to 60 Hz), and it is compatible with previous findings (Mathôt, 2013).
References
Beatty, J. (1982). Task-evoked pupillary responses, processing load, and the structure of processing resources. Psychological Bulletin, 91(2), 276–292.
Bradley, M. M., Miccoli, L., Escrig, M. A., & Lang, P. J. (2008). The pupil as a measure of emotional arousal and autonomic activation. Psychophysiology, 45(4), 602–607.
Caffier, P. P., Erdmann, U., & Ullsperger, P. (2003). Experimental evaluation of eye-blink parameters as a drowsiness measure. European Journal of Applied Physiology, 89, 319–325. doi:https://doi.org/10.1007/s00421-003-0807-5
Charman, W. N., & Heron, G. (1988). Fluctuations in accommodation: A review. Ophthalmic and Physiological Optics, 8, 153–164. doi:https://doi.org/10.1111/j.1475-1313.1988.tb01031.x
Cohen, N., Moyal, N., & Henik, A (2015). Executive control suppresses pupillary responses to aversive stimuli. Biological Psychology, 112, 1–11.
Cohen, N., Ben-Yakov, A., Weber, J., Edelson, M., Paz, R., & Dudai, Y. (2017). Prestimulus activity in the cingulo-opercular network predicts memory for naturalistic episodic experience. bioRxiv:176057. doi:https://doi.org/10.1101/176057
de Gee, J. W., Knapen, T., & Donner, T. H. (2014). Decision-related pupil dilation reflects upcoming choice and individual bias. Proceedings of the National Academy of Sciences, 111, E618–E625. doi:https://doi.org/10.1073/pnas.1317557111
Fukuda, K. (2001). Eye blinks: new indices for the detection of deception. International Journal of Psychophysiology, 40, 239–245. doi:https://doi.org/10.1016/S0167-8760(00)00192-6
Graham, F. K. (1975). Presidential address, 1974: The more or less startling effects of weak prestimulation. Psychophysiology, 12, 238–248.
Gray, L. S., Winn, B., & Gilmartin, B. (1993). Accommodative microfluctuations and pupil diameter. Vision Research, 33, 2083–2090. doi:https://doi.org/10.1016/0042-6989(93)90007-J
JASP Team (2017). JASP (Version 0.8.3)[computer software]. Retrieved from https://jasp-stats.org/
Jongkees, B. J., & Colzato, L. S. (2016). Spontaneous eye blink rate as predictor of dopamine-related cognitive function—A review. Neuroscience & Biobehavioral Reviews, 71, 58–82. doi:https://doi.org/10.1016/j.neubiorev.2016.08.020
Kahneman, D., & Beatty, J. (1966). Pupil diameter and load on memory. Science, 154, 1583–1585. doi:https://doi.org/10.1126/science.154.3756.1583
Karson, C. N. (1983). Spontaneous eye-blink rates and dopaminergic systems. Brain, 106(3, Pt 3), 643–653. doi:https://doi.org/10.1093/brain/106.3.643
Kass, R. E., & Raftery, A. E. (1995). Bayes factors. Journal of the American Statistical Association, 90, 773–795. doi:https://doi.org/10.1080/01621459.1995.10476572
Mathôt, S. (2013). A simple way to reconstruct pupil size during eye blinks. doi:https://doi.org/10.6084/m9.figshare.688001
Merritt, S. L., Schnyders, H. C., Patel, M., Basner, R. C., & O’Neill, W. (2004). Pupil staging and EEG measurement of sleepiness. International Journal of Psychophysiology, 52, 97–112. doi:https://doi.org/10.1016/j.ijpsycho.2003.12.007
Monster, A. W., Chan, H. C., & O’Connor, D. (1978). Long-term trends in human eye blink rate. Biotelemetry and Patient Monitoring, 5, 206–222.
Murphy, P. R., Robertson, I. H., Balsters, J. H., & O’Connell, R. G. (2011). Pupillometry and P3 index the locus coeruleus–noradrenergic arousal function in humans. Psychophysiology, 48, 1532–1543. doi:10.1111/j.1469-8986.2011.01226.x
Nowak, W., Hachoł, A., & Kasprzak, H. (2008). Time-frequency analysis of spontaneous fluctuation of the pupil size of the human eye. Optica Applicata, XXXVIII(2), 469–480. Retrieved from www.if.pwr.edu.pl/~optappl/pdf/2008/no2/optappl_3802p469.pdf
Nyström, M., Hansen, D. W., Andersson, R., & Hooge, I. (2016). Why have microsaccades become larger? Investigating eye deformations and detection algorithms. Vision Research, 118, 17–24. doi:https://doi.org/10.1016/j.visres.2014.11.007
Piquado, T., Isaacowitz, D., & Wingfield, A. (2010). Pupillometry as a measure of cognitive effort in younger and older adults. Psychophysiology, 47, 560–569. doi:https://doi.org/10.1111/j.1469-8986.2009.00947.x
Satterthwaite, T. D., Green, L., Myerson, J., Parker, J., Ramaratnam, M., & Buckner, R. L. (2007). Dissociable but inter-related systems of cognitive control and reward during decision making: Evidence from pupillometry and event-related fMRI. NeuroImage, 37, 1017–1031. doi:https://doi.org/10.1016/j.neuroimage.2007.04.066
Schiffman, & Richard, H. (1990). Sensation and perception: An integrated approach (3rd ed.). Wiley.
Sirois, S., & Jackson, I. R. (2012). Pupil dilation and object permanence in infants. Infancy, 17, 61–78. doi:https://doi.org/10.1111/j.1532-7078.2011.00096.x
Slagter, H. A., Davidson, R. J., & Tomer, R. (2010). Eye-blink rate predicts individual differences in pseudoneglect. Neuropsychologia, 48, 1265–1268. doi:https://doi.org/10.1016/j.neuropsychologia.2009.12.027
Slagter, H. A., Georgopoulou, K., & Frank, M. J. (2015). Spontaneous eye blink rate predicts learning from negative, but not positive, outcomes. Neuropsychologia, 71, 126–132. doi:https://doi.org/10.1016/j.neuropsychologia.2015.03.028
Stampe, D. M. (1993). Heuristic filtering and reliable calibration methods for video-based pupil-tracking systems. Behavior Research Methods, Instruments, & Computers, 25, 137–142. doi:10.3758/BF03204486
Stern, J. A., Walrath, L. C., & Goldstein, R. (1984). The endogenous eyeblink. Psychophysiology, 21, 22–33.
van Rijn, H., Dalenberg, J. R., Borst, J. P., Sprenger, S. A., Beatty, J., Kahneman, D., . . . Magliero, A. (2012). Pupil dilation co-varies with memory strength of individual traces in a delayed response paired-associate task. PLoS ONE, 7, e51134. doi:10.1371/journal.pone.0051134
Weiskrantz, L., Cowey, A., & Barbur, J. L. (1999). Differential pupillary constriction and awareness in the absence of striate cortex. Brain, 122, 1533–1538. doi:10.1093/brain/122.8.1533
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
The algorithm’s pseudocode
-
1.
onset_candidate ← data[first(missing_values)-1]
-
2.
offset_candidate ← data[last(missing_values)+1]
-
3.
smoothing_data ← smooth(data)
-
4.
blink_onset ← onset_candidate
-
5.
blink_offset ← offset_candidate
-
6.
While smoothing_data[blink_onset] - smoothing_data[blink_onset-1] ≤ 0 do:
-
6.1.
blink_onset ← blink_onset - 1
-
6.1.
-
7.
While smoothing_data[blink_offset+1] - smoothing_data[blink_offset] ≥ 0 do:
-
7.1.
blink_offset ← blink_offset + 1
-
7.1.
-
8.
Return [blink_onset, blink_offset]
Above, data is the array of pupillometry data, and missing_values is the array of missing values.
Author note
This work was supported by funding from the European Research Council under the European Union’s Seventh Framework Programme (FP7/2007–2013)/ERC Grant Agreement No. 295644. We thank Moti Salti for providing important feedback during the analysis and manuscript preparation. We also wish to thank Sam Hutton, Shai Gabay, and Yoav Kessler for helpful information and advice and Desiree Meloul for her professional and generous help. Finally, we thank two research assistants—Tal Feldman and Noa Sharon—for their help with manual blink detection.
Rights and permissions
About this article
Cite this article
Hershman, R., Henik, A. & Cohen, N. A novel blink detection method based on pupillometry noise. Behav Res 50, 107–114 (2018). https://doi.org/10.3758/s13428-017-1008-1
Published:
Issue Date:
DOI: https://doi.org/10.3758/s13428-017-1008-1