{"name":"napari-flim-phasor-plotter","display_name":"FLIM phasor plotter","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-flim-phasor-plotter.get_reader","title":"Open data with FLIM phasor plotter","python_name":"napari_flim_phasor_plotter._reader:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.load_seminal_receptacle_image","title":"Load sample data from FLIM phasor plotter","python_name":"napari_flim_phasor_plotter._sample_data:load_seminal_receptacle_image","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.load_hazelnut_image","title":"Load sample data from FLIM phasor plotter","python_name":"napari_flim_phasor_plotter._sample_data:load_hazelnut_image","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.load_hazelnut_z_stack","title":"Load sample data from FLIM phasor plotter","python_name":"napari_flim_phasor_plotter._sample_data:load_hazelnut_z_stack","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.load_lifetime_cat_synthetic","title":"Load sample data from FLIM phasor plotter","python_name":"napari_flim_phasor_plotter._sample_data:load_lifetime_cat_synthtetic_single_image","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.calculate_phasors","title":"Calculate Phasors","python_name":"napari_flim_phasor_plotter._widget:make_flim_phasor_plot","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.open_phasor_plot","title":"Open FLIM Phasor Plotter","python_name":"napari_flim_phasor_plotter._plotting:PhasorPlotterWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.convert_to_zarr","title":"Convert to zarr","python_name":"napari_flim_phasor_plotter._io.convert_to_zarr:convert_folder_to_zarr","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-flim-phasor-plotter.apply_binning","title":"Apply binning to TCSPC FLIM data","python_name":"napari_flim_phasor_plotter._widget:apply_binning_widget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari-flim-phasor-plotter.get_reader","filename_patterns":["*.ptu","*.PTU","*.sdt","*.SDT","*.tif","*.zarr"],"accepts_directories":true}],"writers":null,"widgets":[{"command":"napari-flim-phasor-plotter.calculate_phasors","display_name":"Calculate Phasors","autogenerate":false},{"command":"napari-flim-phasor-plotter.convert_to_zarr","display_name":"Convert to zarr","autogenerate":false},{"command":"napari-flim-phasor-plotter.apply_binning","display_name":"Apply binning to TCSPC FLIM data","autogenerate":false},{"command":"napari-flim-phasor-plotter.open_phasor_plot","display_name":"Phasor Plotter Widget","autogenerate":false}],"sample_data":[{"command":"napari-flim-phasor-plotter.load_seminal_receptacle_image","key":"receptacle","display_name":"Seminal Receptacle (2D Raw FLIM)"},{"command":"napari-flim-phasor-plotter.load_hazelnut_image","key":"hazelnut","display_name":"Hazelnut (2D Raw FLIM)"},{"command":"napari-flim-phasor-plotter.load_hazelnut_z_stack","key":"hazelnut_z_stack","display_name":"Hazelnut (3D Raw FLIM)"},{"command":"napari-flim-phasor-plotter.load_lifetime_cat_synthetic","key":"lifetime_cat","display_name":"Lifetime Cat (2D Raw Synthetic FLIM)"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-flim-phasor-plotter","version":"0.0.6","dynamic":null,"platform":null,"supported_platform":null,"summary":"A plugin that performs phasor plot from TCSPC FLIM data.","description":"# napari-flim-phasor-plotter\n\n[![License BSD-3](https://img.shields.io/pypi/l/napari-flim-phasor-plotter.svg?color=green)](https://github.com/zoccoler/napari-flim-phasor-plotter/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-flim-phasor-plotter.svg?color=green)](https://pypi.org/project/napari-flim-phasor-plotter)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-flim-phasor-plotter.svg?color=green)](https://python.org)\n[![tests](https://github.com/zoccoler/napari-flim-phasor-plotter/workflows/tests/badge.svg)](https://github.com/zoccoler/napari-flim-phasor-plotter/actions)\n[![codecov](https://codecov.io/gh/zoccoler/napari-flim-phasor-plotter/branch/main/graph/badge.svg)](https://codecov.io/gh/zoccoler/napari-flim-phasor-plotter)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-flim-phasor-plotter)](https://napari-hub.org/plugins/napari-flim-phasor-plotter)\n\nNapari-flim-phasor-plotter is a [napari](https://napari.org/stable/) plugin to interactively load and show raw fluorescence lifetime imaging microscopy (FLIM) single images and series and generate phasor plots. These are Fourier transforms of the decay data being visualized using the [napari-clusters-plotter](https://github.com/BiAPoL/napari-clusters-plotter) plotter, adapted to suit the FLIM context. This allows qualitative and quantitative downstream analysis of FLIM images. \n\n----------------------------------\n\n## Usage\n\nOpen a FLIM image to visualize it both as a 'FLIM image series' being a sequence of intensity images each corresponding to an individual time point of the FLIM 'micro-time', plus as a timely summed up image. Scrolling through the FLIM time series provides a first glimpse of lifetimes across image regions.\n\nCall the plugin from the menu `Plugins > FLIM phasor plotter > Make FLIM Phasor Plot` to generate a phasor plot by pixel-wise Fourier transformation of the decay data. Hereby, select the FLIM image to be used, specify the laser pulse frequency if not read properly from metadata. Define an intensity threshold to exclude pixels of low photon counts, optionally a median filter, and a harmonic for optimal visualization. `Run` creates the phasor plot and an additional labels layer in the layer list. Below is a demonstration:\n\n![](https://github.com/zoccoler/napari-flim-phasor-plotter/raw/main/images/napari_FLIM_phasor_calculator_Demo.gif)\n\nChange the color-code of the phasor plot to a density plot of various ‘Colormaps’ from the pulldown `Expand for advanced options` and select `HISTOGRAM`. Manually encircle a region of interest in the phasor plot to highlight the corresponding pixels in the newly created image layer. Hold ‘Shift’ to select and visualize several clusters to investigate image regions of similar FLIM patterns. \n\n### Input Data\n\nThis plugin integrates with [napari-clusters-plotter plugin](https://github.com/BiAPoL/napari-clusters-plotter).\n\nThis plugin can read the following FLIM file types:\n - \".ptu\"\n - \".sdt\"\n - \".tif\"\n - \".zarr\"\n\nThis plugin works with the following data shapes:\n - 2D FLIM images (actually 3D data where FLIM counts are in the first axis).\n - 3D FLIM images (actually 4D data where FLIM counts are in the first axis).\n - 3D timelapse FLIM images (actually 5D data where FLIM counts are in the first axis).\n - Multichannel '.tif' or '.zarr' data may need to be loaded separately.\n\nThe plugin outputs data axes in the following order (data from multiple detectors are displayed as distinct napari layers):\n\n(`flim_counts`, `time`, `z`, `y`, `x`)\n\nIt also outputs the standard intensity image in another layer by summing the `flim_counts` dimension.\n\n### Data Conversion\n\nIf a collection of raw (uncompressed) images are larger than 4GB, we recommend converting them to `.zarr`. This can be done via `Plugins > napari-flim-phasor-plotter > Convert to zarr`.\n\n_Warning: In the current version, lazy loading with `.zarr` is available, but processing may still load all data into memory, so keep track of your memory usage._\n\n![](https://github.com/zoccoler/napari-flim-phasor-plotter/raw/main/images/convert_to_zarr.png)\n\nIf you have multiple slices or time-points as separated files, you can choose a folder containing the files. In order for the plugin to properly build a stack, the file names must contain some indication about which slice or time-point they represent, i.e., **each file name should contain a `_t` and/or `_z` followerd by a number**.\n\nHere are a few example templates:\n- timelapse:\n - `image_t001.ptu`\n - `image_t002.ptu`\n- z-stack:\n - `image_z01.sdt`\n - `image_z02.sdt`\n- 3D timelapse:\n - `image_t001_z001.tif`\n - `image_t001_z002.tif`\n - ...\n - `image_t002_z001.tif`\n\n\n## Installation\n\nYou can install `napari-flim-phasor-plotter` via [pip]. Follow these steps from a terminal.\n\nWe recommend using `mamba-forge` whenever possible. Click [here](https://github.com/conda-forge/miniforge#mambaforge) to choose the right download option for your OS.\n**If you use `mamba-forge`, replace the `conda` term whenever you see it below with `mamba`.**\n\nCreate a conda environment:\n\n conda create -n napari-flim-phasor-env python=3.9\n \nActivate the environment:\n\n conda activate napari-flim-phasor-env\n \nThen install `napari` and `napari-clusturs-plotter` (plus git if on Windows):\n\n conda install -c conda-forge napari==0.4.17 napari-clusters-plotter git pyqt\n\n_Optional: we **strongly** recommend having the `devbio-napari` plugin bundle also installed for post-processing. This can be done with:_\n\n conda install -c conda-forge devbio-napari\n\nFinally install `napari-flim-phasor-plotter` plugin with:\n\n pip install napari-flim-phasor-plotter\n \nAlternatively, clone this repository and install the latest plugin development version with:\n\n pip install git+https://github.com/zoccoler/napari-flim-phasor-plotter.git\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## License\n\nDistributed under the terms of the [BSD-3] license,\n\"napari-flim-phasor-plotter\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with 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/zoccoler/napari-flim-phasor-plotter/issues\n\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/zoccoler/napari-flim-phasor-plotter","download_url":null,"author":"Marcelo L. Zoccoler, Cornelia Wetzker","author_email":"marzoccoler@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.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","magicgui","qtpy","napari-clusters-plotter","sdtfile","natsort","rocket-fft","dask","zarr","tox ; extra == 'testing'","pytest ; extra == 'testing'","pytest-cov ; extra == 'testing'","pytest-qt ; extra == 'testing'","napari ; extra == 'testing'","pyqt5 ; extra == 'testing'"],"requires_python":">=3.8","requires_external":null,"project_url":["Bug Tracker, https://github.com/zoccoler/napari-flim-phasor-plotter/issues","Documentation, https://github.com/zoccoler/napari-flim-phasor-plotter#README.md","Source Code, https://github.com/zoccoler/napari-flim-phasor-plotter","User Support, https://github.com/zoccoler/napari-flim-phasor-plotter/issues"],"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}