Skip to main content

Birdwatcher

Github CI Status PyPi version Docs Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. Codecov status

https://github.com/gbeckers/Birdwatcher/blob/master/docs/images/banner.gif

Birdwatcher is a Python computer vision library for analyzing animal behavior in a Python scientific computing environment.

Birdwatcher should help you getting up and running quickly when building analysis code or tools for specific measurements. It provides functionality that is common in video analysis, such as reading and writing videos into and from numpy arrays, applying processing algorithms such as background subtraction, morphological transformation, resizing, drawing on frames etc. Much of the underlying video and image processing is based on FFmpeg and OpenCV, but Birdwatcher is easier to use for many tasks because its higher-level implementation of functionality.

In addition to video analysis tools, Birdwatcher has high-level functions for behavioral analysis based on such tools, although currently these are limited to movement/location detection of single animals.

Despite its name, Birdwatcher is not only for birds. We also successfully analyzed dog behavior, and it could be used on anything that moves. It is being used in our lab but still under heavy development, and should be considered alpha software.

Code can be found on GitHub: https://github.com/gbeckers/Birdwatcher .

Example notebooks are currently the best introduction on how to use Birdwatcher. See jupyter notebook directory.

Documentation can be found at https://birdwatcher.readthedocs.io .

It is developed by Gabriel Beckers and Carien Mol, at Experimental Psychology, Utrecht University. It is open source, freely available under the New BSD License terms.

Installation Birdwatcher package

Birdwatcher officially supports Python 3.13 or higher, but older Python 3 versions may also work.

User installation

  1. We recommend using Anaconda for installation. Install Anaconda from https://www.anaconda.com/ .

  2. Open Anaconda prompt in terminal.

  3. Create new environment for Birdwatcher (name is up to you, in example here ‘mybirdwatcher’). We install Jupyter lab and ffmpeg at the same time:

    $ conda create -n mybirdwatcher python=3.12 jupyterlab ffmpeg=4.2.2 git
  4. Switch to this new environment:

    $ conda activate mybirdwatcher
  5. Install Birdwatcher:

    Stable latest official release from PyPi:

    $ pip install Birdwatcher

    If instead you want the latest version of the git master branch from, use:

    $ pip install git+https://github.com/gbeckers/birdwatcher@master

Dependencies

The following dependencies are automatically taken care of when you install Birdwatcher using the pip method above:

  • numpy

  • pandas

  • matplotlib

  • seaborn

  • darr

  • opencv-python

  • opencv-contrib-python

It further depends on:

  • ffmpeg (including ffprobe)

If you do not use the conda way above to install ffmpeg, you need to install it yourself (https://www.ffmpeg.org/).

Run notebooks tutorial

To quickly learn the fundamentals of Birdwatcher, please walk through our notebooks. First, you need to download the notebooks and example videos from github. Then, navigate to the directory of the notebooks and activate the ‘mybirdwatcher’ environment. Type jupyter lab which opens in your browser. You can now open the notebooks and run the tutorial.

Test

To run the test suite:

>>>import birdwatcher as bw
>>>bw.test()
..................................................
----------------------------------------------------------------------
Ran 50 tests in 75.858s

OK

<unittest.runner.TextTestResult run=50 errors=0 failures=0>

Documentation

https://birdwatcher.readthedocs.io

Examples

See jupyter notebook directory.

Contributions

Sita ter Haar and Dylan Minekus helped exploring the application of movement detection algorithms.

Metadata

Release files for birdwatcher 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for birdwatcher 0.5.0
File Size Uploaded
birdwatcher-0.5.0.tar.gz 5.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for birdwatcher 0.5.0
File Interpreter ABI Platform
birdwatcher-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.1 MB

Release files / birdwatcher-0.5.0.tar.gz

Download URL birdwatcher-0.5.0.tar.gz
Size 5.6 MB
Tags Source
SHA-256 checksum
How to use checksums
e2d2cb1d0e60e62edcd14141174c6bee82fa3cab4ba6a62da388d04e2a77f2d8
BLAKE2b-256 checksum
How to use checksums
4c9f8be37c27ece234e82b4700d2c69239891f0cdb44188272842d818c5233b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / birdwatcher-0.5.0-py3-none-any.whl

Download URL birdwatcher-0.5.0-py3-none-any.whl
Size 5.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2184beb020ad30db7bb12882f329b96351c3bb5c2725549eaac454992677f3bd
BLAKE2b-256 checksum
How to use checksums
c7fd6e3e38c26d427138a39839029ef64e927db378b8190e224280a2d9d62d10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page