napari-tmidas 0.2.6__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.github/workflows/test_and_deploy.yml +2 -2
  2. napari_tmidas-0.3.1/PKG-INFO +246 -0
  3. napari_tmidas-0.3.1/README.md +153 -0
  4. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/advanced_processing.md +6 -14
  5. napari_tmidas-0.3.1/docs/careamics_denoising.md +384 -0
  6. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/cellpose_segmentation.md +5 -6
  7. napari_tmidas-0.3.1/docs/crop_anything.md +305 -0
  8. napari_tmidas-0.3.1/docs/file_conversion.md +386 -0
  9. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/intensity_label_filter.md +1 -9
  10. napari_tmidas-0.3.1/docs/spotiflow_detection.md +452 -0
  11. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/trackastra_tracking.md +3 -8
  12. napari_tmidas-0.3.1/docs/viscy_virtual_staining.md +277 -0
  13. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/pyproject.toml +2 -1
  14. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_intensity_label_filter.py +9 -11
  15. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_registry.py +6 -0
  16. napari_tmidas-0.3.1/src/napari_tmidas/_tests/test_viscy_virtual_staining.py +138 -0
  17. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_version.py +3 -3
  18. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/__init__.py +24 -5
  19. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/cellpose_env_manager.py +22 -0
  20. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/intensity_label_filter.py +15 -4
  21. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/skimage_filters.py +71 -8
  22. napari_tmidas-0.3.1/src/napari_tmidas/processing_functions/viscy_env_manager.py +381 -0
  23. napari_tmidas-0.3.1/src/napari_tmidas/processing_functions/viscy_virtual_staining.py +393 -0
  24. napari_tmidas-0.3.1/src/napari_tmidas.egg-info/PKG-INFO +246 -0
  25. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas.egg-info/SOURCES.txt +9 -1
  26. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas.egg-info/requires.txt +2 -1
  27. napari_tmidas-0.2.6/PKG-INFO +0 -278
  28. napari_tmidas-0.2.6/README.md +0 -186
  29. napari_tmidas-0.2.6/src/napari_tmidas.egg-info/PKG-INFO +0 -278
  30. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.github/dependabot.yml +0 -0
  31. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.gitignore +0 -0
  32. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.napari-hub/DESCRIPTION.md +0 -0
  33. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.napari-hub/config.yml +0 -0
  34. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/.pre-commit-config.yaml +0 -0
  35. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/LICENSE +0 -0
  36. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/MANIFEST.in +0 -0
  37. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/basic_processing.md +0 -0
  38. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/grid_view_overlay.md +0 -0
  39. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/regionprops_analysis.md +0 -0
  40. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/docs/regionprops_summary.md +0 -0
  41. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/examples/grid_overlay_example.py +0 -0
  42. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/examples/intensity_filter_example.py +0 -0
  43. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/examples/regionprops_example.py +0 -0
  44. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/setup.cfg +0 -0
  45. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/__init__.py +0 -0
  46. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_crop_anything.py +0 -0
  47. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_env_manager.py +0 -0
  48. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_file_conversion.py +0 -0
  49. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_file_selector.py +0 -0
  50. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_label_inspection.py +0 -0
  51. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_processing_worker.py +0 -0
  52. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_reader.py +0 -0
  53. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_registry.py +0 -0
  54. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_roi_colocalization.py +0 -0
  55. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_sample_data.py +0 -0
  56. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_crop_anything.py +0 -0
  57. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_env_manager.py +0 -0
  58. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_file_selector.py +0 -0
  59. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_grid_view_overlay.py +0 -0
  60. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_init.py +0 -0
  61. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_label_inspection.py +0 -0
  62. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_processing_basic.py +0 -0
  63. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_processing_worker.py +0 -0
  64. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_reader.py +0 -0
  65. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_regionprops_analysis.py +0 -0
  66. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_sample_data.py +0 -0
  67. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_scipy_filters.py +0 -0
  68. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_skimage_filters.py +0 -0
  69. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_split_channels.py +0 -0
  70. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_spotiflow.py +0 -0
  71. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_tyx_display_fix.py +0 -0
  72. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_ui_utils.py +0 -0
  73. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_widget.py +0 -0
  74. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_windows_basic.py +0 -0
  75. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_tests/test_writer.py +0 -0
  76. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_ui_utils.py +0 -0
  77. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_widget.py +0 -0
  78. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/_writer.py +0 -0
  79. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/napari.yaml +0 -0
  80. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/basic.py +0 -0
  81. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/careamics_denoising.py +0 -0
  82. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/careamics_env_manager.py +0 -0
  83. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/cellpose_segmentation.py +0 -0
  84. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/colocalization.py +0 -0
  85. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/file_compression.py +0 -0
  86. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/grid_view_overlay.py +0 -0
  87. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/regionprops_analysis.py +0 -0
  88. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/sam2_env_manager.py +0 -0
  89. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/sam2_mp4.py +0 -0
  90. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/scipy_filters.py +0 -0
  91. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/spotiflow_detection.py +0 -0
  92. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/spotiflow_env_manager.py +0 -0
  93. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/timepoint_merger.py +0 -0
  94. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas/processing_functions/trackastra_tracking.py +0 -0
  95. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas.egg-info/dependency_links.txt +0 -0
  96. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas.egg-info/entry_points.txt +0 -0
  97. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/src/napari_tmidas.egg-info/top_level.txt +0 -0
  98. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/test_grid_overlay.py +0 -0
  99. {napari_tmidas-0.2.6 → napari_tmidas-0.3.1}/tox.ini +0 -0
@@ -44,8 +44,8 @@ jobs:
44
44
  - name: Install dependencies
45
45
  run: |
46
46
  python -m pip install --upgrade pip
47
- python -m pip install setuptools tox tox-gh-actions
48
-
47
+ python -m pip install setuptools tox tox-gh-actions scikit-learn-extra
48
+
49
49
  - name: Pip cache
50
50
  uses: actions/cache@v4
51
51
  with:
@@ -0,0 +1,246 @@
1
+ Metadata-Version: 2.4
2
+ Name: napari-tmidas
3
+ Version: 0.3.1
4
+ Summary: A plugin for batch processing of confocal and whole-slide microscopy images of biological tissues
5
+ Author: Marco Meer
6
+ Author-email: marco.meer@pm.me
7
+ License:
8
+ Copyright (c) 2025, Marco Meer
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ * Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+
17
+ * Redistributions in binary form must reproduce the above copyright notice,
18
+ this list of conditions and the following disclaimer in the documentation
19
+ and/or other materials provided with the distribution.
20
+
21
+ * Neither the name of copyright holder nor the names of its
22
+ contributors may be used to endorse or promote products derived from
23
+ this software without specific prior written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
+
36
+ Project-URL: Bug Tracker, https://github.com/macromeer/napari-tmidas/issues
37
+ Project-URL: Documentation, https://github.com/macromeer/napari-tmidas#README.md
38
+ Project-URL: Source Code, https://github.com/macromeer/napari-tmidas
39
+ Project-URL: User Support, https://github.com/macromeer/napari-tmidas/issues
40
+ Classifier: Development Status :: 2 - Pre-Alpha
41
+ Classifier: Framework :: napari
42
+ Classifier: Intended Audience :: Developers
43
+ Classifier: License :: OSI Approved :: BSD License
44
+ Classifier: Operating System :: MacOS
45
+ Classifier: Operating System :: POSIX :: Linux
46
+ Classifier: Programming Language :: Python
47
+ Classifier: Programming Language :: Python :: 3
48
+ Classifier: Programming Language :: Python :: 3 :: Only
49
+ Classifier: Programming Language :: Python :: 3.10
50
+ Classifier: Programming Language :: Python :: 3.11
51
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
52
+ Requires-Python: >=3.10
53
+ Description-Content-Type: text/markdown
54
+ License-File: LICENSE
55
+ Requires-Dist: numpy<3.0,>=1.23.0
56
+ Requires-Dist: magicgui
57
+ Requires-Dist: tqdm
58
+ Requires-Dist: qtpy
59
+ Requires-Dist: scikit-image>=0.19.0
60
+ Requires-Dist: scikit-learn-extra>=0.3.0
61
+ Requires-Dist: pyqt5
62
+ Requires-Dist: zarr
63
+ Requires-Dist: ome-zarr
64
+ Requires-Dist: napari-ome-zarr
65
+ Requires-Dist: nd2
66
+ Requires-Dist: pylibCZIrw
67
+ Requires-Dist: readlif
68
+ Requires-Dist: tiffslide
69
+ Requires-Dist: acquifer-napari
70
+ Provides-Extra: testing
71
+ Requires-Dist: tox; extra == "testing"
72
+ Requires-Dist: pytest>=7.0.0; extra == "testing"
73
+ Requires-Dist: pytest-cov; extra == "testing"
74
+ Requires-Dist: pytest-qt; extra == "testing"
75
+ Requires-Dist: pytest-timeout; extra == "testing"
76
+ Requires-Dist: napari; extra == "testing"
77
+ Requires-Dist: pyqt5; extra == "testing"
78
+ Requires-Dist: psygnal>=0.8.0; extra == "testing"
79
+ Requires-Dist: scikit-learn-extra>=0.3.0; extra == "testing"
80
+ Provides-Extra: clustering
81
+ Requires-Dist: scikit-learn-extra>=0.3.0; extra == "clustering"
82
+ Provides-Extra: deep-learning
83
+ Requires-Dist: torch>=1.12.0; extra == "deep-learning"
84
+ Requires-Dist: torchvision>=0.13.0; extra == "deep-learning"
85
+ Requires-Dist: timm; extra == "deep-learning"
86
+ Requires-Dist: opencv-python; extra == "deep-learning"
87
+ Requires-Dist: cmake; extra == "deep-learning"
88
+ Requires-Dist: hydra-core; extra == "deep-learning"
89
+ Requires-Dist: eva-decord; extra == "deep-learning"
90
+ Provides-Extra: all
91
+ Requires-Dist: napari-tmidas[clustering,deep-learning,testing]; extra == "all"
92
+ Dynamic: license-file
93
+
94
+ # napari-tmidas
95
+
96
+ [![License BSD-3](https://img.shields.io/pypi/l/napari-tmidas.svg?color=green)](https://github.com/macromeer/napari-tmidas/raw/main/LICENSE)
97
+ [![PyPI](https://img.shields.io/pypi/v/napari-tmidas.svg?color=green)](https://pypi.org/project/napari-tmidas)
98
+ [![Python Version](https://img.shields.io/pypi/pyversions/napari-tmidas.svg?color=green)](https://python.org)
99
+ [![Downloads](https://static.pepy.tech/badge/napari-tmidas)](https://pepy.tech/project/napari-tmidas)
100
+ [![DOI](https://zenodo.org/badge/943353883.svg)](https://doi.org/10.5281/zenodo.17988815)
101
+ [![tests](https://github.com/macromeer/napari-tmidas/workflows/tests/badge.svg)](https://github.com/macromeer/napari-tmidas/actions)
102
+
103
+ **AI-powered batch processing for microscopy images**
104
+
105
+ Transform, analyze, and quantify microscopy data at scale with deep learning - from file conversion to segmentation, tracking, and analysis.
106
+
107
+ ## ✨ Key Features
108
+
109
+ 🤖 **5 AI Methods Built-In**
110
+ - Virtual staining (VisCy) • Denoising (CAREamics) • Spot detection (Spotiflow) • Segmentation (Cellpose) • Tracking (Trackastra)
111
+ - Auto-install in isolated environments • No dependency conflicts • GPU acceleration
112
+
113
+ 🔄 **Universal File Conversion**
114
+ - Convert LIF, ND2, CZI, NDPI, Acquifer → TIFF or OME-Zarr
115
+ - Preserve spatial metadata automatically
116
+
117
+ ⚡ **Batch Processing**
118
+ - Process entire folders with one click • 40+ processing functions • Progress tracking & quality control
119
+
120
+ 📊 **Complete Analysis Pipeline**
121
+ - Segmentation → Tracking → Quantification → Colocalization
122
+
123
+ ## 🚀 Quick Start
124
+
125
+ ```bash
126
+ # Install napari and the plugin
127
+ mamba create -y -n napari-tmidas -c conda-forge python=3.11
128
+ mamba activate napari-tmidas
129
+ pip install "napari[all]"
130
+ pip install napari-tmidas
131
+
132
+ # Launch napari
133
+ napari
134
+ ```
135
+
136
+ Then find napari-tmidas in the **Plugins** menu. [Watch video tutorials →](https://www.youtube.com/@macromeer/videos)
137
+
138
+ > **💡 Tip**: AI methods auto-install their dependencies on first use - no manual setup required!
139
+
140
+ ## 📖 Documentation
141
+
142
+ ### AI-Powered Methods
143
+
144
+ | Method | Description | Documentation |
145
+ |--------|-------------|---------------|
146
+ | 🎨 **VisCy** | Virtual staining from phase/DIC | [Guide](docs/viscy_virtual_staining.md) |
147
+ | 🔧 **CAREamics** | Noise2Void/CARE denoising | [Guide](docs/careamics_denoising.md) |
148
+ | 🎯 **Spotiflow** | Spot/puncta detection | [Guide](docs/spotiflow_detection.md) |
149
+ | 🔬 **Cellpose** | Cell/nucleus segmentation | [Guide](docs/cellpose_segmentation.md) |
150
+ | 📈 **Trackastra** | Cell tracking over time | [Guide](docs/trackastra_tracking.md) |
151
+
152
+ ### Core Workflows
153
+
154
+ - **[File Conversion](docs/file_conversion.md)** - Multi-format microscopy file conversion (LIF, ND2, CZI, NDPI, Acquifer)
155
+ - **[Batch Processing](docs/basic_processing.md)** - Label operations, filters, channel splitting
156
+ - **[Quality Control](docs/grid_view_overlay.md)** - Visual QC with grid overlay
157
+ - **[Quantification](docs/regionprops_analysis.md)** - Extract measurements from labels
158
+ - **[Colocalization](docs/advanced_processing.md#colocalization-analysis)** - Multi-channel ROI analysis
159
+
160
+ ### Advanced Features
161
+
162
+ - [SAM2 Crop Anything](docs/advanced_processing.md#sam2) - Interactive object cropping
163
+ - [Advanced Filters](docs/advanced_processing.md) - SciPy/scikit-image filters
164
+ - [Batch Label Inspection](docs/basic_processing.md#label-inspection) - Manual correction workflow
165
+
166
+ ## 💻 Installation
167
+
168
+ ### Step 1: Install napari
169
+
170
+ ```bash
171
+ mamba create -y -n napari-tmidas -c conda-forge python=3.11
172
+ mamba activate napari-tmidas
173
+ python -m pip install "napari[all]"
174
+ ```
175
+
176
+ ### Step 2: Install napari-tmidas
177
+
178
+ | Your Needs | Command |
179
+ |----------|---------|
180
+ | **Just process & convert images** | `pip install napari-tmidas` |
181
+ | **Need AI features** (SAM2, Cellpose, Spotiflow, etc.) | `pip install 'napari-tmidas[deep-learning]'` |
182
+ | **Want the latest dev features** | `pip install git+https://github.com/MercaderLabAnatomy/napari-tmidas.git` |
183
+
184
+ **Recommended for most users:** `pip install 'napari-tmidas[deep-learning]'`
185
+
186
+ ## 🖼️ Screenshots
187
+
188
+ <details>
189
+ <summary><b>File Conversion Widget</b></summary>
190
+
191
+ <img src="https://github.com/user-attachments/assets/e377ca71-2f30-447d-825e-d2feebf7061b" alt="File Conversion" width="600">
192
+
193
+ Convert proprietary formats to open standards with metadata preservation.
194
+ </details>
195
+
196
+ <details>
197
+ <summary><b>Batch Processing Interface</b></summary>
198
+
199
+ <img src="https://github.com/user-attachments/assets/cfe84828-c1cc-4196-9a53-5dfb82d5bfce" alt="Batch Processing" width="600">
200
+
201
+ Select files → Choose processing function → Run on entire dataset.
202
+ </details>
203
+
204
+ <details>
205
+ <summary><b>Label Inspection</b></summary>
206
+
207
+ <img src="https://github.com/user-attachments/assets/0bf8c6ae-4212-449d-8183-e91b23ba740e" alt="Label Inspection" width="600">
208
+
209
+ Inspect and manually correct segmentation results.
210
+ </details>
211
+
212
+ <details>
213
+ <summary><b>SAM2 Crop Anything</b></summary>
214
+
215
+ <img src="https://github.com/user-attachments/assets/6d72c2a2-1064-4a27-b398-a9b86fcbc443" alt="Crop Anything" width="600">
216
+
217
+ Interactive object selection and cropping with SAM2.
218
+ </details>
219
+
220
+ ## 🤝 Contributing
221
+
222
+ Contributions are welcome! Please ensure tests pass before submitting PRs:
223
+
224
+ ```bash
225
+ pip install tox
226
+ tox
227
+ ```
228
+
229
+ ## 📄 License
230
+
231
+ BSD-3 License - see [LICENSE](LICENSE) for details.
232
+
233
+ ## 🐛 Issues
234
+
235
+ Found a bug or have a feature request? [Open an issue](https://github.com/MercaderLabAnatomy/napari-tmidas/issues)
236
+
237
+ ## 🙏 Acknowledgments
238
+
239
+ Built with [napari](https://github.com/napari/napari) and powered by:
240
+ - [Cellpose](https://github.com/MouseLand/cellpose) • [VisCy](https://github.com/mehta-lab/VisCy) • [CAREamics](https://github.com/CAREamics/careamics) • [Spotiflow](https://github.com/weigertlab/spotiflow) • [Trackastra](https://github.com/weigertlab/trackastra) • [SAM2](https://github.com/facebookresearch/segment-anything-2)
241
+
242
+ ---
243
+
244
+ [PyPI]: https://pypi.org/project/napari-tmidas
245
+ [pip]: https://pypi.org/project/pip/
246
+ [tox]: https://tox.readthedocs.io/en/latest/
@@ -0,0 +1,153 @@
1
+ # napari-tmidas
2
+
3
+ [![License BSD-3](https://img.shields.io/pypi/l/napari-tmidas.svg?color=green)](https://github.com/macromeer/napari-tmidas/raw/main/LICENSE)
4
+ [![PyPI](https://img.shields.io/pypi/v/napari-tmidas.svg?color=green)](https://pypi.org/project/napari-tmidas)
5
+ [![Python Version](https://img.shields.io/pypi/pyversions/napari-tmidas.svg?color=green)](https://python.org)
6
+ [![Downloads](https://static.pepy.tech/badge/napari-tmidas)](https://pepy.tech/project/napari-tmidas)
7
+ [![DOI](https://zenodo.org/badge/943353883.svg)](https://doi.org/10.5281/zenodo.17988815)
8
+ [![tests](https://github.com/macromeer/napari-tmidas/workflows/tests/badge.svg)](https://github.com/macromeer/napari-tmidas/actions)
9
+
10
+ **AI-powered batch processing for microscopy images**
11
+
12
+ Transform, analyze, and quantify microscopy data at scale with deep learning - from file conversion to segmentation, tracking, and analysis.
13
+
14
+ ## ✨ Key Features
15
+
16
+ 🤖 **5 AI Methods Built-In**
17
+ - Virtual staining (VisCy) • Denoising (CAREamics) • Spot detection (Spotiflow) • Segmentation (Cellpose) • Tracking (Trackastra)
18
+ - Auto-install in isolated environments • No dependency conflicts • GPU acceleration
19
+
20
+ 🔄 **Universal File Conversion**
21
+ - Convert LIF, ND2, CZI, NDPI, Acquifer → TIFF or OME-Zarr
22
+ - Preserve spatial metadata automatically
23
+
24
+ ⚡ **Batch Processing**
25
+ - Process entire folders with one click • 40+ processing functions • Progress tracking & quality control
26
+
27
+ 📊 **Complete Analysis Pipeline**
28
+ - Segmentation → Tracking → Quantification → Colocalization
29
+
30
+ ## 🚀 Quick Start
31
+
32
+ ```bash
33
+ # Install napari and the plugin
34
+ mamba create -y -n napari-tmidas -c conda-forge python=3.11
35
+ mamba activate napari-tmidas
36
+ pip install "napari[all]"
37
+ pip install napari-tmidas
38
+
39
+ # Launch napari
40
+ napari
41
+ ```
42
+
43
+ Then find napari-tmidas in the **Plugins** menu. [Watch video tutorials →](https://www.youtube.com/@macromeer/videos)
44
+
45
+ > **💡 Tip**: AI methods auto-install their dependencies on first use - no manual setup required!
46
+
47
+ ## 📖 Documentation
48
+
49
+ ### AI-Powered Methods
50
+
51
+ | Method | Description | Documentation |
52
+ |--------|-------------|---------------|
53
+ | 🎨 **VisCy** | Virtual staining from phase/DIC | [Guide](docs/viscy_virtual_staining.md) |
54
+ | 🔧 **CAREamics** | Noise2Void/CARE denoising | [Guide](docs/careamics_denoising.md) |
55
+ | 🎯 **Spotiflow** | Spot/puncta detection | [Guide](docs/spotiflow_detection.md) |
56
+ | 🔬 **Cellpose** | Cell/nucleus segmentation | [Guide](docs/cellpose_segmentation.md) |
57
+ | 📈 **Trackastra** | Cell tracking over time | [Guide](docs/trackastra_tracking.md) |
58
+
59
+ ### Core Workflows
60
+
61
+ - **[File Conversion](docs/file_conversion.md)** - Multi-format microscopy file conversion (LIF, ND2, CZI, NDPI, Acquifer)
62
+ - **[Batch Processing](docs/basic_processing.md)** - Label operations, filters, channel splitting
63
+ - **[Quality Control](docs/grid_view_overlay.md)** - Visual QC with grid overlay
64
+ - **[Quantification](docs/regionprops_analysis.md)** - Extract measurements from labels
65
+ - **[Colocalization](docs/advanced_processing.md#colocalization-analysis)** - Multi-channel ROI analysis
66
+
67
+ ### Advanced Features
68
+
69
+ - [SAM2 Crop Anything](docs/advanced_processing.md#sam2) - Interactive object cropping
70
+ - [Advanced Filters](docs/advanced_processing.md) - SciPy/scikit-image filters
71
+ - [Batch Label Inspection](docs/basic_processing.md#label-inspection) - Manual correction workflow
72
+
73
+ ## 💻 Installation
74
+
75
+ ### Step 1: Install napari
76
+
77
+ ```bash
78
+ mamba create -y -n napari-tmidas -c conda-forge python=3.11
79
+ mamba activate napari-tmidas
80
+ python -m pip install "napari[all]"
81
+ ```
82
+
83
+ ### Step 2: Install napari-tmidas
84
+
85
+ | Your Needs | Command |
86
+ |----------|---------|
87
+ | **Just process & convert images** | `pip install napari-tmidas` |
88
+ | **Need AI features** (SAM2, Cellpose, Spotiflow, etc.) | `pip install 'napari-tmidas[deep-learning]'` |
89
+ | **Want the latest dev features** | `pip install git+https://github.com/MercaderLabAnatomy/napari-tmidas.git` |
90
+
91
+ **Recommended for most users:** `pip install 'napari-tmidas[deep-learning]'`
92
+
93
+ ## 🖼️ Screenshots
94
+
95
+ <details>
96
+ <summary><b>File Conversion Widget</b></summary>
97
+
98
+ <img src="https://github.com/user-attachments/assets/e377ca71-2f30-447d-825e-d2feebf7061b" alt="File Conversion" width="600">
99
+
100
+ Convert proprietary formats to open standards with metadata preservation.
101
+ </details>
102
+
103
+ <details>
104
+ <summary><b>Batch Processing Interface</b></summary>
105
+
106
+ <img src="https://github.com/user-attachments/assets/cfe84828-c1cc-4196-9a53-5dfb82d5bfce" alt="Batch Processing" width="600">
107
+
108
+ Select files → Choose processing function → Run on entire dataset.
109
+ </details>
110
+
111
+ <details>
112
+ <summary><b>Label Inspection</b></summary>
113
+
114
+ <img src="https://github.com/user-attachments/assets/0bf8c6ae-4212-449d-8183-e91b23ba740e" alt="Label Inspection" width="600">
115
+
116
+ Inspect and manually correct segmentation results.
117
+ </details>
118
+
119
+ <details>
120
+ <summary><b>SAM2 Crop Anything</b></summary>
121
+
122
+ <img src="https://github.com/user-attachments/assets/6d72c2a2-1064-4a27-b398-a9b86fcbc443" alt="Crop Anything" width="600">
123
+
124
+ Interactive object selection and cropping with SAM2.
125
+ </details>
126
+
127
+ ## 🤝 Contributing
128
+
129
+ Contributions are welcome! Please ensure tests pass before submitting PRs:
130
+
131
+ ```bash
132
+ pip install tox
133
+ tox
134
+ ```
135
+
136
+ ## 📄 License
137
+
138
+ BSD-3 License - see [LICENSE](LICENSE) for details.
139
+
140
+ ## 🐛 Issues
141
+
142
+ Found a bug or have a feature request? [Open an issue](https://github.com/MercaderLabAnatomy/napari-tmidas/issues)
143
+
144
+ ## 🙏 Acknowledgments
145
+
146
+ Built with [napari](https://github.com/napari/napari) and powered by:
147
+ - [Cellpose](https://github.com/MouseLand/cellpose) • [VisCy](https://github.com/mehta-lab/VisCy) • [CAREamics](https://github.com/CAREamics/careamics) • [Spotiflow](https://github.com/weigertlab/spotiflow) • [Trackastra](https://github.com/weigertlab/trackastra) • [SAM2](https://github.com/facebookresearch/segment-anything-2)
148
+
149
+ ---
150
+
151
+ [PyPI]: https://pypi.org/project/napari-tmidas
152
+ [pip]: https://pypi.org/project/pip/
153
+ [tox]: https://tox.readthedocs.io/en/latest/
@@ -14,18 +14,13 @@ Image denoising using **CAREamics** (Content-Aware Image Restoration). This proc
14
14
 
15
15
  ## Installation
16
16
 
17
- CAREamics can be installed in your environment or will use a dedicated environment automatically.
18
-
19
- ### Manual Installation (Recommended)
17
+ CAREamics is automatically available when you install napari-tmidas with deep learning support:
20
18
 
21
19
  ```bash
22
- mamba activate napari-tmidas
23
- pip install careamics
20
+ pip install 'napari-tmidas[deep-learning]'
24
21
  ```
25
22
 
26
- ### Automatic Installation
27
-
28
- If not detected, the plugin creates a dedicated `careamics-env` conda environment automatically.
23
+ If you installed the basic version without deep learning, the plugin will automatically create a dedicated `careamics-env` environment when first used.
29
24
 
30
25
  ## Parameters
31
26
 
@@ -116,16 +111,13 @@ Accurate spot detection for fluorescence microscopy using **Spotiflow**, a deep
116
111
 
117
112
  ## Installation
118
113
 
119
- ### Manual Installation (Recommended)
114
+ Spotiflow is automatically available when you install napari-tmidas with deep learning support:
120
115
 
121
116
  ```bash
122
- mamba activate napari-tmidas
123
- pip install spotiflow
117
+ pip install 'napari-tmidas[deep-learning]'
124
118
  ```
125
119
 
126
- ### Automatic Installation
127
-
128
- The plugin automatically creates a `spotiflow-env` conda environment if needed.
120
+ If you installed the basic version without deep learning, the plugin will automatically create a `spotiflow-env` environment when first used.
129
121
 
130
122
  ## Pre-trained Models
131
123