{"name":"napari-iss-tdflim-reader","display_name":"ISS TDFlim Reader","visibility":"public","icon":"","categories":[],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-iss-tdflim-reader.get_reader","title":"Open data with ISS TDFlim Reader","python_name":"napari_iss_tdflim_reader._reader:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-iss-tdflim-reader.write_image","title":"Save image data with ISS TDFlim Writer","python_name":"napari_iss_tdflim_reader._writer:write_image","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari-iss-tdflim-reader.get_reader","filename_patterns":["*.iss-tdflim"],"accepts_directories":false}],"writers":[{"command":"napari-iss-tdflim-reader.write_image","layer_types":["image*"],"filename_extensions":[".tiff",".tif"],"display_name":"TIFF"}],"widgets":null,"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.4","name":"napari-iss-tdflim-reader","version":"0.2.0","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"A simple reader for .iss-tdfilm files","description":"# napari-iss-tdflim-reader\n\n[![License Apache Software License 2.0](https://img.shields.io/pypi/l/napari-iss-tdflim-reader.svg?color=green)](https://github.com/DBP008/napari-iss-tdflim-reader/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-iss-tdflim-reader.svg?color=green)](https://pypi.org/project/napari-iss-tdflim-reader)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-iss-tdflim-reader.svg?color=green)](https://python.org)\n[![tests](https://github.com/DBP008/napari-iss-tdflim-reader/workflows/tests/badge.svg)](https://github.com/DBP008/napari-iss-tdflim-reader/actions)\n[![codecov](https://codecov.io/gh/DBP008/napari-iss-tdflim-reader/branch/main/graph/badge.svg)](https://codecov.io/gh/DBP008/napari-iss-tdflim-reader)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-iss-tdflim-reader)](https://napari-hub.org/plugins/napari-iss-tdflim-reader)\n[![npe2](https://img.shields.io/badge/plugin-npe2-blue?link=https://napari.org/stable/plugins/index.html)](https://napari.org/stable/plugins/index.html)\n[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-purple.json)](https://github.com/copier-org/copier)\n\n> 🔬 A [napari] plugin to **read and write** ISS TD-FLIM acquisition files (`.iss-tdflim`).\n\n---\n\n## ✨ Features\n\n### 📂 Reader\n\nOpens `.iss-tdflim` files directly in napari.  \nEach file is a ZIP archive produced by the ISS ALBA FLIM system and contains:\n\n- `dataProps/Core.xml` — acquisition metadata (pixel size, TAC range, channel IDs, …)\n- `data/PrimaryDecayData.bin` — raw photon-count decay histograms\n\nTwo image layers are added **per channel**:\n\n| Layer | Shape | Description |\n|---|---|---|\n| `<stem>_intensity_Ch<id>` | `(H, W)` | Total photon counts (sum along TAC axis) |\n| `<stem>_flim_Ch<id>` | `(T, H, W)` | Full FLIM decay cube — use the time slider to scrub through TAC bins |\n\nSpatial calibration (µm/pixel) and TAC time axis (ns/bin) are embedded as napari `scale` and `axis_labels` so physical units are always correct.\n\n### 💾 Writer\n\nSaves any napari Image layer (including those loaded by the reader) to **ImageJ-hyperstack TIFF** files.\n\n- ✅ Supports both intensity `(H, W)` and FLIM decay `(T, H, W)` layers\n- 🗜️ Lossless **zlib compression** (requires `imagecodecs`)\n- 📐 Spatial calibration (`XResolution`/`YResolution` tags + `unit`) preserved for Fiji/ImageJ\n- ⏱️ Time-axis interval (`finterval`) embedded for FLIM cubes\n- 🏷️ Full acquisition metadata (channel IDs, ADC resolution, TAC range, …) stored as JSON in the TIFF `Info` field — visible in Fiji via **Image › Info…** and recoverable in Python via:\n  ```python\n  import json, tifffile\n  with tifffile.TiffFile('my_file.tif') as tf:\n      meta = json.loads(tf.imagej_metadata['Info'])\n  ```\n- 🔄 Non-ImageJ-compatible integer dtypes (e.g. `uint32`, `uint64`) are automatically cast to `float32`\n\n---\n\n## 🚀 Installation\n\nInstall from PyPI:\n\n```bash\npip install napari-iss-tdflim-reader\n```\n\nTo install with napari and all optional dependencies (including Qt backend and compression support):\n\n```bash\npip install \"napari-iss-tdflim-reader[all]\"\n```\n\nInstall the latest development version directly from GitHub:\n\n```bash\npip install git+https://github.com/DBP008/napari-iss-tdflim-reader.git\n```\n\n---\n\n## 🛠️ Usage\n\n### Reading\n\nDrag and drop an `.iss-tdflim` file onto the napari window, or open it via **File › Open File(s)…**.  \nThe plugin is selected automatically based on the file extension.\n\n### Writing\n\nSelect one or more Image layers in the napari layer list, then use **File › Save Selected Layer(s)…** and choose a `.tif` / `.tiff` destination.  \nWhen saving multiple layers, each is written to a separate file with a `_0`, `_1`, … suffix.\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 [Apache Software License 2.0] license.  \n`napari-iss-tdflim-reader` 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[copier]: https://copier.readthedocs.io/en/stable/\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[napari-plugin-template]: https://github.com/napari/napari-plugin-template\n[file an issue]: https://github.com/DBP008/napari-iss-tdflim-reader/issues\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Davide Panzeri","author_email":null,"maintainer":null,"maintainer_email":null,"license":null,"classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","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","Programming Language :: Python :: 3.13","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","tifffile","napari[all]; extra == \"all\"","imagecodecs; extra == \"all\""],"requires_python":">=3.10","requires_external":null,"project_url":["Bug Tracker, https://github.com/DBP008/napari-iss-tdflim-reader/issues","Documentation, https://github.com/DBP008/napari-iss-tdflim-reader#README.md","Source Code, https://github.com/DBP008/napari-iss-tdflim-reader","User Support, https://github.com/DBP008/napari-iss-tdflim-reader/issues"],"provides_extra":["all"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}