napari-tmidas 0.2.5__py3-none-any.whl → 0.3.0__py3-none-any.whl

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.
@@ -10,7 +10,7 @@ napari_tmidas/_registry.py,sha256=yunbEoDe1JZREMab4BeP7wka17IwK1toV5g1imju30c,21
10
10
  napari_tmidas/_roi_colocalization.py,sha256=0ZSs7JlJKPhGibnETf6Rj746T3YV4AUgynWmZbmNjHw,92257
11
11
  napari_tmidas/_sample_data.py,sha256=khuv1jemz_fCjqNwEKMFf83Ju0EN4S89IKydsUMmUxw,645
12
12
  napari_tmidas/_ui_utils.py,sha256=wBmaR-3wdgizb234atsjUU2DElsM5-tf4TIsxGLaHzI,1499
13
- napari_tmidas/_version.py,sha256=9wrJ_4Dlc0arUzKiaIqvTY85rMJma3eb1nNlF3uHAxU,704
13
+ napari_tmidas/_version.py,sha256=5zTqm8rgXsWYBpB2M3Zw_K1D-aV8wP7NsBLrmMKkrAQ,704
14
14
  napari_tmidas/_widget.py,sha256=Uab5WuJK2fgdlGga6iNnHsiZjRMUq2KM3u0N5JJW8DA,5495
15
15
  napari_tmidas/_writer.py,sha256=wbVfHFjjHdybSg37VR4lVmL-kdCkDZsUPDJ66AVLaFQ,1941
16
16
  napari_tmidas/napari.yaml,sha256=1Am1dA0-ZtCXk6veIT6jrMz3zwQ7dF8_p9tZTFx_vTg,2641
@@ -19,13 +19,13 @@ napari_tmidas/_tests/test_env_manager.py,sha256=IQDhdGBRV_YJrYAK6U8cXbDZyvmG9YNW
19
19
  napari_tmidas/_tests/test_file_selector.py,sha256=Sbu0BCXTaQAeUJLtOVjIC87AUARbi8J0bXBlMJe53ew,2687
20
20
  napari_tmidas/_tests/test_grid_view_overlay.py,sha256=11-l7qqA6Tfi5Pf1VKRTPDg3dG61zrZPxG2SV3mM0Rg,6367
21
21
  napari_tmidas/_tests/test_init.py,sha256=xGic9AQn-VtEOloUWIrH1P6_KvJp61nILk35Y09FHTA,3424
22
- napari_tmidas/_tests/test_intensity_label_filter.py,sha256=PB2aWx48A4qpJ52uR0wIdE9LaFwRKdNwpOVfkiguB0s,7694
22
+ napari_tmidas/_tests/test_intensity_label_filter.py,sha256=ANBg2m9_WZfEKaV0umH1bvYimYSEodq1E3_aK3rhUrE,7612
23
23
  napari_tmidas/_tests/test_label_inspection.py,sha256=oUW4aJoM3ePEckZmPZNEwfDfob8brUsPGbfrHRnSL8c,2891
24
24
  napari_tmidas/_tests/test_processing_basic.py,sha256=Ua_7VSQ--D_cIT6ptupRsW6rN37BTyipT5mp4GX3BYI,19652
25
25
  napari_tmidas/_tests/test_processing_worker.py,sha256=X6F3Z2LH-7jd442wj1eerL8U1NS-BORV6SHTib7NsD4,4534
26
26
  napari_tmidas/_tests/test_reader.py,sha256=gN_2StATLZYUL56X27ImJTVru_qSoFiY4vtgajcx3H0,975
27
27
  napari_tmidas/_tests/test_regionprops_analysis.py,sha256=IGAEtdg83R9aH8wsINR8VCvNBgpYk6g3lH0S1IyBMLk,17030
28
- napari_tmidas/_tests/test_registry.py,sha256=Kf2G-8Y0mMRECDR-V_qpj-OMgQReBkFWyTHkGx6CRGQ,4504
28
+ napari_tmidas/_tests/test_registry.py,sha256=0dVpeGE273YDPDy6KMInfkz2JAaJ_SUKFOySKn160_c,4795
29
29
  napari_tmidas/_tests/test_sample_data.py,sha256=D1HU_C3hWpO3mlSW_7Z94xaYHDtxz0XUrMjQoYop9Ag,104
30
30
  napari_tmidas/_tests/test_scipy_filters.py,sha256=SUcgyFh2IY4YVJvVO6_J1JdgkCsYdW36RgpHLkkp2vg,6268
31
31
  napari_tmidas/_tests/test_skimage_filters.py,sha256=TgvwcE_1kpdRzg5Hex9z9IoJc5Mt7IJjbpsdmZFiOGc,9869
@@ -33,10 +33,11 @@ napari_tmidas/_tests/test_split_channels.py,sha256=aMvjppoHlPAuwWLGYa1UcfBM_fvu0
33
33
  napari_tmidas/_tests/test_spotiflow.py,sha256=BLSaD8z8r2zbkYEGmfQ3JkSgw5OkvEORnSzpbkIIz4Y,2578
34
34
  napari_tmidas/_tests/test_tyx_display_fix.py,sha256=rhKbmM1rkPAAUeV3x3VuJkzXwEoqgi3Gtrxi1PP4ijs,4804
35
35
  napari_tmidas/_tests/test_ui_utils.py,sha256=jRHma8i_kWkZD8uvu98Z8Fw5NorocRvA_gjap93nb48,2464
36
+ napari_tmidas/_tests/test_viscy_virtual_staining.py,sha256=iy7YnM65lQhn01UqEMsF6Bx9HJjWDBUm8V9SyMJIeZk,4567
36
37
  napari_tmidas/_tests/test_widget.py,sha256=0qKDzyfqGnKKY6smqYiruZEWBQjW5fU98ZHeSE5Ei2Q,3263
37
38
  napari_tmidas/_tests/test_windows_basic.py,sha256=nELpwQErf5m1mStIns5jZ4l5BD-_J9XG8IP_CrhSGWw,2311
38
39
  napari_tmidas/_tests/test_writer.py,sha256=4_MlZM9a5So74J16_4tIOJc6pwTOw9R0-oAE_YioIx4,122
39
- napari_tmidas/processing_functions/__init__.py,sha256=osXY9jSgDsrwFaS6ShPHP0wGRxMuX1mHRN9EDa9l41g,1891
40
+ napari_tmidas/processing_functions/__init__.py,sha256=1yG17a_ddZXXc12uwB-PkwsBeQD7YvpyKHqc8sZAfgc,2325
40
41
  napari_tmidas/processing_functions/basic.py,sha256=3kA7GwCJDkkPyIRMZL5hFDSbz-8jjehMlWsQtjdOlro,44500
41
42
  napari_tmidas/processing_functions/careamics_denoising.py,sha256=DFE_6lefeqckAvx-1EqwzJSU3iR3g3ujBGRnF_fnpoM,11638
42
43
  napari_tmidas/processing_functions/careamics_env_manager.py,sha256=ca3e4a8s5mMZdgbYLtk21sXDyhIAulgvH1x5k__wDjw,10342
@@ -45,19 +46,21 @@ napari_tmidas/processing_functions/cellpose_segmentation.py,sha256=qChVwyvGL5nqX
45
46
  napari_tmidas/processing_functions/colocalization.py,sha256=_QZu1rI_Mt4lnME0YhaAg0RP9Wjof0smpbJoqXoGXR8,25518
46
47
  napari_tmidas/processing_functions/file_compression.py,sha256=mxR-yqBdc-T1XI3StIXpW8h5xGdCOtLQjt8uoRFpDSY,6859
47
48
  napari_tmidas/processing_functions/grid_view_overlay.py,sha256=pZ-5CsHx2tvvW_3QCz5d1-UpleHPES9pj40ZhAf4rrQ,22991
48
- napari_tmidas/processing_functions/intensity_label_filter.py,sha256=BymvHtFmiqh_eSuix6RtsfjJV7s0fD54OJuIt82sf8Q,13722
49
+ napari_tmidas/processing_functions/intensity_label_filter.py,sha256=cTVCyEPWsPFyz0xdzDj2RwrQaXOzi_kCXUdo2WtwzeY,13887
49
50
  napari_tmidas/processing_functions/regionprops_analysis.py,sha256=ySmzlY_F8uXWQIoSXJFge30jkWFg6G8HhjDVbk4v2rU,45828
50
51
  napari_tmidas/processing_functions/sam2_env_manager.py,sha256=w-X493XdHWAE8UhyHhEEVJ3uvLi2VdS-UFU7yPqnagg,2569
51
52
  napari_tmidas/processing_functions/sam2_mp4.py,sha256=lEdrqQP36_kw2g3soyu81CCRXCkI5DdSExfq5Bc5kig,11523
52
53
  napari_tmidas/processing_functions/scipy_filters.py,sha256=1Y69F5Pe-MEJPwQEs_6Ci3ncFuTKiRAuKRvDxmOQUPw,17871
53
- napari_tmidas/processing_functions/skimage_filters.py,sha256=Nhv6E8_YcRZ2s1FMkzDJNHr64fpMbUSHpUIY7nuvMHs,25192
54
+ napari_tmidas/processing_functions/skimage_filters.py,sha256=og2mrEHNLBGQA6j07DHX94rhXJs4fRt5nzjpLyUmbeM,28154
54
55
  napari_tmidas/processing_functions/spotiflow_detection.py,sha256=2FLnDNXLc0eNj8vhp_XBv_bukX5pJOEhuiyXbUzzcyU,32811
55
56
  napari_tmidas/processing_functions/spotiflow_env_manager.py,sha256=07J_tYADMvIVIr_afniSNt8uEduecqpNblSWEj9aH7Q,20323
56
57
  napari_tmidas/processing_functions/timepoint_merger.py,sha256=7pXyfcI2rXZz6_TP3v_WejmMFivNVyUzkzBmifMiFKA,27424
57
58
  napari_tmidas/processing_functions/trackastra_tracking.py,sha256=IkFk5HoEZmKdcu5jXri4WMhHN1KTADDMxSpeYfPgSbo,9976
58
- napari_tmidas-0.2.5.dist-info/licenses/LICENSE,sha256=tSjiOqj57exmEIfP2YVPCEeQf0cH49S6HheQR8IiY3g,1485
59
- napari_tmidas-0.2.5.dist-info/METADATA,sha256=RR2asRsCVPnqhGfgiGer6_OPcL4T2fKdrpWOtEtJKG0,14951
60
- napari_tmidas-0.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
61
- napari_tmidas-0.2.5.dist-info/entry_points.txt,sha256=fbVjzbJTm4aDMIBtel1Lyqvq-CwXY7wmCOo_zJ-jtRY,60
62
- napari_tmidas-0.2.5.dist-info/top_level.txt,sha256=63ybdxCZ4SeT13f_Ou4TsivGV_2Gtm_pJOXToAt30_E,14
63
- napari_tmidas-0.2.5.dist-info/RECORD,,
59
+ napari_tmidas/processing_functions/viscy_env_manager.py,sha256=eJ9NsyrtypvxRAFVir9n9RtKaaj6GTpIrOFNLScoVDY,11999
60
+ napari_tmidas/processing_functions/viscy_virtual_staining.py,sha256=Aa__YweYzSFYUTkbneDZ2lxRBplozrQvXGSiMFzUhA4,12422
61
+ napari_tmidas-0.3.0.dist-info/licenses/LICENSE,sha256=tSjiOqj57exmEIfP2YVPCEeQf0cH49S6HheQR8IiY3g,1485
62
+ napari_tmidas-0.3.0.dist-info/METADATA,sha256=AzkyQb_qivFSaoKhZ2nrdjfIuowz8barUmy6NsnUQ60,10175
63
+ napari_tmidas-0.3.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
64
+ napari_tmidas-0.3.0.dist-info/entry_points.txt,sha256=fbVjzbJTm4aDMIBtel1Lyqvq-CwXY7wmCOo_zJ-jtRY,60
65
+ napari_tmidas-0.3.0.dist-info/top_level.txt,sha256=63ybdxCZ4SeT13f_Ou4TsivGV_2Gtm_pJOXToAt30_E,14
66
+ napari_tmidas-0.3.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,282 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: napari-tmidas
3
- Version: 0.2.5
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<2.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
- Provides-Extra: clustering
80
- Requires-Dist: scikit-learn-extra>=0.3.0; extra == "clustering"
81
- Provides-Extra: deep-learning
82
- Requires-Dist: torch>=1.12.0; extra == "deep-learning"
83
- Requires-Dist: torchvision>=0.13.0; extra == "deep-learning"
84
- Requires-Dist: timm; extra == "deep-learning"
85
- Requires-Dist: opencv-python; extra == "deep-learning"
86
- Requires-Dist: cmake; extra == "deep-learning"
87
- Requires-Dist: hydra-core; extra == "deep-learning"
88
- Requires-Dist: eva-decord; extra == "deep-learning"
89
- Provides-Extra: all
90
- Requires-Dist: napari-tmidas[clustering,deep-learning,testing]; extra == "all"
91
- Dynamic: license-file
92
-
93
- # napari-tmidas
94
-
95
- [![License BSD-3](https://img.shields.io/pypi/l/napari-tmidas.svg?color=green)](https://github.com/macromeer/napari-tmidas/raw/main/LICENSE)
96
- [![PyPI](https://img.shields.io/pypi/v/napari-tmidas.svg?color=green)](https://pypi.org/project/napari-tmidas)
97
- [![Python Version](https://img.shields.io/pypi/pyversions/napari-tmidas.svg?color=green)](https://python.org)
98
- [![Downloads](https://static.pepy.tech/badge/napari-tmidas)](https://pepy.tech/project/napari-tmidas)
99
- [![DOI](https://zenodo.org/badge/698257324.svg)](https://zenodo.org/badge/latestdoi/698257324)
100
- [![tests](https://github.com/macromeer/napari-tmidas/workflows/tests/badge.svg)](https://github.com/macromeer/napari-tmidas/actions)
101
-
102
- This napari plugin consists of a growing collection of pipelines for fast batch processing of confocal and whole slide microscopy images of biological tissues. This is a WIP and based on the [T-MIDAS terminal](https://github.com/MercaderLabAnatomy/T-MIDAS).
103
-
104
- ## Features
105
- Currently, **napari-tmidas** provides pipelines as widgets for batch image conversion and processing, object cropping, label image inspection and ROI colocalization (cf. [usage](#usage) below). You can request new batch image processing features in [issues](https://github.com/MercaderLabAnatomy/napari-tmidas/issues).
106
-
107
- ## Installation
108
-
109
- (Video installation guides: https://www.youtube.com/@macromeer/videos)
110
-
111
- First, install Napari in a virtual environment:
112
-
113
- mamba create -y -n napari-tmidas -c conda-forge python=3.11
114
- mamba activate napari-tmidas
115
- python -m pip install "napari[all]"
116
-
117
- Now you can install `napari-tmidas` via [pip]:
118
-
119
- pip install napari-tmidas
120
-
121
- **For deep learning features** (Batch Crop Anything with SAM2, Spotiflow, Careamics, Trackastra), also install:
122
-
123
- pip install 'napari-tmidas[deep-learning]'
124
-
125
- Or install everything at once:
126
-
127
- pip install 'napari-tmidas[all]'
128
-
129
- It is recommended though to install the **latest development version**. Please also execute this command from time to time in the activated environment to benefit from newly added features:
130
-
131
- pip install git+https://github.com/MercaderLabAnatomy/napari-tmidas.git
132
-
133
- ### Additional Setup for Batch Crop Anything
134
-
135
- To use the Batch Crop Anything pipeline with SAM2, you need to install SAM2 separately:
136
-
137
- cd /opt # if the folder does not exist: mkdir /opt && cd /opt
138
- git clone https://github.com/facebookresearch/sam2.git && cd sam2
139
- pip install -e .
140
- curl -L https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_large.pt -o checkpoints/sam2.1_hiera_large.pt
141
- mamba install -c conda-forge ffmpeg # we also need ffmpeg
142
-
143
- If you want to batch compress image data using [Zstandard](https://github.com/facebook/zstd), use the package manager of your operating system to install it:
144
-
145
- ~~sudo apt-get install zstd~~ # Pre-installed on Linux :man_shrugging:
146
-
147
- brew install zstd # for macOS (requires Homebrew)
148
- pip install zstandard # Windows with Python >= 3.7
149
-
150
- And you are done!
151
-
152
- ## Usage
153
-
154
- To use the plugin, start napari in the activated virtual environment with this terminal command:
155
-
156
- mamba run -n napari-tmidas napari
157
-
158
- You can then find the installed plugin in the Plugins tab.
159
-
160
- ### Microscopy Image Conversion
161
-
162
- Converts `.lif, .nd2, .czi, .ndpi` and Acquifer data to TIF or OME-Zarr formats. Scan a folder, select files, and export with preserved spatial metadata.
163
-
164
- **Supported Formats:**
165
- - **TIF** - Standard format for compatibility
166
- - **OME-Zarr** - Recommended for large datasets, [spec v0.5](https://ngff.openmicroscopy.org/latest/) compliant with automatic physical metadata extraction (voxel sizes, spacing)
167
-
168
- <img src="https://github.com/user-attachments/assets/e377ca71-2f30-447d-825e-d2feebf7061b" alt="Microscopy Image Conversion Widget" style="width:75%; height:auto;">
169
-
170
-
171
- ### Image Processing
172
-
173
- 1. You start with entering the path to the folder containing the images to be processed (currently supports TIF, later also ZARR) and optionally a filter for filename suffix
174
-
175
- ![image](https://github.com/user-attachments/assets/41ecb689-9abe-4371-83b5-9c5eb37069f9)
176
-
177
- 2. After indexing the files, a table appears with the found images. You can click on them to inspect them in the viewer.
178
-
179
- ![image](https://github.com/user-attachments/assets/8360942a-be8f-49ec-bc25-385ee43bd601)
180
-
181
- 3. Next, select a processing function, set parameters if applicable and `Start Batch Processing`.
182
-
183
- ![image](https://github.com/user-attachments/assets/05929660-6672-4f76-89da-4f17749ccfad)
184
-
185
- 4. You can click on the images in the table to show them in the viewer. For example first click on one of the `Original Files`, and then the corresponding `Processed File` to see an overlay.
186
-
187
- <img src="https://github.com/user-attachments/assets/cfe84828-c1cc-4196-9a53-5dfb82d5bfce" alt="Image Processing Widget" style="width:75%; height:auto;">
188
-
189
-
190
- Note that whenever you click on an `Original File` or `Processed File` in the table, it will replace the one that is currently shown in the viewer. So naturally, you'd first select the original image, and then the processed image to correctly see the image pair that you want to inspect.
191
-
192
-
193
- #### Processing Function Credits
194
-
195
- The image processing capabilities are powered by several excellent open-source tools:
196
- - [Cellpose 4](https://github.com/MouseLand/cellpose): Advanced cell segmentation
197
- - [Trackastra](https://github.com/weigertlab/trackastra): Cell tracking and analysis
198
- - [VisCy](https://github.com/mehta-lab/VisCy): Virtual staining using deep learning
199
- - [CAREamics](https://github.com/CAREamics/careamics): Content-aware image restoration and enhancement
200
- - [Spotiflow](https://github.com/weigertlab/spotiflow): Accurate and efficient spot detection for fluorescence microscopy
201
-
202
- #### Processing Function Documentation
203
-
204
- Detailed documentation for specific processing functions:
205
-
206
- **Core Processing**
207
- - [Basic Processing Functions](docs/basic_processing.md) - Label and intensity operations, channel splitting/merging, time series
208
- - [Cellpose Segmentation](docs/cellpose_segmentation.md) - Deep learning cell/nucleus segmentation
209
- - [TrackAstra Tracking](docs/trackastra_tracking.md) - Cell tracking across time-lapse data
210
- - [VisCy Virtual Staining](docs/viscy_virtual_staining.md) - Virtual staining of phase/DIC images using deep learning
211
-
212
- **Analysis and Quality Control**
213
- - [Grid View: Intensity + Labels Overlay](docs/grid_view_overlay.md) - Visual QC for segmentation results
214
- - [Intensity-Based Label Filtering](docs/intensity_label_filter.md) - Filter labels by signal intensity
215
- - [Regionprops Analysis](docs/regionprops_analysis.md) - Extract quantitative properties from labels
216
-
217
- **Advanced Processing**
218
- - [Advanced Processing Functions](docs/advanced_processing.md) - Denoising (CAREamics), spot detection (Spotiflow), SciPy/scikit-image filters, compression, colocalization
219
-
220
- ### Batch Label Inspection
221
- If you have already segmented a folder full of images and now you want to maybe inspect and edit each label image, you can use the `Plugins > T-MIDAS > Batch Label Inspection`, which automatically saves your changes to the existing label image once you click the `Save Changes and Continue` button (bottom right).
222
-
223
- <img src="https://github.com/user-attachments/assets/0bf8c6ae-4212-449d-8183-e91b23ba740e" alt="Batch Label Inspection Widget" style="width:75%; height:auto;">
224
-
225
- ### Crop Anything
226
-
227
- This pipeline combines the Segment Anything Model (SAM2; supports YX, ZYX and TYX data) for automatic object detection with an interactive interface for selecting and cropping multiple objects from images. To launch the widget, open `Plugins > T-MIDAS > Batch Crop Anything`. Cropping works like this: Enter 2D view and go to the first z slice where the object to be cropped is appearing. Activate/select the points layer and click on the object. Terminal shows progress. You can then proceed to select another object (always do this in 2D mode)
228
-
229
- <img src="https://github.com/user-attachments/assets/6d72c2a2-1064-4a27-b398-a9b86fcbc443" alt="Crop Anything Widget" style="width:75%; height:auto;">
230
-
231
-
232
-
233
-
234
- ### ROI Colocalization
235
-
236
- This pipeline quantifies colocalization between labeled regions of interest (ROIs) across multiple image channels. It determines the extent of overlap between ROIs in a reference channel and those in one or two other channels. The output is a table of colocalization counts. Optionally, the size of reference channel ROIs, as well as the total or median size of colocalizing ROIs in the other channels, can be included. Colocalization is determined using Boolean masking. The number of colocalizing instances is determined by counting unique label IDs within the overlapping regions. Typically, the reference channel contains larger structures, while other channels contain smaller, potentially nested, structures. For example, the reference channel might contain cell bodies, with the second and third channels containing nuclei and sub-nuclear objects, respectively.
237
-
238
- <img src="https://github.com/user-attachments/assets/2f9022a0-7b88-4588-a448-250f07a634d7" alt="ROI Colocalization Widget" style="width:75%; height:auto;">
239
-
240
- ## Contributing
241
-
242
- Contributions are very welcome. Tests can be run with [tox], please ensure
243
- the coverage at least stays the same before you submit a pull request.
244
-
245
- ## License
246
-
247
- Distributed under the terms of the [BSD-3] license,
248
- "napari-tmidas" is free and open source software
249
-
250
- ## Issues
251
-
252
- If you encounter any problems, please [file an issue] along with a detailed description.
253
-
254
- [napari]: https://github.com/napari/napari
255
- [copier]: https://copier.readthedocs.io/en/stable/
256
- [@napari]: https://github.com/napari
257
- [MIT]: http://opensource.org/licenses/MIT
258
- [BSD-3]: http://opensource.org/licenses/BSD-3-Clause
259
- [GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt
260
- [GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt
261
- [Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0
262
- [Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt
263
- [napari-plugin-template]: https://github.com/napari/napari-plugin-template
264
-
265
- [file an issue]: https://github.com/macromeer/napari-tmidas/issues
266
-
267
- ----------------------------------
268
-
269
- This [napari] plugin was generated with [copier] using the [napari-plugin-template].
270
-
271
- <!--
272
- Don't miss the full getting started guide to set up your new package:
273
- https://github.com/napari/napari-plugin-template#getting-started
274
-
275
- and review the napari docs for plugin developers:
276
- https://napari.org/stable/plugins/index.html
277
- -->
278
-
279
- [napari]: https://github.com/napari/napari
280
- [tox]: https://tox.readthedocs.io/en/latest/
281
- [pip]: https://pypi.org/project/pip/
282
- [PyPI]: https://pypi.org/