Skip to main content

Utilities for event-based vision

Project description

EV Utils

EV-utils is a collection of utilities for working event based data inspired by the event_utils library. This library aims at being camera independent (yet also supporting specific camera vendors) with minimal dependencies but also performent. The library is divided into severla modules some of which can be used without installing all the dependencies. These include:

└── augment - Event augmentations
└── dataset - Wrappers for various dataset loaders
└── events 
└── io
    ├── reader 
    └── writer
└── random
└── torch
└── types
└── vis
    ├── histogram
    └── reconstructor

Installation

From Git

git clone --recurse-submodules git@git.ee.ethz.ch:pbl/research/event-camera/evutils.git

cd evutils
pip install . 
pip install -e . # Use this to install an editable version of the package

Quick API overview

augment

Event augmentations

dataset

Wrappers for various dataset loaders

io

The io module provides methods for reading and writing events into various event formats. It provides a simple .read() and .write() interface as well as more advanced interfaces using iterators and slicing.

from evutils.io.reader import EventReader_RAW


ev_file = EventReader_RAW("raw_file.raw", delta_t=10e3)

events = ev_file.read()

utils

Various utility functions

random

Generating random events and adding noise to event recordings

types

This provides several standard types for representing Events in numpy arrays

vis

The vis moduels provides several methods for visualizing the events (for example as histograms), but also provides a streamlined interface for more complex visualization techneques, such as using the E2Vid reconstructor.

You need to download the pretrained weights:

wget "http://rpg.ifi.uzh.ch/data/E2VID/models/E2VID_lightweight.pth.tar" -O models/E2VID_lightweight.pth.tar
from evutils.vis.reconstructor import RPG_Reconstructor

reconstructor = RPG_Reconstructor(1280, 720)

img = reconstructor.gen_frame(events)

Running tests

You can run tests on using the pytest utility:

pytest -s

Acknowledgements

Thanks to all the contributors for supporting this project:

  • Elia Franc
  • Jakub Mandula

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evutils-0.3.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

evutils-0.3.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

evutils-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

evutils-0.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

evutils-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

evutils-0.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

evutils-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

evutils-0.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

evutils-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

File details

Details for the file evutils-0.3.1.tar.gz.

File metadata

  • Download URL: evutils-0.3.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evutils-0.3.1.tar.gz
Algorithm Hash digest
SHA256 518e935c1f68a2cad639c47faaae265a9457eea00cf16c4796dd1ff7b15b3c3b
MD5 6c79646c71bfd5c28f4b50ea2ad9c5a4
BLAKE2b-256 6340e2b95762a8addf95c7fb22b0a10b8292b1a1d37b01bb68247da322c8c832

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c62c1c906211f8d4c301b84723853f6cef0cad57dab115bfd8a3e7a4ec3879e2
MD5 4dd85de08e83cac4d085b6c89ddf2701
BLAKE2b-256 2377fa21971d862d0f4f6d5911b7d4a4d38ca444335328f07fb49d05ce8bb13c

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 94a7d88d33313d95d02260c838b2316a9014773233197e476e8804c65455f9fc
MD5 7166e1f7ec534baa5c88e535e879b515
BLAKE2b-256 35e4a51f3c68f51bcaccd5239b41a1f48554c2808d38636c34cf01c09c7a22be

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04907d11e9296f0998f0d878dcac72f4bac81cb0d14fe1a01398598f6622d911
MD5 aeac8b9ba245b78757826161c8901cc6
BLAKE2b-256 c737d7e81613752d9e1c79b7b1a34bfaf38c68eea9c2b76f0c5005d3b659e324

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 feb796dff1681e80c3b2e30631666f3feee017b63901ff9c340db7def957160f
MD5 9f08bb1257e999c91e702604dcf8fc83
BLAKE2b-256 119b7c43d18a48b144cc3b39b9b42e8d51eae667244c0a9f4f9c835050a1e4a0

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3bc41a4466a954ca8a9562b0a0fd45938dbce613f6ccb12f2958aa44dd17d4c2
MD5 bada2eba599d3ff7df719d8d4040651a
BLAKE2b-256 93ed9e21eb56eeea7aa24745ffc6d70a2b2ea4e3aa0d5bfeb908783e63dce8d1

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cdae1da6b86ba69624644603201779df9fc6865677e181bc46f90f47514e2755
MD5 fe133cc9db4a0ef1c39378ed4e6616db
BLAKE2b-256 eeec2d66bf116f224cde5d4807274f9b7890bf312ec8753220753dabfad8a561

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4225f7fbfd4a14ce31c93bc3db27d7bca350ff4676e110c38f9d0ad217b1efed
MD5 b9a4d0c67ef478de6550f5b6f873424c
BLAKE2b-256 2a040bce1572c5661911d6d83d0121a85eb1cd95ad754491a9d66f7852b442dd

See more details on using hashes here.

File details

Details for the file evutils-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for evutils-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fbace6a7b98fbc72c7bd59d226d47b2dae4176548caae240978c559d13014896
MD5 334359c72cc6a419ab9a6f2e99179996
BLAKE2b-256 5ba6ab7e2f6d1a5bc64b3bfa29ca024a340628e76b7cd650da15608000b637f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page