jacopoabramo / napari-live-recording

General-purpouse camera capture plugin for data streaming to napari
MIT License
22 stars 6 forks source link

napari-live-recording

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:

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

[!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.