{"name":"napari-live-recording","display_name":"napari-live-recording","visibility":"public","icon":"","categories":[],"schema_version":"0.1.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-live-recording.open","title":"Live recording","python_name":"napari_live_recording:NapariLiveRecording","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-live-recording.open","display_name":"Live recording","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-live-recording","version":"0.3.8","dynamic":null,"platform":null,"supported_platform":null,"summary":"A napari plugin for live video recording with a generic camera device.","description":"# napari-live-recording\n\n[](https://github.com/jacopoabramo/napari-live-recording/raw/main/LICENSE)\n[](https://pypi.org/project/napari-live-recording)\n[](https://python.org)\n\n[](https://codecov.io/github/jacopoabramo/napari-live-recording) \\\n[](https://napari-hub.org/plugins/napari-live-recording)\n[](https://chanzuckerberg.com/)\n\nThis [napari] plugin was generated with [Cookiecutter] using with [@napari]'s [cookiecutter-napari-plugin] template.\n\n## Description\n\n`napari-live-recording` (or `nlr`, if you like acronyms) is a medium-weight plugin part of the napari ecosystem that provides an easy \naccess point for controlling area detector devices (most commonly reffered to as cameras) with a common interface.\nOther 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.\n\n> [!NOTE]\n> \n> ### Why medium weight?\n> `napari-live-recording` relies on multithreading to handle camera control,\n> image processing and data storage via a common pipelined infrastructure.\n> More details are provided in the documentation.\n\nThe plugin allows the following operations:\n\n- snapping: capture a single image\n- live view: continously acquiring from the currently active camera and show the collected data on the napari viewer;\n- recording: stream data to disk from the currently active cameras\n\nWhen recording, the plugin allows to store images according to the following formats:\n\n- ImageJ TIFF\n- OME-TIFF\n\n> [!NOTE]\n> Future releases will also add further file formats to the recording options, specifically:\n> - HDF5\n> - MP4\n>\n> We will also provide a method to add custom metadata to the recorded image files.\n\n## Supported cameras\n\n`napari-live-recording` aims to maintain itself agnostic for the type of cameras it controls. Via a common API (Application Programming Interface),\nit possible to define a controller for a specific camera. Instructions\non how to do so are provided in the documentation.\n\nBy default, the plugin is shipped with the following interfaces:\n\n- an [OpenCV](./src/napari_live_recording/control/devices/opencv.py) camera grabber;\n- a [Micro-Manager](./src/napari_live_recording/control/devices/micro_manager.py) interface via the package [`pymmcore-plus`](https://pypi.org/project/pymmcore-plus/);\n- an interface to the [microscope](./src/napari_live_recording/control/devices/pymicroscope.py) python package.\n\n## Documentation\n\nTo install and use the plugin you can review the documentation [here](./docs/documentation.md).\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## Acknowledgments\n\nThe developers would like to thank the [Chan-Zuckerberg Initiative (CZI)](https://chanzuckerberg.com/) for providing funding\nfor this project via the [napari Ecosystem Grants](https://chanzuckerberg.com/science/programs-resources/imaging/napari/napari-live-recording-camera-control-through-napari/).\n\n
\n \n