A least-squares offline method to test if tracked gaze points resemble a fixation.
With pip:
$ pip install fixationmodel
A data structure we call pointlist is used for point sequences. It is a list of points, where each point is a list [x, y].
The usage is simple:
>>> import fixationmodel >>> rawdata = [ [130.012, 404.231], [129.234, 403.478], [None, None], [133.983, 450.044], ... ] >>> results = fixationmodel.fit(rawdata) >>> print(results) { 'centroid': [344.682, 200.115], 'mean_squared_error': 0.000166802 }
Parameter:
- gazepointlist: a list of [x, y] points i.e. a list of lists.
Return dict with following keys:
- centroid: a list [x, y], the most probable target of the fixation
- mean_squared_error: the average squared error for a point.
Gives the current version string:
>>> fixationmodel.version '1.2.3'
Use virtualenv:
$ virtualenv -p python3.5 fixationmodel-py $ cd fixationmodel-py $ source bin/activate ... $ deactivate
Follow instructions to install pyenv and then either run quick tests:
$ python3.5 setup.py test
or comprehensive tests for multiple Python versions in tox.ini
:
$ pyenv local 2.6.9 2.7.10 3.2.6 3.3.6 3.4.3 3.5.0 $ eval "$(pyenv init -)" $ pyenv rehash $ tox
Validate README.rst at http://rst.ninjs.org/
Follow python packaging instructions:
- Create an unpacked sdist:
$ python setup.py sdist
- Create a universal wheel:
$ python setup.py bdist_wheel --universal
- Go to PyPI and register the project by filling the package form by uploading
fixationmodel.egg-info/PKG_INFO
file. - Upload the package with twine:
- Sign the dist:
$ gpg --detach-sign -a dist/fixa...0.1.2*
- Upload:
twine upload dist/fixa...0.1.2*
(will ask your PyPI password)
- Sign the dist:
- Package published!
Updating the package takes same steps except the 3rd.