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.0.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.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.2 kB view details)

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

evutils-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.3 kB view details)

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

evutils-0.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.2 kB view details)

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

evutils-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.3 kB view details)

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

evutils-0.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.2 kB view details)

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

evutils-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.3 kB view details)

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

evutils-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.2 kB view details)

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

evutils-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (50.3 kB view details)

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

File details

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

File metadata

  • Download URL: evutils-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 c29159bac80e338ea79c7c7ef35857d81939d14046f87a40a291864d282c5751
MD5 b647003b9e187df0d067ccab2fbd86ac
BLAKE2b-256 e69e58a433440244a7267ee872f889b36c472ae9d053a1a6a9c5d772b0d62b62

See more details on using hashes here.

File details

Details for the file evutils-0.3.0-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.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84b0e6d31edf5d259f2d799e91683adf47c74e7bb8ae2865caec79272c3464b5
MD5 6b5c4cc949ace1c1fcf331487e4c35f0
BLAKE2b-256 99747b392c0bd24ad7e76c9f5668b5d25b5caab4b6b81394dbca98abb41773b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evutils-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7f6dab6bbffc9153cad4557d2941220a46c6ccfcbf6e74f446773231cce2a323
MD5 b25e1cbe575038018e407862cc57a3e9
BLAKE2b-256 727c045891ac0d0ddcf6b2836a38bfa982841cb0211f365b76b37e3a2dae6119

See more details on using hashes here.

File details

Details for the file evutils-0.3.0-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.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7200479f34a14cb627bcedd3546b3e5212da4ef3f94e2ba24b23189666efe695
MD5 8d5ae0ee73b09c8a523a7ff3b9383538
BLAKE2b-256 6f17f6cd3699c678104465943a22126842c2570847402a37b80131ec0246976d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evutils-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d48234860e20963012bd9d9dbe48e812fb2c4d238a7e7cc68c794767c3f03105
MD5 91e0f1ff744bf1038b89c6c6f6bf034a
BLAKE2b-256 d8342487049165c5ce4cc5fe313349c54ef4b0925ec072b1e96d71dee0d768dd

See more details on using hashes here.

File details

Details for the file evutils-0.3.0-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.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abc7bdb8cc7e779571787d1fb09ddb6acfc443f772f37dfc396890dc3ee53ef3
MD5 9d8af211959d91d367318117e79992bf
BLAKE2b-256 010b487eac7473b35ebbae94cfa5c9dc0c26136d5c4d9226d5f2b4f9a2fb0938

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evutils-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b1909edcb2e05c62f8e751d392ad4f332a1d9a48804e16b3c3496449e68ca3ba
MD5 9a203f1d8eae0d03d5a48a3ec3ab1d13
BLAKE2b-256 3cc9dd0c3c49e38588a5ecd7ea009d7b01633e32299ae0e62d233b5a5f434b35

See more details on using hashes here.

File details

Details for the file evutils-0.3.0-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.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20e5b16946f00e9a7ca8b7a318f6a6cbf314a48e92c663c386bc4de25c6bc3e2
MD5 5224684d0eb5d593db466d0049d58b2b
BLAKE2b-256 293c950aa8b4e8d46d95b1cbd4124e6bc6b2b372f238941c66d9f666dd68136b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evutils-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 75e45b783a2ac52e360adbac1c12234cce3fd48d94cc2c891a168cb9a7e4ebdd
MD5 bd32ff229ac6535f37c80cc93fe83462
BLAKE2b-256 d968cad915b55aa30edaa7b44bcb9b663c3b2351880abb7d9c6eb2974969b065

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