Skip to content

pinpoint is a Python library for generating and tracking 2D barcode tags.

License

Notifications You must be signed in to change notification settings

jgraving/pinpoint

Repository files navigation

alt text

pinpoint: behavioral tracking using 2D barcode tags

pinpoint is a Python library for generating and tracking 2D barcode tags. The library uses numpy and matplotlib to generate barcode tags and uses OpenCV to automatically track each tag. It provides a high-level API for the automated measurement of animal behavior and locomotion.

This software is still in early-release development. Expect some adventures.

Citing

If you use this software for academic research, please consider citing it using this zenodo DOI:

DOI

Installation

Install the development version:

pip install git+https://www.github.com/jgraving/pinpoint.git

Dependencies

Development

https://github.com/jgraving/pinpoint

Please submit bugs or feature requests to the GitHub issue tracker

License

Released under a Apache 2.0 License. See LICENSE for details.

References

pinpoint is based on ArUco:

Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas, F. J., & Marín-Jiménez, M. J. (2014). Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition, 47(6), 2280-2292.

Other similar marker systems are also publicly available, such as AprilTag:

Wang, J., & Olson, E. (2016). AprilTag 2: Efficient and robust fiducial detection. In Intelligent Robots and Systems (IROS), 2016 IEEE/RSJ International Conference (pp. 4193-4198). IEEE.

If you require barcode tracking in MATLAB see BEETag:

Crall, J. D., Gravish, N., Mountcastle, A. M., & Combes, S. A. (2015). BEEtag: a low-cost, image-based tracking system for the study of animal behavior and locomotion. PloS one, 10(9), e0136487.