napari-tmidas 0.3.0__py3-none-any.whl → 0.3.1__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.
napari_tmidas/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.3.0'
32
- __version_tuple__ = version_tuple = (0, 3, 0)
31
+ __version__ = version = '0.3.1'
32
+ __version_tuple__ = version_tuple = (0, 3, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -41,9 +41,17 @@ def discover_and_load_processing_functions(reload: bool = False) -> List[str]:
41
41
  importlib.import_module(module_fullname)
42
42
 
43
43
  print(f"Loaded processing function module: {module_name}")
44
- except ImportError as e:
44
+ except (ImportError, ValueError) as e:
45
45
  # Log the error but continue with other modules
46
- print(f"Failed to import {module_name}: {e}")
46
+ # ValueError catches NumPy binary incompatibility issues
47
+ error_msg = str(e)
48
+ if "numpy.dtype size changed" in error_msg:
49
+ print(
50
+ f"Failed to import {module_name}: NumPy binary incompatibility. "
51
+ "Try: pip install --force-reinstall --no-cache-dir scikit-learn-extra"
52
+ )
53
+ else:
54
+ print(f"Failed to import {module_name}: {e}")
47
55
 
48
56
  # Return the list of registered functions
49
57
  return BatchProcessingRegistry.list_functions()
@@ -67,6 +67,28 @@ class CellposeEnvironmentManager(BaseEnvironmentManager):
67
67
  "Installing Cellpose 4 (Cellpose-SAM) in the dedicated environment..."
68
68
  )
69
69
 
70
+ # First, install PyTorch with CUDA 12.x support for sm_120 compatibility
71
+ # RTX PRO 4000 Blackwell has CUDA capability sm_120, which requires newer PyTorch
72
+ print("Installing PyTorch with CUDA 12.x support (for sm_120 compatibility)...")
73
+ try:
74
+ subprocess.check_call(
75
+ [
76
+ env_python,
77
+ "-m",
78
+ "pip",
79
+ "install",
80
+ "torch",
81
+ "torchvision",
82
+ "torchaudio",
83
+ "--index-url",
84
+ "https://download.pytorch.org/whl/cu124",
85
+ ]
86
+ )
87
+ print("✓ PyTorch with CUDA 12.4 installed successfully")
88
+ except subprocess.CalledProcessError as e:
89
+ print(f"✗ Failed to install PyTorch: {e}")
90
+ raise
91
+
70
92
  # Install packages one by one with error checking
71
93
  packages = ["cellpose", "zarr", "tifffile"]
72
94
  for package in packages:
@@ -52,10 +52,18 @@ except (ImportError, ValueError) as e:
52
52
  # ValueError: binary incompatibility (e.g., numpy version mismatch)
53
53
  KMedoids = None
54
54
  _HAS_KMEDOIDS = False
55
- print(
56
- f"scikit-learn-extra not available ({type(e).__name__}). "
57
- "Install with: pip install scikit-learn-extra"
58
- )
55
+ error_msg = str(e)
56
+ if "numpy.dtype size changed" in error_msg:
57
+ print(
58
+ "scikit-learn-extra has a NumPy binary incompatibility. "
59
+ "This is typically resolved by reinstalling scikit-learn-extra. "
60
+ "Run: pip install --force-reinstall --no-cache-dir scikit-learn-extra"
61
+ )
62
+ else:
63
+ print(
64
+ f"scikit-learn-extra not available ({type(e).__name__}). "
65
+ "Install with: pip install scikit-learn-extra"
66
+ )
59
67
 
60
68
  try:
61
69
  import pandas as pd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: napari-tmidas
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: A plugin for batch processing of confocal and whole-slide microscopy images of biological tissues
5
5
  Author: Marco Meer
6
6
  Author-email: marco.meer@pm.me
@@ -151,11 +151,11 @@ Then find napari-tmidas in the **Plugins** menu. [Watch video tutorials →](htt
151
151
 
152
152
  ### Core Workflows
153
153
 
154
- - **[Image Conversion](docs/basic_processing.md#file-conversion)** - Multi-format microscopy file conversion
154
+ - **[File Conversion](docs/file_conversion.md)** - Multi-format microscopy file conversion (LIF, ND2, CZI, NDPI, Acquifer)
155
155
  - **[Batch Processing](docs/basic_processing.md)** - Label operations, filters, channel splitting
156
156
  - **[Quality Control](docs/grid_view_overlay.md)** - Visual QC with grid overlay
157
157
  - **[Quantification](docs/regionprops_analysis.md)** - Extract measurements from labels
158
- - **[Colocalization](docs/advanced_processing.md#colocalization)** - Multi-channel ROI analysis
158
+ - **[Colocalization](docs/advanced_processing.md#colocalization-analysis)** - Multi-channel ROI analysis
159
159
 
160
160
  ### Advanced Features
161
161
 
@@ -163,28 +163,25 @@ Then find napari-tmidas in the **Plugins** menu. [Watch video tutorials →](htt
163
163
  - [Advanced Filters](docs/advanced_processing.md) - SciPy/scikit-image filters
164
164
  - [Batch Label Inspection](docs/basic_processing.md#label-inspection) - Manual correction workflow
165
165
 
166
- ## 💻 Installation Options
166
+ ## 💻 Installation
167
167
 
168
- **Recommended (latest features):**
169
- ```bash
170
- pip install git+https://github.com/MercaderLabAnatomy/napari-tmidas.git
171
- ```
168
+ ### Step 1: Install napari
172
169
 
173
- **Stable release:**
174
170
  ```bash
175
- pip install napari-tmidas
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]"
176
174
  ```
177
175
 
178
- **With deep learning (optional):**
179
- ```bash
180
- pip install 'napari-tmidas[deep-learning]' # Includes SAM2
181
- pip install 'napari-tmidas[all]' # Everything
182
- ```
176
+ ### Step 2: Install napari-tmidas
183
177
 
184
- **Additional setup for SAM2:**
185
- ```bash
186
- mamba install -c conda-forge ffmpeg # Required for video processing
187
- ```
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]'`
188
185
 
189
186
  ## 🖼️ Screenshots
190
187
 
@@ -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=5zTqm8rgXsWYBpB2M3Zw_K1D-aV8wP7NsBLrmMKkrAQ,704
13
+ napari_tmidas/_version.py,sha256=gGLpQUQx-ty9SEy9PYw9OgJWWzJLBnCpfJOfzL7SjlI,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
@@ -37,16 +37,16 @@ napari_tmidas/_tests/test_viscy_virtual_staining.py,sha256=iy7YnM65lQhn01UqEMsF6
37
37
  napari_tmidas/_tests/test_widget.py,sha256=0qKDzyfqGnKKY6smqYiruZEWBQjW5fU98ZHeSE5Ei2Q,3263
38
38
  napari_tmidas/_tests/test_windows_basic.py,sha256=nELpwQErf5m1mStIns5jZ4l5BD-_J9XG8IP_CrhSGWw,2311
39
39
  napari_tmidas/_tests/test_writer.py,sha256=4_MlZM9a5So74J16_4tIOJc6pwTOw9R0-oAE_YioIx4,122
40
- napari_tmidas/processing_functions/__init__.py,sha256=1yG17a_ddZXXc12uwB-PkwsBeQD7YvpyKHqc8sZAfgc,2325
40
+ napari_tmidas/processing_functions/__init__.py,sha256=wX0zNxzvlUVxfBUbgZmQ-6sNy88UntlwNT8RRIevHC8,2767
41
41
  napari_tmidas/processing_functions/basic.py,sha256=3kA7GwCJDkkPyIRMZL5hFDSbz-8jjehMlWsQtjdOlro,44500
42
42
  napari_tmidas/processing_functions/careamics_denoising.py,sha256=DFE_6lefeqckAvx-1EqwzJSU3iR3g3ujBGRnF_fnpoM,11638
43
43
  napari_tmidas/processing_functions/careamics_env_manager.py,sha256=ca3e4a8s5mMZdgbYLtk21sXDyhIAulgvH1x5k__wDjw,10342
44
- napari_tmidas/processing_functions/cellpose_env_manager.py,sha256=0HFlHZVbXs2nEead6-VUrHjPhkFkcujP-a0-5Ys_mvA,16718
44
+ napari_tmidas/processing_functions/cellpose_env_manager.py,sha256=vaS3JNMbPu8re68eWgCxs3Hcy1CsrUL7pWgoUtGfIl0,17585
45
45
  napari_tmidas/processing_functions/cellpose_segmentation.py,sha256=qChVwyvGL5nqXjeS0pD0XOxgkyojdiHVXghvdMzdpWI,12280
46
46
  napari_tmidas/processing_functions/colocalization.py,sha256=_QZu1rI_Mt4lnME0YhaAg0RP9Wjof0smpbJoqXoGXR8,25518
47
47
  napari_tmidas/processing_functions/file_compression.py,sha256=mxR-yqBdc-T1XI3StIXpW8h5xGdCOtLQjt8uoRFpDSY,6859
48
48
  napari_tmidas/processing_functions/grid_view_overlay.py,sha256=pZ-5CsHx2tvvW_3QCz5d1-UpleHPES9pj40ZhAf4rrQ,22991
49
- napari_tmidas/processing_functions/intensity_label_filter.py,sha256=cTVCyEPWsPFyz0xdzDj2RwrQaXOzi_kCXUdo2WtwzeY,13887
49
+ napari_tmidas/processing_functions/intensity_label_filter.py,sha256=w2vfSIBa4fZSkL5eM2mSqljJYXguV4zyPQUV--6P_Dw,14240
50
50
  napari_tmidas/processing_functions/regionprops_analysis.py,sha256=ySmzlY_F8uXWQIoSXJFge30jkWFg6G8HhjDVbk4v2rU,45828
51
51
  napari_tmidas/processing_functions/sam2_env_manager.py,sha256=w-X493XdHWAE8UhyHhEEVJ3uvLi2VdS-UFU7yPqnagg,2569
52
52
  napari_tmidas/processing_functions/sam2_mp4.py,sha256=lEdrqQP36_kw2g3soyu81CCRXCkI5DdSExfq5Bc5kig,11523
@@ -58,9 +58,9 @@ napari_tmidas/processing_functions/timepoint_merger.py,sha256=7pXyfcI2rXZz6_TP3v
58
58
  napari_tmidas/processing_functions/trackastra_tracking.py,sha256=IkFk5HoEZmKdcu5jXri4WMhHN1KTADDMxSpeYfPgSbo,9976
59
59
  napari_tmidas/processing_functions/viscy_env_manager.py,sha256=eJ9NsyrtypvxRAFVir9n9RtKaaj6GTpIrOFNLScoVDY,11999
60
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,,
61
+ napari_tmidas-0.3.1.dist-info/licenses/LICENSE,sha256=tSjiOqj57exmEIfP2YVPCEeQf0cH49S6HheQR8IiY3g,1485
62
+ napari_tmidas-0.3.1.dist-info/METADATA,sha256=Ohv8-GQ7y0K40UyIr6YX6l8z3_WbVcxSbTaV0lPvUjE,10348
63
+ napari_tmidas-0.3.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
64
+ napari_tmidas-0.3.1.dist-info/entry_points.txt,sha256=fbVjzbJTm4aDMIBtel1Lyqvq-CwXY7wmCOo_zJ-jtRY,60
65
+ napari_tmidas-0.3.1.dist-info/top_level.txt,sha256=63ybdxCZ4SeT13f_Ou4TsivGV_2Gtm_pJOXToAt30_E,14
66
+ napari_tmidas-0.3.1.dist-info/RECORD,,