napari_video

napari_video

napari plugin for reading videos.

napari hub

Napari plugin for working with videos.

Relies on pyvideoreader as a backend which itself uses opencv for reading videos.

Installation

pip install napari[all] napari_video

Usage

From a terminal:

napari video.avi

Or from within python:

import napari
from napari_video.napari_video import VideoReaderNP

path='video.mp4'
vr = VideoReaderNP(path)
with napari.gui_qt():
    viewer = napari.view_image(vr, name=path)

Internals

napari_video.napari_video.VideoReaderNP exposes a video with a numpy-like interface, using opencv as a backend.

For instance, open a video:

vr = VideoReaderNP('video.avi')
print(vr)
video.avi with 60932 frames of size (920, 912, 3) at 100.00 fps

Then

  • vr[100] will return the 100th frame as a numpy array with shape (902, 912, 3).
  • vr[100:200:10] will return 10 frames evenly spaced between frame number 100 and 200 (shape (10, 902, 912, 3)).
  • Note that by default, single-frame and slice indexing return 3D and 4D arrays, respectively. To consistently return 4D arrays, open the video with remove_leading_singleton=False. vr[100] will then return a (1, 902, 912, 3) array.
  • We can also request specific ROIs and channels. For instance, vr[100:200:10,100:400,800:850,1] will return an array with shape (10, 300, 50, 1).

Version:

  • 0.2.9

Last updated:

  • 23 August 2022

First released:

  • 27 February 2021

License:

Supported data:

  • Information not submitted

Plugin type:

Open extension:

GitHub activity:

  • Stars: 12
  • Forks: 3
  • Issues + PRs: 1

Python versions supported:

Operating system:

Requirements:

  • numpy
  • pyvideoreader