napari-live-recording

napari-live-recording

A napari plugin for live video recording with a generic camera device.

License: MIT PyPI Python Version tests codecov
napari hub Chan-Zuckerberg Initiative

This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-napari-plugin template.

Description

napari-live-recording (or nlr, if you like acronyms) is a medium-weight plugin part of the napari ecosystem that provides an easy access point for controlling area detector devices (most commonly reffered to as cameras) with a common interface. Other than that, the plugin also allows to create computation pipelines that can be executed real-time in a flow starting directly from the camera stream.

[!NOTE]

Why medium weight?

napari-live-recording relies on multithreading to handle camera control, image processing and data storage via a common pipelined infrastructure. More details are provided in the documentation.

The plugin allows the following operations:

  • snapping: capture a single image
  • live view: continously acquiring from the currently active camera and show the collected data on the napari viewer;
  • recording: stream data to disk from the currently active cameras

When recording, the plugin allows to store images according to the following formats:

  • ImageJ TIFF
  • OME-TIFF

[!NOTE] Future releases will also add further file formats to the recording options, specifically:

  • HDF5
  • MP4

We will also provide a method to add custom metadata to the recorded image files.

Supported cameras

napari-live-recording aims to maintain itself agnostic for the type of cameras it controls. Via a common API (Application Programming Interface), it possible to define a controller for a specific camera. Instructions on how to do so are provided in the documentation.

By default, the plugin is shipped with the following interfaces:

Documentation

To install and use the plugin you can review the documentation here.

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

Acknowledgments

The developers would like to thank the Chan-Zuckerberg Initiative (CZI) for providing funding for this project via the napari Ecosystem Grants.

License

Distributed under the terms of the MIT license, "napari-live-recording" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Version:

  • 0.3.8

Last updated:

  • 16 March 2024

First released:

  • 05 October 2021

License:

Supported data:

  • Information not submitted

Plugin type:

  • Information not submitted

GitHub activity:

  • Stars: 20
  • Forks: 6
  • Issues + PRs: 2

Python versions supported:

Operating system:

Requirements:

  • superqt
  • numpy
  • opencv-python
  • tifffile
  • napari[all]
  • qtpy
  • microscope >=0.7.0
  • pims
  • pyqtgraph
  • pymmcore-plus >=0.6.7
  • pymmcore-widgets

Sign up to receive updates