pymoten

Motion energy features from video

https://github.com/gallantlab/pymoten

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

computer-vision gabor-filters neuroscience spatiotemporal-energy-model video-features

Keywords from Contributors

cloud-storage google-drive numpy-arrays
Last synced: 6 months ago · JSON representation ·

Repository

Motion energy features from video

Basic Info
Statistics
  • Stars: 33
  • Watchers: 19
  • Forks: 10
  • Open Issues: 7
  • Releases: 7
Topics
computer-vision gabor-filters neuroscience spatiotemporal-energy-model video-features
Created about 6 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.rst

=====================
 Welcome to pymoten!
=====================

|Zenodo| |Github| |codecov| |Python| 


What is pymoten?
================

``pymoten`` is a python package that provides a convenient way to extract motion energy
features from video using a pyramid of spatio-temporal Gabor filters [1]_ [2]_. The filters
are created at multiple spatial and temporal frequencies, directions of motion,
x-y positions, and sizes. Each filter quadrature-pair is convolved with the
video and their activation energy is computed for each frame. These features
provide a good basis to model brain responses to natural movies
[3]_ [4]_.


Installation
============


Clone the repo from GitHub and do the usual python install

.. code-block:: bash

   git clone https://github.com/gallantlab/pymoten.git
   cd pymoten
   sudo python setup.py install

Or with pip:

.. code-block:: bash

   pip install pymoten
   

Getting started
===============

Example using synthetic data

.. code-block:: python

   import moten
   import numpy as np

   # Generate synthetic data
   nimages, vdim, hdim = (100, 90, 180)
   noise_movie = np.random.randn(nimages, vdim, hdim)

   # Create a pyramid of spatio-temporal gabor filters
   pyramid = moten.get_default_pyramid(vhsize=(vdim, hdim), fps=24)

   # Compute motion energy features
   moten_features = pyramid.project_stimulus(noise_movie)


Simple example using a video file

.. code-block:: python

   import moten

   # Stream and convert the RGB video into a sequence of luminance images
   video_file = 'http://anwarnunez.github.io/downloads/avsnr150s24fps_tiny.mp4'
   luminance_images = moten.io.video2luminance(video_file, nimages=100)

   # Create a pyramid of spatio-temporal gabor filters
   nimages, vdim, hdim = luminance_images.shape
   pyramid = moten.get_default_pyramid(vhsize=(vdim, hdim), fps=24)

   # Compute motion energy features
   moten_features = pyramid.project_stimulus(luminance_images)


.. |Build Status| image:: https://travis-ci.org/gallantlab/pymoten.svg?branch=main
    :target: https://travis-ci.org/gallantlab/pymoten
    
.. |Github| image:: https://img.shields.io/badge/github-pymoten-blue
   :target: https://github.com/gallantlab/pymoten

.. |Python| image:: https://img.shields.io/badge/python-3.7%2B-blue
   :target: https://www.python.org/downloads/release/python-370

.. |Codecov| image:: https://codecov.io/gh/gallantlab/pymoten/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/gallantlab/pymoten

.. |Zenodo| image:: https://zenodo.org/badge/240954590.svg
   :target: https://zenodo.org/badge/latestdoi/240954590


Cite as
=======
Nunez-Elizalde AO, Deniz F, Dupré la Tour T, Visconti di Oleggio Castello M, and Gallant JL (2021). pymoten: scientific python package for computing motion energy features from video. Zenodo. https://doi.org/10.5281/zenodo.6349625

References
==========


.. [1] Adelson, E. H., & Bergen, J. R. (1985). Spatiotemporal energy models for the perception of motion. 
   Journal of the Optical Society of America A, 2(2), 284-299.

.. [2] Watson, A. B., & Ahumada, A. J. (1985). Model of human visual-motion sensing. 
   Journal of the Optical Society of America A, 2(2), 322–342. 

.. [3] Nishimoto, S., & Gallant, J. L. (2011). A three-dimensional
   spatiotemporal receptive field model explains responses of area MT neurons
   to naturalistic movies. Journal of Neuroscience, 31(41), 14551-14564.

.. [4] Nishimoto, S., Vu, A. T., Naselaris, T., Benjamini, Y., Yu, B., &
   Gallant, J. L. (2011). Reconstructing visual experiences from brain activity
   evoked by natural movies. Current Biology, 21(19), 1641-1646.

=======

A MATLAB implementation can be found `here `_.

Owner

  • Name: gallantlab
  • Login: gallantlab
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title:  'pymoten: scientific python package for computing motion energy features from video'
tags:
- computer vision
- motion energy
- video processing
authors:
- given-names: Anwar O. 
  family-names: Nunez-Elizalde
  affiliation: Helen Wills Neuroscience Institute, University of California, Berkeley, CA, USA
- given-names: Fatma 
  family-names: Deniz
  affiliation: Helen Wills Neuroscience Institute, University of California, Berkeley, CA, USA
- given-names: Tom
  family-names: Dupré la Tour
  affiliation: Helen Wills Neuroscience Institute, University of California, Berkeley, CA, USA
- given-names: Matteo 
  family-names: Visconti di Oleggio Castello
  affiliation: Helen Wills Neuroscience Institute, University of California, Berkeley, CA, USA
- given-names: Jack L.
  family-names: Gallant
  affiliation: Helen Wills Neuroscience Institute, University of California, Berkeley, CA, USA
doi: 10.5281/zenodo.6349625
date-released: 2021-01-01
url: "https://github.com/gallantlab/pymoten"

GitHub Events

Total
  • Watch event: 5
  • Delete event: 5
  • Issue comment event: 2
  • Push event: 5
  • Pull request event: 14
  • Fork event: 2
  • Create event: 5
Last Year
  • Watch event: 5
  • Delete event: 5
  • Issue comment event: 2
  • Push event: 5
  • Pull request event: 14
  • Fork event: 2
  • Create event: 5

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 168
  • Total Committers: 5
  • Avg Commits per committer: 33.6
  • Development Distribution Score (DDS): 0.452
Top Committers
Name Email Commits
Anwar Nunez-Elizalde a****z@g****m 92
Anwar Nunez-Elizalde a****z@u****m 57
Tom Dupré la Tour t****r@m****g 10
Matteo Visconti di Oleggio Castello m****c@b****u 8
Matteo Visconti di Oleggio Castello m****c@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 17
  • Total pull requests: 19
  • Average time to close issues: 10 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 5
  • Total pull request authors: 8
  • Average comments per issue: 0.59
  • Average comments per pull request: 0.74
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 6
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.67
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • anwarnunez (12)
  • mvdoc (2)
  • Sino0904 (1)
  • Yuan-fang (1)
  • ekintuncok (1)
Pull Request Authors
  • mvdoc (8)
  • dependabot[bot] (8)
  • yuerout (5)
  • TomDLT (5)
  • anwarnunez (2)
  • rysk-t (2)
  • ctseng12 (1)
  • eickenberg (1)
  • marklescroart (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (8) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 150 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 2
pypi.org: pymoten

Extract motion energy features from video using spatio-temporal Gabors

  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 150 Last month
Rankings
Dependent packages count: 4.6%
Forks count: 12.6%
Stargazers count: 12.6%
Average: 14.4%
Downloads: 20.1%
Dependent repos count: 21.9%
Maintainers (2)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Pillow *
  • matplotlib *
  • numpy *
  • opencv-python *
  • scipy *
test_requirements.txt pypi
  • Pillow * test
  • codecov * test
  • matplotlib * test
  • numpy * test
  • opencv-python * test
  • pytest * test
  • pytest-cov * test
  • scikit-image * test
  • scipy * test
setup.py pypi
.github/workflows/build_docs.yml actions
  • JamesIves/github-pages-deploy-action v4.6.3 composite
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/run_tests.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v4 composite