{"name":"napari-ndtiffs","display_name":"napari-ndtiffs","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-ndtiffs.get_reader","title":"Get Reader","python_name":"napari_ndtiffs:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari-ndtiffs.get_reader","filename_patterns":["*"],"accepts_directories":true}],"writers":null,"widgets":null,"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-ndtiffs","version":"0.2.1","dynamic":null,"platform":null,"supported_platform":null,"summary":"napari plugin for nd tiff folders with OpenCl deskew","description":"# napari-ndtiffs\n\n[![License](https://img.shields.io/pypi/l/napari-ndtiffs.svg?color=green)](https://raw.githubusercontent.com/tlambert03/napari-ndtiffs/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-ndtiffs.svg?color=green)](https://pypi.org/project/napari-ndtiffs)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-ndtiffs.svg?color=green)](https://python.org)\n[![tests](https://github.com/tlambert03/napari-ndtiffs/workflows/tests/badge.svg)](https://github.com/tlambert03/napari-ndtiffs/actions)\n[![codecov](https://codecov.io/gh/tlambert03/napari-ndtiffs/branch/main/graph/badge.svg)](https://codecov.io/gh/tlambert03/napari-ndtiffs)\n\nnapari plugin for nd tiff folders with optional CUDA or OpenCL-based deskewing.\n\nBuilt-in support for folders of (skewed) lattice light sheet tiffs.\n\n![napari-ndtiffs demo](https://github.com/tlambert03/napari-ndtiffs/raw/main/demo.gif)\n\n----------------------------------\n\n*This [napari] plugin was generated with [Cookiecutter] using with [@napari]'s [cookiecutter-napari-plugin] template.*\n\n## Features\n\n- Drag and drop a folder of tiffs onto napari window to view easily \n - (currently designed to detect lattice light sheet tiffs, but easily\n adjustable)\n- If lattice `Settings.txt` file is found, will deskew automatically (only if\n necessary)\n- Lazily loads dataset on demand. quickly load preview your data.\n- Handles `.zip` archives as well! Just directly compress your tiff folder,\n then drop it into napari.\n- All OpenCL deskewing, works on GPU as well as CPU, falls back to scipy if\n [PyOpenCL] is unavailable.\n- CuPy-based deskewing will work for cards with NVIDIA GPUs that support CUDA.\n CuPy 8.x releases should work, although CuPy >= 9 is recommended. If [CuPy]\n is unavailable, the [PyOpenCL] implementation is used instead.\n\nIt would not be hard to support arbitrary filenaming patterns! If you have a\nfolder of tiffs with a consistent naming scheme and would like to take advantage\nof this plugin, feel free to open an issue!\n\n## Installation\n\nYou can install `napari-ndtiffs` via [pip]:\n\n```shell\npip install napari-ndtiffs\n```\n\nTo also install PyOpenCL (for faster deskewing):\n\n```shell\npip install napari-ndtiffs[opencl]\n```\n\nOn NVIDIA GPUs with CUDA support, the [CuPy] implementation may be faster than\n[PyOpenCL]. CuPy also has experimental support for AMD GPUs via HIP/ROCm. See\nthe CuPy [installation instructions](https://docs.cupy.dev/en/stable/install.html)\n\n\n## Usage\n\nIn most cases, just drop your folder onto napari, or use `viewer.open(\"path\")`\n\n### Overriding parameters\n\nYou can control things like voxel size and deskewing angle as follows:\n\n```python\nfrom napari_ndtiffs import parameter_override\nimport napari\n\nviewer = napari.Viewer()\nwith parameter_override(angle=45, name=\"my image\"):\n viewer.open(\"path/to/folder\", plugin=\"ndtiffs\")\n```\n\nValid keys for `parameter_override` include:\n\n- **dx**: (`float`) the pixel size, in microns\n- **dz**: (`float`)the z step size, in microns\n- **deskew**: (`bool`) whether or not to deskew, (by default, will deskew if angle > 0, or if a lattice metadata file is detected that requires deskewing) \n- **angle**: (`float`) the angle of the light sheet relative to the coverslip\n- **padval**: (`float`) the value with which to pad the image edges when deskewing (default is 0)\n- **contrast_limits**: (`2-tuple of int`) (min, max) contrast_limits to use when viewing the image\n- **name**: (`str`) an optional name for the image\n\n### Sample data\n\nTry it out with test data: [download sample data](https://www.dropbox.com/s/up4ywrn2sckjunc/lls_mitosis.zip?dl=1)\n\nYou can unzip if you like, or just drag the zip file onto the napari window.\n\nOr, from command line, use:\n\n```bash\nnapari path/to/lls_mitosis.zip\n```\n\n## Debugging\n\nTo monitor file io and deskew activity, enter the following in the napari console:\n\n```python\nimport logging\nlogging.getLogger('napari_ndtiffs').setLevel('DEBUG')\n```\n\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-ndtiffs\" 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[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n[file an issue]: https://github.com/tlambert03/napari-ndtiffs/issues\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[PyOpenCL]: https://documen.tician.de/pyopencl/\n[CuPy]: https://docs.cupy.dev/\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":null,"author_email":"Talley Lambert ","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 3 - Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10"],"requires_dist":["dask[array]","napari-plugin-engine>=0.1.4","numpy","python-dateutil","scipy","tifffile","black; extra == 'dev'","ipython; extra == 'dev'","mypy; extra == 'dev'","pdbpp; extra == 'dev'","rich; extra == 'dev'","ruff; extra == 'dev'","pyopencl; extra == 'opencl'","pyopencl; extra == 'test'","pytest; extra == 'test'","pytest-cov; extra == 'test'"],"requires_python":">=3.8","requires_external":null,"project_url":["Bug Tracker, https://github.com/tlambert03/napari-ndtiffs/issues","Documentation, https://github.com/tlambert03/napari-ndtiffs#README.md","Source Code, https://github.com/tlambert03/napari-ndtiffs","User Support, https://github.com/tlambert03/napari-ndtiffs/issues"],"provides_extra":["dev","opencl","test"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}