{"name":"napari-omaas","display_name":"napari OMAAS","visibility":"public","icon":"","categories":[],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-omaas.write_multiple","title":"Save multi-layer data with napari OMAAS","python_name":"napari_omaas._writer:write_multiple","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.write_single_image","title":"Save image data with napari OMAAS","python_name":"napari_omaas._writer:write_single_image","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.make_sif_sample_data","title":"Load sample data in sif format from napari OMAAS","python_name":"napari_omaas._sample_data:make_sif_sample_data","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.make_folder_sample_data","title":"Load sample data in spooling (binary) format from napari OMAAS","python_name":"napari_omaas._sample_data:make_folder_sample_data","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.make_folder_sample_data_dual","title":"Load sample data in spooling (binary) format from napari OMAAS","python_name":"napari_omaas._sample_data:make_folder_sample_data_dual","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.make_qwidget","title":"Optical Mapping Analysis","python_name":"napari_omaas._widget:OMAAS","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-omaas.get_reader","title":"Open sif data with napari-omaas default reader","python_name":"napari_omaas._reader:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari-omaas.get_reader","filename_patterns":["*.sif","*.tif","*.tiff"],"accepts_directories":true}],"writers":[{"command":"napari-omaas.write_multiple","layer_types":["image*","labels*"],"filename_extensions":[],"display_name":""},{"command":"napari-omaas.write_single_image","layer_types":["image"],"filename_extensions":[".npy"],"display_name":""}],"widgets":[{"command":"napari-omaas.make_qwidget","display_name":"Optical Mapping Analysis","autogenerate":false}],"sample_data":[{"command":"napari-omaas.make_sif_sample_data","key":"heart_sample_freiburg","display_name":"Example SIF Dataset (Singel illumination RED)"},{"command":"napari-omaas.make_folder_sample_data","key":"heart_sample_single_illumination","display_name":"Example spool Dataset (Singel illumination RED)"},{"command":"napari-omaas.make_folder_sample_data_dual","key":"heart_sample_dual_illumination","display_name":"Example spool Dataset (Dual illumination RED/BLUE)"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.2","name":"napari-omaas","version":"1.0.4","dynamic":null,"platform":null,"supported_platform":null,"summary":"napari-OMAAS stands for Optical Mapping Acquisition and Analysis Software","description":"# napari-omaas\n\n[![License BSD-3](https://img.shields.io/pypi/l/napari-omaas.svg?color=green)](https://github.com/rjlopez2/napari-omaas/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-omaas.svg?color=green)](https://pypi.org/project/napari-omaas)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-omaas.svg?color=green)](https://python.org)\n[![tests](https://github.com/rjlopez2/napari-omaas/workflows/tests/badge.svg)](https://github.com/rjlopez2/napari-omaas/actions)\n[![codecov](https://codecov.io/gh/rjlopez2/napari-omaas/branch/main/graph/badge.svg)](https://codecov.io/gh/rjlopez2/napari-omaas)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-omaas)](https://napari-hub.org/plugins/napari-omaas)\n\nnapari-OMAAS stands for **Optical Mapping Acquisition and Analysis Software** for panoramic heart imaging.\n\nThis napari plugin intends to be an analysis and acquisition tool for optical mapping in potentiometric (V<sub>m</sub>) or calcium (Ca<sup>2+</sup>) fluorescence signals obtained from panoramic imaging of intact hearts.\n\n It supports reading images in `.sif` format and binary files generated from Andor Technologies cameras powered by the [sif_parser] python module.\n\n\n\n<!-- ```{admonition} Experimental ❗️🐲🧪🔭🐗💣🚨🪲☣️❗️\n:class: warning\nThis plugin is in early development/experimental stage so expect braking changes and bugs at anytime.\n``` -->\n## Examples\n\n<br /> \n\n### Plot profile\n\nThe following example ilustrate how to perform normalization (pixelwise) on a time serie image and plot its 2d profile along the *t* dimension withing the averaged ROI selected pixels.\n\n![](https://github.com/rjlopez2/napari-omaas/blob/documentation/example_imgs/Oct-31-2023%2016-45-55_plot_profile.gif?raw=true)\n\n----------------------------------\n\n### APD estimation \n\nThe next example shows how to compute action potential duration (APD) in the same image stack.\n\n![](https://github.com/rjlopez2/napari-omaas/blob/documentation/example_imgs/Oct-31-2023%2016-49-02_APD_analysis.gif?raw=true)\n\n----------------------------------\n\nYou can also perform additional operations on images, such as normalization, temporal/spatial filters, segmentation, but also apply more advanced image processing methods such as motion tracking/compensation, etc.\n\n----------------------------------\n\n## Roadmap\n\nThis plugin was aimed to have two major components: **analysis** and **acquisition**. Bellow is a list of the current features that napari-omaas supports:\n\n### Analysis Features\n    \n- [x] Read sif files from Andor Technologies.\n- [x] Display time profile of ROIs on image sequences.\n- [x] Normalize images.\n    - [x] Perform peak analysis of action potential / Calcium traces.\n    - [x] Add motion correction.\n    - [x] APD analysis.\n    - [x] Create activation maps.\n    - [x] Segment images.\n    - [x] Automatic crop and alignment of heart ROIs.\n- [x] Export results, metadata and analysis log.\n\n### Acquisition Features\n\n- [ ] Control Zyla camera for the acquisition of data\n    - [ ] test using the PYME module\n- [ ] Real-time analysis(?)\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n<!--\nDon't miss the full getting started guide to set up your new package:\nhttps://github.com/napari/cookiecutter-napari-plugin#getting-started\n\nAlso review the napari docs for plugin developers:\nhttps://napari.org/stable/plugins/index.html\n-->\n\n\n## Contributing\n\nContributions are very welcome. Run tests with [tox], ensuring\nthe coverage remains the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [BSD-3] license,\n\"napari-omaas\" is free and open source software.\n\n## Issues\n\nIf you encounter any problems, please [file an issue] and a  detailed description.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt\n[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n\n[file an issue]: https://github.com/rjlopez2/napari-omaas/issues\n\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n[sif_parser]: https://pypi.org/project/sif-parser/\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/rjlopez2/napari-omaas","download_url":null,"author":"Ruben Lopez","author_email":"rjlopez2@gmail.com","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","tqdm","superqt","magicgui","qtpy","opencv-python-headless","sif_parser","napari_matplotlib","napari-tiff","napari-mat-file-reader","opticalmapping","scikit-image","matplotlib","pandas","scipy","tifffile","toml","tox; extra == \"testing\"","pytest; extra == \"testing\"","pytest-cov; extra == \"testing\"","pytest-qt; extra == \"testing\"","napari; extra == \"testing\"","pyqt5; extra == \"testing\"","sphinx; extra == \"docs\"","sphinxcontrib-napoleon; extra == \"docs\"","sphinxcontrib-bibtex; extra == \"docs\"","sphinxcontrib-video; extra == \"docs\"","sphinx-autobuild; extra == \"docs\"","sphinx-copybutton; extra == \"docs\"","sphinx-codeautolink; extra == \"docs\"","furo; extra == \"docs\"","myst_nb>=1.0.0; extra == \"docs\"","jupytext; extra == \"docs\"","jupyter-cache; extra == \"docs\"","cupy-cuda11x; extra == \"gpu\""],"requires_python":">=3.10","requires_external":null,"project_url":["Bug Tracker, https://github.com/rjlopez2/napari-omaas/issues","Documentation, https://github.com/rjlopez2/napari-omaas#README.md","Source Code, https://github.com/rjlopez2/napari-omaas","User Support, https://github.com/rjlopez2/napari-omaas/issues"],"provides_extra":["testing","docs","gpu"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}