{"name":"napari_video","display_name":"napari_video","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari_video.napari_get_reader","title":"napari_get_reader","python_name":"napari_video.napari_video:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari_video.napari_get_reader","filename_patterns":["*"],"accepts_directories":true}],"writers":null,"widgets":null,"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari_video","version":"0.2.9","dynamic":null,"platform":null,"supported_platform":null,"summary":"napari plugin for reading videos.","description":"# napari-video\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari_video)](https://napari-hub.org/plugins/napari_video)\n\nNapari plugin for working with videos.\n\nRelies on [pyvideoreader](https://pypi.org/project/pyvideoreader/) as a backend which itself uses [opencv](https://opencv.org) for reading videos.\n\n## Installation\n```shell\npip install napari[all] napari_video\n```\n\n## Usage\nFrom a terminal:\n```shell\nnapari video.avi\n```\n\nOr from within python:\n```shell\nimport napari\nfrom napari_video.napari_video import VideoReaderNP\n\npath='video.mp4'\nvr = VideoReaderNP(path)\nwith napari.gui_qt():\n viewer = napari.view_image(vr, name=path)\n```\n\n## Internals\n`napari_video.napari_video.VideoReaderNP` exposes a video with a numpy-like interface, using opencv as a backend.\n\nFor instance, open a video:\n```python\nvr = VideoReaderNP('video.avi')\nprint(vr)\n```\n```\nvideo.avi with 60932 frames of size (920, 912, 3) at 100.00 fps\n```\nThen\n\n- `vr[100]` will return the 100th frame as a numpy array with shape `(902, 912, 3)`.\n- `vr[100:200:10]` will return 10 frames evenly spaced between frame number 100 and 200 (shape `(10, 902, 912, 3)`).\n- 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.\n- 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)`.\n\n\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/janclemenslab/napari-video","download_url":null,"author":"Jan Clemens","author_email":"clemensjan@googlemail.com","maintainer":null,"maintainer_email":null,"license":null,"classifier":["License :: OSI Approved :: MIT License","Framework :: napari","Operating System :: OS Independent"],"requires_dist":["numpy","pyvideoreader"],"requires_python":">=3.6","requires_external":null,"project_url":["Bug Tracker, https://github.com/janclemenslab/napari-video/issues","Documentation, https://github.com/janclemenslab/napari-video/blob/main/README.md","Source Code, https://github.com/janclemenslab/napari-video","User Support, https://github.com/janclemenslab/napari-video/issues"],"provides_extra":null,"provides_dist":null,"obsoletes_dist":null},"npe1_shim":true}