Detect microsaccades
Project description
pycrosaccade
Detect microsaccades
Installation
Use pip install
> pip install pycrosaccade
Usage
Use in combination with https://github.com/smathot/python-eyelinkparser/tree/master/eyelinkparser
Preprocessing
from pycrosaccade import microsaccades, ms_diagnostics
from eyelinkparser import parse, defaulttraceprocessor
# Parse data as usual
dm = parse(
traceprocessor=defaulttraceprocessor(
blinkreconstruct=True,
downsample=None,
mode = "advanced"
)
)
Out:
data/sub_1.asc............................................data/sub_2.asc............................................data/sub_3.asc............................................
Microsaccades
For each phase in the experiment, add 5 columns (saccetlist_phase
, saccstlist_phase
, saccdurlist_phase
, saccdistlist_phase
, saccfreq_phase
)
microsaccades(dm)
print(dm.saccstlist_fixation)
Out:
Calculating microsaccades in phase "baseline"
Calculating microsaccades in phase "feedback"
Calculating microsaccades in phase "fixation"
Calculating microsaccades in phase "problem"
Calculating microsaccades in phase "response"
col[[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[1101. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 487. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 399. 590. nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 613. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[1378. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[1036. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 194. nan nan nan nan]
[ nan nan nan nan nan]
[ 785. 898. 1056. 1191. 2360.]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 884. 1068. nan nan nan]
[ 663. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 209. nan nan nan nan]
[1237. nan nan nan nan]
[1268. nan nan nan nan]
[ nan nan nan nan nan]
[ 275. nan nan nan nan]
[1066. 1552. nan nan nan]
[ 143. 779. nan nan nan]
[ 705. nan nan nan nan]
[ nan nan nan nan nan]
[ 569. 792. 1396. nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 16. nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 91. 609. 738. 1633. 2209.]
[ 385. nan nan nan nan]
[1558. nan nan nan nan]
[ 474. 715. nan nan nan]
[ 354. 926. nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 629. 1065. nan nan nan]
[1291. 1590. nan nan nan]
[ 55. 608. 862. 1088. 1940.]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ 478. 1020. 1177. 2420. nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]
[ nan nan nan nan nan]]
Visualisation
from matplotlib import pyplot as plt
fig, ax = plt.subplots()
ax.plot(dm.saccfreq_fixation.mean)
fig.savefig('plot.png')
Out:
To compare the results with different parameters, use ms_diagnostics
microsaccades(dm, varname='default')
microsaccades(dm, varname='thres3', msVthres=3)
Out:
Calculating microsaccades in phase "baseline"
Calculating microsaccades in phase "feedback"
Calculating microsaccades in phase "fixation"
Calculating microsaccades in phase "problem"
Calculating microsaccades in phase "response"
Calculating microsaccades in phase "baseline"
Calculating microsaccades in phase "feedback"
Calculating microsaccades in phase "fixation"
Calculating microsaccades in phase "problem"
Calculating microsaccades in phase "response"
fig, axs = ms_diagnostics(dm, phase='fixation', varname='default')
fig.savefig('defaults.png')
fig, axs = ms_diagnostics(dm, phase='fixation', varname='thres3')
fig.savefig('thres3.png')
Out:
Parameters
TODO (but see functions)
References
- Engbert, R., & Kliegl, R. (2003). Microsaccades uncover the orientation of covert attention. Vision Research, 43(9), 1035–1045. https://doi.org/10.1016/S0042-6989(03)00084-1
- Liu, B., Nobre, A. C., & Ede, F. van. (2021). Functional but not obligatory link between microsaccades and neural modulation by covert spatial attention. bioRxiv. https://doi.org/10.1101/2021.11.10.468033
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pycrosaccade-0.5.0.tar.gz
(7.3 MB
view details)
Built Distribution
File details
Details for the file pycrosaccade-0.5.0.tar.gz
.
File metadata
- Download URL: pycrosaccade-0.5.0.tar.gz
- Upload date:
- Size: 7.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.29.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed46da3bbc2e0e631ef49e63794746298db003eabfddfcdcd08dc81c1a8e6449 |
|
MD5 | 92b494d117a37e48d40edd44b76c9527 |
|
BLAKE2b-256 | 7706ce81550312ce52696012fd719764208f755e7e16b19cc7bdace3b6083150 |
File details
Details for the file pycrosaccade-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: pycrosaccade-0.5.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.29.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd04ad75e33ccc0c75fd03f0956c519f4426b2eca5683fc67778ef7cfd31d08f |
|
MD5 | a78f7222460e0a9241872420db552154 |
|
BLAKE2b-256 | aa2a03cebb30d32584e7838d17de3a0eab0c4fc965ba262c32c92b75d76c2edd |