senoquant 1.0.0b1__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.
Files changed (148) hide show
  1. senoquant/__init__.py +6 -0
  2. senoquant/_reader.py +7 -0
  3. senoquant/_widget.py +33 -0
  4. senoquant/napari.yaml +83 -0
  5. senoquant/reader/__init__.py +5 -0
  6. senoquant/reader/core.py +369 -0
  7. senoquant/tabs/__init__.py +15 -0
  8. senoquant/tabs/batch/__init__.py +10 -0
  9. senoquant/tabs/batch/backend.py +641 -0
  10. senoquant/tabs/batch/config.py +270 -0
  11. senoquant/tabs/batch/frontend.py +1283 -0
  12. senoquant/tabs/batch/io.py +326 -0
  13. senoquant/tabs/batch/layers.py +86 -0
  14. senoquant/tabs/quantification/__init__.py +1 -0
  15. senoquant/tabs/quantification/backend.py +228 -0
  16. senoquant/tabs/quantification/features/__init__.py +80 -0
  17. senoquant/tabs/quantification/features/base.py +142 -0
  18. senoquant/tabs/quantification/features/marker/__init__.py +5 -0
  19. senoquant/tabs/quantification/features/marker/config.py +69 -0
  20. senoquant/tabs/quantification/features/marker/dialog.py +437 -0
  21. senoquant/tabs/quantification/features/marker/export.py +879 -0
  22. senoquant/tabs/quantification/features/marker/feature.py +119 -0
  23. senoquant/tabs/quantification/features/marker/morphology.py +285 -0
  24. senoquant/tabs/quantification/features/marker/rows.py +654 -0
  25. senoquant/tabs/quantification/features/marker/thresholding.py +46 -0
  26. senoquant/tabs/quantification/features/roi.py +346 -0
  27. senoquant/tabs/quantification/features/spots/__init__.py +5 -0
  28. senoquant/tabs/quantification/features/spots/config.py +62 -0
  29. senoquant/tabs/quantification/features/spots/dialog.py +477 -0
  30. senoquant/tabs/quantification/features/spots/export.py +1292 -0
  31. senoquant/tabs/quantification/features/spots/feature.py +112 -0
  32. senoquant/tabs/quantification/features/spots/morphology.py +279 -0
  33. senoquant/tabs/quantification/features/spots/rows.py +241 -0
  34. senoquant/tabs/quantification/frontend.py +815 -0
  35. senoquant/tabs/segmentation/__init__.py +1 -0
  36. senoquant/tabs/segmentation/backend.py +131 -0
  37. senoquant/tabs/segmentation/frontend.py +1009 -0
  38. senoquant/tabs/segmentation/models/__init__.py +5 -0
  39. senoquant/tabs/segmentation/models/base.py +146 -0
  40. senoquant/tabs/segmentation/models/cpsam/details.json +65 -0
  41. senoquant/tabs/segmentation/models/cpsam/model.py +150 -0
  42. senoquant/tabs/segmentation/models/default_2d/details.json +69 -0
  43. senoquant/tabs/segmentation/models/default_2d/model.py +664 -0
  44. senoquant/tabs/segmentation/models/default_3d/details.json +69 -0
  45. senoquant/tabs/segmentation/models/default_3d/model.py +682 -0
  46. senoquant/tabs/segmentation/models/hf.py +71 -0
  47. senoquant/tabs/segmentation/models/nuclear_dilation/__init__.py +1 -0
  48. senoquant/tabs/segmentation/models/nuclear_dilation/details.json +26 -0
  49. senoquant/tabs/segmentation/models/nuclear_dilation/model.py +96 -0
  50. senoquant/tabs/segmentation/models/perinuclear_rings/__init__.py +1 -0
  51. senoquant/tabs/segmentation/models/perinuclear_rings/details.json +34 -0
  52. senoquant/tabs/segmentation/models/perinuclear_rings/model.py +132 -0
  53. senoquant/tabs/segmentation/stardist_onnx_utils/__init__.py +2 -0
  54. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/__init__.py +3 -0
  55. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/__init__.py +6 -0
  56. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/generate.py +470 -0
  57. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/prepare.py +273 -0
  58. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/rawdata.py +112 -0
  59. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/transform.py +384 -0
  60. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/__init__.py +0 -0
  61. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/blocks.py +184 -0
  62. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/losses.py +79 -0
  63. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/nets.py +165 -0
  64. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/predict.py +467 -0
  65. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/probability.py +67 -0
  66. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/train.py +148 -0
  67. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/io/__init__.py +163 -0
  68. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/__init__.py +52 -0
  69. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/base_model.py +329 -0
  70. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_isotropic.py +160 -0
  71. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_projection.py +178 -0
  72. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_standard.py +446 -0
  73. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_upsampling.py +54 -0
  74. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/config.py +254 -0
  75. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/pretrained.py +119 -0
  76. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/scripts/__init__.py +0 -0
  77. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/scripts/care_predict.py +180 -0
  78. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/__init__.py +5 -0
  79. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/plot_utils.py +159 -0
  80. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/six.py +18 -0
  81. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/tf.py +644 -0
  82. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/utils.py +272 -0
  83. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/version.py +1 -0
  84. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/docs/source/conf.py +368 -0
  85. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/setup.py +68 -0
  86. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_datagen.py +169 -0
  87. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_models.py +462 -0
  88. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_utils.py +166 -0
  89. senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tools/create_zip_contents.py +34 -0
  90. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/__init__.py +30 -0
  91. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/big.py +624 -0
  92. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/bioimageio_utils.py +494 -0
  93. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/data/__init__.py +39 -0
  94. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/__init__.py +10 -0
  95. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/geom2d.py +215 -0
  96. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/geom3d.py +349 -0
  97. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/matching.py +483 -0
  98. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/__init__.py +28 -0
  99. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/base.py +1217 -0
  100. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/model2d.py +594 -0
  101. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/model3d.py +696 -0
  102. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/nms.py +384 -0
  103. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/__init__.py +2 -0
  104. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/plot.py +74 -0
  105. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/render.py +298 -0
  106. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/rays3d.py +373 -0
  107. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/sample_patches.py +65 -0
  108. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/__init__.py +0 -0
  109. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/predict2d.py +90 -0
  110. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/predict3d.py +93 -0
  111. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/utils.py +408 -0
  112. senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/version.py +1 -0
  113. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/__init__.py +45 -0
  114. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/__init__.py +17 -0
  115. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/cli.py +55 -0
  116. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/core.py +285 -0
  117. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/__init__.py +15 -0
  118. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/cli.py +36 -0
  119. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/divisibility.py +193 -0
  120. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/probe.py +100 -0
  121. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/receptive_field.py +182 -0
  122. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/rf_cli.py +48 -0
  123. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/valid_sizes.py +278 -0
  124. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/post/__init__.py +8 -0
  125. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/post/core.py +157 -0
  126. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/pre/__init__.py +17 -0
  127. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/pre/core.py +226 -0
  128. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/predict/__init__.py +5 -0
  129. senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/predict/core.py +401 -0
  130. senoquant/tabs/settings/__init__.py +1 -0
  131. senoquant/tabs/settings/backend.py +29 -0
  132. senoquant/tabs/settings/frontend.py +19 -0
  133. senoquant/tabs/spots/__init__.py +1 -0
  134. senoquant/tabs/spots/backend.py +139 -0
  135. senoquant/tabs/spots/frontend.py +800 -0
  136. senoquant/tabs/spots/models/__init__.py +5 -0
  137. senoquant/tabs/spots/models/base.py +94 -0
  138. senoquant/tabs/spots/models/rmp/details.json +61 -0
  139. senoquant/tabs/spots/models/rmp/model.py +499 -0
  140. senoquant/tabs/spots/models/udwt/details.json +103 -0
  141. senoquant/tabs/spots/models/udwt/model.py +482 -0
  142. senoquant/utils.py +25 -0
  143. senoquant-1.0.0b1.dist-info/METADATA +193 -0
  144. senoquant-1.0.0b1.dist-info/RECORD +148 -0
  145. senoquant-1.0.0b1.dist-info/WHEEL +5 -0
  146. senoquant-1.0.0b1.dist-info/entry_points.txt +2 -0
  147. senoquant-1.0.0b1.dist-info/licenses/LICENSE +28 -0
  148. senoquant-1.0.0b1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,193 @@
1
+ Metadata-Version: 2.4
2
+ Name: senoquant
3
+ Version: 1.0.0b1
4
+ Summary: Napari plugin for spatial quantification of senescence markers in tissue imaging
5
+ Author: SenoQuant Contributors
6
+ Maintainer: SenoQuant Contributors
7
+ License: BSD-3-Clause
8
+ Project-URL: Homepage, https://github.com/HaamsRee/senoquant-dev
9
+ Project-URL: Documentation, https://haamsree.github.io/senoquant-dev/
10
+ Project-URL: Repository, https://github.com/HaamsRee/senoquant-dev
11
+ Project-URL: Bug Tracker, https://github.com/HaamsRee/senoquant-dev/issues
12
+ Keywords: napari,plugin,senescence,quantification,microscopy,image analysis,segmentation,spot detection
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Framework :: napari
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: BSD License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
22
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
23
+ Requires-Python: >=3.11
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: bioio>=3.2.0
27
+ Requires-Dist: bioio-czi>=2.4.2
28
+ Requires-Dist: bioio-dv>=1.2.0
29
+ Requires-Dist: bioio-imageio>=1.3.0
30
+ Requires-Dist: bioio-lif>=1.4.0
31
+ Requires-Dist: bioio-nd2>=1.6.0
32
+ Requires-Dist: bioio-ome-tiff>=1.4.0
33
+ Requires-Dist: bioio-ome-zarr>=3.2.1
34
+ Requires-Dist: bioio-sldy>=1.4.0
35
+ Requires-Dist: bioio-tifffile>=1.3.0
36
+ Requires-Dist: bioio-tiff-glob>=1.2.0
37
+ Requires-Dist: numpy<=1.26.4,>=1.23
38
+ Requires-Dist: cellpose==4.0.8
39
+ Requires-Dist: onnx>=1.16
40
+ Requires-Dist: onnxruntime>=1.16; platform_system == "Darwin"
41
+ Requires-Dist: onnxruntime-gpu>=1.16; platform_system != "Darwin"
42
+ Requires-Dist: openpyxl>=3.1
43
+ Requires-Dist: huggingface_hub>=0.23.0
44
+ Requires-Dist: scikit-image<0.25,>=0.22
45
+ Requires-Dist: scipy>=1.8
46
+ Requires-Dist: senoquant-stardist-ext>=0.1.0
47
+ Requires-Dist: dask[array]>=2024.4
48
+ Requires-Dist: dask[distributed]>=2024.4
49
+ Provides-Extra: gpu
50
+ Requires-Dist: cupy-cuda12x>=12.0; extra == "gpu"
51
+ Requires-Dist: cucim>=23.4; extra == "gpu"
52
+ Provides-Extra: all
53
+ Requires-Dist: napari[all]; extra == "all"
54
+ Requires-Dist: bioio>=3.2.0; extra == "all"
55
+ Requires-Dist: bioio-czi>=2.4.2; extra == "all"
56
+ Requires-Dist: bioio-dv>=1.2.0; extra == "all"
57
+ Requires-Dist: bioio-imageio>=1.3.0; extra == "all"
58
+ Requires-Dist: bioio-lif>=1.4.0; extra == "all"
59
+ Requires-Dist: bioio-nd2>=1.6.0; extra == "all"
60
+ Requires-Dist: bioio-ome-tiff>=1.4.0; extra == "all"
61
+ Requires-Dist: bioio-ome-zarr>=3.2.1; extra == "all"
62
+ Requires-Dist: bioio-sldy>=1.4.0; extra == "all"
63
+ Requires-Dist: bioio-tifffile>=1.3.0; extra == "all"
64
+ Requires-Dist: bioio-tiff-glob>=1.2.0; extra == "all"
65
+ Requires-Dist: numpy<=1.26.4,>=1.23; extra == "all"
66
+ Requires-Dist: cellpose==4.0.8; extra == "all"
67
+ Requires-Dist: onnx>=1.16; extra == "all"
68
+ Requires-Dist: onnxruntime>=1.16; platform_system == "Darwin" and extra == "all"
69
+ Requires-Dist: onnxruntime-gpu>=1.16; platform_system != "Darwin" and extra == "all"
70
+ Requires-Dist: openpyxl>=3.1; extra == "all"
71
+ Requires-Dist: huggingface_hub>=0.23.0; extra == "all"
72
+ Requires-Dist: scikit-image<0.25,>=0.22; extra == "all"
73
+ Requires-Dist: scipy>=1.8; extra == "all"
74
+ Requires-Dist: senoquant-stardist-ext>=0.1.0; extra == "all"
75
+ Requires-Dist: dask[array]>=2024.4; extra == "all"
76
+ Requires-Dist: dask[distributed]>=2024.4; extra == "all"
77
+ Requires-Dist: cupy-cuda12x>=12.0; extra == "all"
78
+ Requires-Dist: cucim>=23.4; extra == "all"
79
+ Dynamic: license-file
80
+
81
+ # SenoQuant
82
+
83
+ ![tests](https://github.com/HaamsRee/senoquant-dev/actions/workflows/tests.yml/badge.svg)
84
+ [![PyPI version](https://badge.fury.io/py/senoquant.svg)](https://badge.fury.io/py/senoquant)
85
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
86
+ [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
87
+
88
+ SenoQuant is a versatile Napari plugin designed for comprehensive, accurate,
89
+ and unbiased spatial quantification and prediction of senescence markers
90
+ across diverse tissue contexts.
91
+
92
+ ## Features
93
+
94
+ - **Multi-Model Segmentation**: Nuclear and cytoplasmic segmentation with 5 built-in models
95
+ - StarDist ONNX (2D/3D)
96
+ - Cellpose SAM
97
+ - Morphological operations (dilation, perinuclear rings)
98
+ - **Spot Detection**: Detect and quantify punctate senescence markers
99
+ - Undecimated B3-spline wavelet (UDWT)
100
+ - Rotational morphological processing (RMP)
101
+ - **Quantification**: Extract intensity, morphology, and spot metrics
102
+ - Per-cell marker intensities
103
+ - Morphological descriptors
104
+ - Spot counting and colocalization
105
+ - **Batch Processing**: Automated analysis of entire image folders
106
+ - Profile save/load for reproducibility
107
+ - Multi-scene file support
108
+ - **File Format Support**: Microscopy formats via BioIO
109
+ - OME-TIFF, ND2, LIF, CZI, Zarr, and more
110
+
111
+ ## Installation
112
+
113
+ ### Prerequisites
114
+
115
+ SenoQuant requires Python 3.11+ and napari:
116
+
117
+ ```bash
118
+ conda create -n senoquant python=3.11
119
+ conda activate senoquant
120
+ pip install "napari[all]"
121
+ ```
122
+
123
+ Or using `uv` (faster installer):
124
+
125
+ ```bash
126
+ conda create -n senoquant python=3.11
127
+ conda activate senoquant
128
+ pip install uv
129
+ uv pip install "napari[all]"
130
+ ```
131
+
132
+ ### Install SenoQuant
133
+
134
+ ```bash
135
+ pip install senoquant
136
+ ```
137
+
138
+ Or with `uv`:
139
+
140
+ ```bash
141
+ uv pip install senoquant
142
+ ```
143
+
144
+ Model files are downloaded automatically on first use from Hugging Face.
145
+ To override the model repository, set `SENOQUANT_MODEL_REPO` environment variable.
146
+
147
+ For GPU acceleration (Windows/Linux with CUDA):
148
+
149
+ ```bash
150
+ pip install senoquant[gpu]
151
+ ```
152
+
153
+ **Note:** The first launch of napari and the SenoQuant plugin will be slower as napari initializes and SenoQuant downloads model files (~1.3 GB) from Hugging Face. Subsequent launches will be faster as models are cached locally.
154
+
155
+ ## Quick Start
156
+
157
+ 1. **Launch napari and open your image:**
158
+ ```bash
159
+ napari
160
+ ```
161
+ File → Open File(s)... → Select your image
162
+
163
+ 2. **Open SenoQuant plugin:**
164
+ Plugins → SenoQuant
165
+
166
+ 3. **Run segmentation:**
167
+ Segmentation tab → Select nuclear channel → Choose model → Run
168
+
169
+ 4. **Detect spots (optional):**
170
+ Spots tab → Select channel → Choose detector → Run
171
+
172
+ 5. **Export quantification:**
173
+ Quantification tab → Configure features → Export
174
+
175
+ 6. **Batch process (optional):**
176
+ Batch tab → Configure settings → Run Batch
177
+
178
+ ## Documentation
179
+
180
+ Full documentation is available at [https://haamsree.github.io/senoquant-dev/](https://haamsree.github.io/senoquant-dev/)
181
+
182
+ - [Installation Guide](https://haamsree.github.io/senoquant-dev/user/installation/)
183
+ - [Quick Start Tutorial](https://haamsree.github.io/senoquant-dev/user/quickstart/)
184
+ - [Segmentation Models](https://haamsree.github.io/senoquant-dev/user/segmentation/)
185
+ - [Spot Detection](https://haamsree.github.io/senoquant-dev/user/spots/)
186
+ - [Quantification Features](https://haamsree.github.io/senoquant-dev/user/quantification/)
187
+ - [Batch Processing](https://haamsree.github.io/senoquant-dev/user/batch/)
188
+ - [API Reference](https://haamsree.github.io/senoquant-dev/api/)
189
+
190
+ ## Development
191
+
192
+ See the [Contributing Guide](https://haamsree.github.io/senoquant-dev/developer/contributing/) for development setup instructions.
193
+
@@ -0,0 +1,148 @@
1
+ senoquant/__init__.py,sha256=hb47RP3O6r49M9ezr8bzKZQD2RF6ScruUmaUNUsPyIg,132
2
+ senoquant/_reader.py,sha256=4klOi8rQ77pK-DdyE17cTTwv7_DYxMecQc0KMYwwQWc,154
3
+ senoquant/_widget.py,sha256=nuNaKvWAx7aKXORAipOUf7sUI5I3DvZazXnwrJcBqcw,1102
4
+ senoquant/napari.yaml,sha256=2r1EpZcV1B3mLv0z3FwjS8e1T-yIMzoWvNj2SBqmftI,1664
5
+ senoquant/utils.py,sha256=JAE1S_UUkrcNrEg2JKDB33VPqt4UWOFtH45hY5uPrbo,641
6
+ senoquant/reader/__init__.py,sha256=3lDuOpQC8TGUdfXdpLrr7MaszOVCqKMYM9YaTdq3DVQ,92
7
+ senoquant/reader/core.py,sha256=C1BycDll6dgalqd6ikF28-KiI3gI2e0fonR60SZdpx8,10226
8
+ senoquant/tabs/__init__.py,sha256=DnIT3E7XRSw2CmlZ-Ma4aYpoUFSFjF-66kMDNPaZEmU,371
9
+ senoquant/tabs/batch/__init__.py,sha256=0-xDYyAEEch9Yq7OhGeTkgoXus52Y_SQjqvtIbI-I20,291
10
+ senoquant/tabs/batch/backend.py,sha256=rFjpObFsnF4rpYxrcrctE7UGy9qSah_V1v1AlyL4KSw,24166
11
+ senoquant/tabs/batch/config.py,sha256=w6DR0Nw6BL0hrFacQPIAHb-wCirYnogYJgmAPy2j9zo,8639
12
+ senoquant/tabs/batch/frontend.py,sha256=dFubaU1uvqRCKMAyx2owyTPERjkiRIrfXBkdZvujgUw,51811
13
+ senoquant/tabs/batch/io.py,sha256=mggktbDDsGr4hQvpu4oj1eJcxG-xiPwfquO7QBesdDk,8382
14
+ senoquant/tabs/batch/layers.py,sha256=JjWS6WVZ3YOd-KZ4AjqstRF0qTPwOxOgGHd5FXrer08,2078
15
+ senoquant/tabs/quantification/__init__.py,sha256=iCqW7cg9QFfUdnYF7JSwOEus_tm66IZXdxSShy7RxwA,34
16
+ senoquant/tabs/quantification/backend.py,sha256=uEHV-JNEXddj5jptKDSrz6Lnt3MIYTzmBu0aV0vjLDY,7337
17
+ senoquant/tabs/quantification/frontend.py,sha256=HKMlkzUf5b8_N9OA5Ki6J5hW02JouBgr4IGtI6AUulQ,29068
18
+ senoquant/tabs/quantification/features/__init__.py,sha256=XR8nPIAGuVpDT8bqWH0qaI-GeZGp9JOKUD7F77dOd7s,2076
19
+ senoquant/tabs/quantification/features/base.py,sha256=OIH_qwKYyKbTwXGhjQzgwNzoabMURActvmA-gUEoU_8,4018
20
+ senoquant/tabs/quantification/features/roi.py,sha256=wLvFJJ1a2W5x4BOUDrLvou_rje1KmDzUp5nwQvzooTU,11397
21
+ senoquant/tabs/quantification/features/marker/__init__.py,sha256=8twYCiUtoau-6rfcLCVndyKkaG1i9v9fGo6IfQ_Eyuo,98
22
+ senoquant/tabs/quantification/features/marker/config.py,sha256=H0n4xY8ZFSVDIKmsDnQZr_nW0zPpL4PLyKMCtYOrprE,1793
23
+ senoquant/tabs/quantification/features/marker/dialog.py,sha256=pnQVzt2RGSjAQ6oqswr2WY7sMk0skMSsLOj55hXFBw0,14886
24
+ senoquant/tabs/quantification/features/marker/export.py,sha256=Tbk-TvK2cLCg-x8YH4F2jNXEXW2jOJ8-4-PqvZGJGXA,27210
25
+ senoquant/tabs/quantification/features/marker/feature.py,sha256=cWZqUm_KTR-vdQpVXK5FiHKCdMlSkJJ8IJjV3bhLUpM,3917
26
+ senoquant/tabs/quantification/features/marker/morphology.py,sha256=eIwhZgTIoPXtJOUHLR9GJ4okaSCVBoJ3NFSzTQycZiI,8676
27
+ senoquant/tabs/quantification/features/marker/rows.py,sha256=Uycekb1O5g7YXggUusgsL6rhJNJhT7IjEZUbKM6LcWI,23528
28
+ senoquant/tabs/quantification/features/marker/thresholding.py,sha256=jwyc_G774NgmWXElI29Z8j4cX0A8CPqs4PtsobCHCxc,1213
29
+ senoquant/tabs/quantification/features/spots/__init__.py,sha256=XpfiHRHNCmCeaBWuTZsyy_qybswkYYVS_Y4oY885xe0,95
30
+ senoquant/tabs/quantification/features/spots/config.py,sha256=wLSnDvYFWZRN7_D2ih4aCugSlTtNaC5CW3NzGKYoyCM,1616
31
+ senoquant/tabs/quantification/features/spots/dialog.py,sha256=Ho5cgolzY9YPba4LdaAeE4IeJaMEV4TAUvPc0Gn68m0,15965
32
+ senoquant/tabs/quantification/features/spots/export.py,sha256=e67oHcWg6v2wYUoFOGUROLVPSZictLVlEVAB6SbEiYA,42127
33
+ senoquant/tabs/quantification/features/spots/feature.py,sha256=8Zk-SbJDA-Ge9kx46oEisacVVrCJL3cb7LA_zivqWkw,3896
34
+ senoquant/tabs/quantification/features/spots/morphology.py,sha256=toK9exTD3CDX3vEKFN2CcT14f-03ASTJxSpQv8ZfC1M,8498
35
+ senoquant/tabs/quantification/features/spots/rows.py,sha256=9FPrWmNLN6MPeVKpi3knPakkwJ8kR0b4sW0WIMLgaoM,7291
36
+ senoquant/tabs/segmentation/__init__.py,sha256=YKSbKlgW372MFEA7xxY3_CUUkXfKX6VSwdoHh_btIaU,32
37
+ senoquant/tabs/segmentation/backend.py,sha256=9DCVEUEFG0zdl0c_IXa7vAiwLCZetkfGJVK_zdrXsIQ,4295
38
+ senoquant/tabs/segmentation/frontend.py,sha256=CVvCbbErVaOG5y-Ds4Ot9y2_0YDYAiCH0-TOtmy-GtI,36560
39
+ senoquant/tabs/segmentation/models/__init__.py,sha256=0_Jxlyc6wGeOoCPhLxKtcfWa8MqFhFm4-_3ca0zDhME,138
40
+ senoquant/tabs/segmentation/models/base.py,sha256=ND518fqg0XuBNT2AWdlf796LEx8xOX9Jq2Ofcf-MsDY,4335
41
+ senoquant/tabs/segmentation/models/hf.py,sha256=Ns9o3slFSq7Ipyj3u1KrJbJ9zKxykh8A6kjxkzH1A58,1845
42
+ senoquant/tabs/segmentation/models/cpsam/details.json,sha256=A_obIZzrnSLw_JPCPX5wq2ZtqYuo0QE6Ctn_BpgwBC4,1239
43
+ senoquant/tabs/segmentation/models/cpsam/model.py,sha256=U-NiFbci3xLx0e1OKcEq_AYtGAOY0_E-YTrJxvLPFAo,5175
44
+ senoquant/tabs/segmentation/models/default_2d/details.json,sha256=S5H14Fk2_dmQNI2_TsXyB6j8PxspmjWC7tNh23VnG80,1338
45
+ senoquant/tabs/segmentation/models/default_2d/model.py,sha256=naNlaFMksND0iSjs2Q-sL-E49eIgsOL1LJxImiy1JA0,23619
46
+ senoquant/tabs/segmentation/models/default_3d/details.json,sha256=a-5YI9Po-IYTG9qHylPd4MMm7ydkRZj2s3EV9sxwGLY,1348
47
+ senoquant/tabs/segmentation/models/default_3d/model.py,sha256=oeJzb5G5Mgox1s8ddglxS6CVCQgVxLzj0E03pxeZ-mI,24196
48
+ senoquant/tabs/segmentation/models/nuclear_dilation/__init__.py,sha256=5rgBUSDK5ZoD6tKVSzF0OUtF2bbBA29HMffJ_CjPJkA,43
49
+ senoquant/tabs/segmentation/models/nuclear_dilation/details.json,sha256=Vx3XY7PvgrM3EMwhRDeFTr9i7GdWohzO2If1eJ-oQoU,510
50
+ senoquant/tabs/segmentation/models/nuclear_dilation/model.py,sha256=onLX1R9U-n0s3Dc64jmBbYBuyTRvems3czclgbqHAP4,3048
51
+ senoquant/tabs/segmentation/models/perinuclear_rings/__init__.py,sha256=mjUeIB8AfCcBn96hk31A4oW7IuZyEQI6OJyJEqPqct8,56
52
+ senoquant/tabs/segmentation/models/perinuclear_rings/details.json,sha256=z-DMLDJnreq0m1yShaqAHWKFtcU39dgAQgw6qb5bpq8,650
53
+ senoquant/tabs/segmentation/models/perinuclear_rings/model.py,sha256=-932WU-alNxe3ruGcYzdguq9Rq_67oKenIiq7j3frMY,4519
54
+ senoquant/tabs/segmentation/stardist_onnx_utils/__init__.py,sha256=MkMNt54pr6Jm3OlgV-pZ84Zg2Xh8gRJ2irn09MpOHT8,78
55
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/setup.py,sha256=UofwaUr0TFptAE8LgJNcDch9Tr321etQmCa15wv35rA,2102
56
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/__init__.py,sha256=Ee-q-WYxbf2l7t5TtnvUewGkuT1rb4aDj6yuFCKVfNo,89
57
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/version.py,sha256=4AwlGuHqu1M8n1Is7gXht3goIvVFTB0N8hTSEfv_B10,21
58
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/__init__.py,sha256=-FwmoZARuloNOuHn-ZTfCeoxNjh23ahHYitWDyDtoJE,134
59
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/generate.py,sha256=Z0IL8SYnXvw5UDcuK2lEmA_svmDBd_VaexZxwYjCGg4,18993
60
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/prepare.py,sha256=le0gkGGk2Q_aTiyinVwCq4CBMet_V0Hr-s6JtCESoS0,8066
61
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/rawdata.py,sha256=4mn4Z5MCmD32LRSt05dquNybLyLt-1u3NyUTOfE8k2Q,4548
62
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/data/transform.py,sha256=9oW0FCxPBX5Nz1wiD86ObIkLWAkeP76fvLgQiBJeHkM,14377
63
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/blocks.py,sha256=mavJN35udsJGRZVYPbxWzsz6JolfcMzhBakb0lHXgkQ,7423
65
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/losses.py,sha256=vS1tXs1pQ3M9UL2tGhfCutnnsIBPpmTZe2p-yK5VE1o,2644
66
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/nets.py,sha256=sibJV2OWmTW43whtxbhbDCwAel-4_iclhhxZHdKJHZs,6775
67
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/predict.py,sha256=eJDcDevxur4n12XPXWbBTsw3yKhQTcSupAK3duhfCJY,17146
68
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/probability.py,sha256=ypMwOnQ6T0_bdmGXEkXNbg5T5B3AspC75QW2t8nbh8g,1933
69
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/internals/train.py,sha256=BaH8fi0HlkjYUNbaSdKTDPvjm7fHHsmO09tP-BYIDNc,5701
70
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/io/__init__.py,sha256=W8ejGs0tWDiyrLvoPOHO863lA9sOIpQ3BYBEFikOcS8,5261
71
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/__init__.py,sha256=ezTHR9ZxDO9CKR8uF6vNg71FwcOuhYyMGMEo2-G515M,1876
72
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/base_model.py,sha256=msxZHXtUFSBUL3FlLuoTyublV80yJ1Y9S28IH_0yMfY,14552
73
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_isotropic.py,sha256=3fssYo38aObepwpQtTi6OFIdQFAqnePxbTkEBW9njO4,6457
74
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_projection.py,sha256=CA-pzGrxV9RmwXFtp_3k2enCq6nCnYkr1A_6sqTz7eg,7429
75
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_standard.py,sha256=Nh6w5SShoYx7BgTJhp6Oc31H3h4x7A30MX0jbZ0fCBw,20654
76
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/care_upsampling.py,sha256=LS1kg5s9ybUeeC5F-GTY0rzbmk69E9N9NOVDmFSjCn0,2084
77
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/config.py,sha256=798E2AczefiEWbQGTNCkWHnRmr7YwZCGtPWf2VGNEp4,10475
78
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/models/pretrained.py,sha256=AO6MOuxrnlBeObkiLbT2cgSDfDeWNwq-vv4cwsKVnjc,4713
79
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/scripts/care_predict.py,sha256=kUn09f-FJ3Ukj_38ycTAMr_cXUmheY_UvysyMyGqKzs,9495
81
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/__init__.py,sha256=DrlDw2UWEvdtTO-leA1tjCHetYagvoRtyeNO1rYDnj0,156
82
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/plot_utils.py,sha256=G160yS61mVnIot7rRDOFRRQNEaM7hmfXrxedywETwzI,4230
83
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/six.py,sha256=PCJae5JBnRcuBpLQQYFHwWaiDldOYLK0gyRgLi23s9g,409
84
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/tf.py,sha256=a3iZlTNpEYXKuzdXacYTu4X1ALomQloe3a_6y1nB68k,28337
85
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/csbdeep/utils/utils.py,sha256=PfTwaEvn28R4hyGPNEg4qFELa-DEJ13yLMb-QXCx9bc,8109
86
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/docs/source/conf.py,sha256=K22YWxduRPoYuUsRa6nUVQR7yp9LKANMxdm95w6ALyM,11552
87
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_datagen.py,sha256=uvGrxG9d5148kVaJ0JoG9fL5LdGZ5giiRXd82SlRcXg,6812
88
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_models.py,sha256=RN0PZ42EKIs8dqpm1W8JuqtNL4ZLYhYzLXSd2OVU2Gc,16001
89
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tests/test_utils.py,sha256=zbe4UbU_50zdW0bUn4b-W7c9xiRMcTgEo6Bt0CY37Mg,6299
90
+ senoquant/tabs/segmentation/stardist_onnx_utils/_csbdeep/tools/create_zip_contents.py,sha256=Ihvs5SPiJXJXWzRR6nn_z0uBpqjIYwgf8tHSZYiwCn0,1031
91
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/__init__.py,sha256=fonCMwaKEu2yp0ZNBHc4PHmZmrg8WrKYwxStjmdvY1o,1740
92
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/big.py,sha256=hTkMUOd6MQJILrfG1PyH-rBwyq6EXeAIkedV5cM4ODI,25283
93
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/bioimageio_utils.py,sha256=Mq8EhDQ27hHuJRgT-7p1PLWFfhmqD6vYej0wlcw8zDE,20526
94
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/matching.py,sha256=MOwlsc4ObvWDEWKe6zRzjqLANwPyaZJBArellXgr7rQ,19434
95
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/nms.py,sha256=kfZkNm2YymGMkAmsam7gPR0dK5fVP7yU8ibVoZpvPak,12632
96
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/rays3d.py,sha256=nrJ8TvLp_rWct7jv5qghaC2CHFPpwGDybST4nxmoBJM,11608
97
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/sample_patches.py,sha256=fSao1x90PbTUTbd3gh7zg-1j7XBgdmWQWY7Wnp_DbUY,2778
98
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/utils.py,sha256=MlYqgwrNULyVJhVGmEEcpBclTTXzWVVC8ofiVObLjw0,15976
99
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/version.py,sha256=HSMl6bLm3r1Ias1jHIPpJeQ0IYNuuSdlT38MTb79ewM,22
100
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/data/__init__.py,sha256=tI6bMy1xunzQOdnF6KIW2SnEsQcJMZMDOm5HUos5z4M,1108
101
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/__init__.py,sha256=SH75EDOW2r4adXm5m_oDzZMR6nJFqwlsZFa2AioHKAs,444
102
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/geom2d.py,sha256=f5F8l2k092Q4otONlRG4Z4LB1ALiOjU2to3msWZ2mYg,7437
103
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/geometry/geom3d.py,sha256=elOn84ZP6Nqb-o6aXNnJ4gedUPmtKV5NFNihDikKMPE,12542
104
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/__init__.py,sha256=E9cmkyvaLwRK5ZGxiLKmwrpzhai7RM5is6ikm5eDm1A,2229
105
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/base.py,sha256=-I3_UeE9-8NsSZODkeo-THgvnkZ3Hmq4Tgt2ujvmXU0,56874
106
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/model2d.py,sha256=GFIG-rc11P9WLVWhGCKAZpDSYwMiZb_V946pmTnR_UI,28713
107
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/models/model3d.py,sha256=mRdfsAAVqhUfhAWH1lKJC5-lQkh7d6A494L51BM5POw,33607
108
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/__init__.py,sha256=cBMFYq74HZW8gTE_1SrKDOgb2WM2jgJbmopCGM71wO0,42
109
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/plot.py,sha256=M279KnimwoC0-tXuI1PgFqdynF0PJ1sBFJlGQ0SEPbo,2785
110
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/plot/render.py,sha256=3fUHwhDbloO8K23w3qNukdAlQlrEpzVZ4zK9NmZoH8I,9478
111
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/predict2d.py,sha256=h2eywW4LQZJTaktncG0LOuWr9DdR344O8aOzM6_RTqw,3442
113
+ senoquant/tabs/segmentation/stardist_onnx_utils/_stardist/scripts/predict3d.py,sha256=rpdnoA5XPDjRQ-imu1GO4unbfaO5w8PlFLqd_5lAjvY,3581
114
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/__init__.py,sha256=uyQVHS-vUdONhvI1CDR718AmWPzMXPl9-6F0bL7sFBU,1430
115
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/__init__.py,sha256=uimduhVV20E3qfJHjSXZlztQfODxdXm5hO4O7dnbsJc,349
116
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/cli.py,sha256=l4u5YhqO_aYVm-uNxfTUrndhmphBXvPDR7hCxTk2nYE,1356
117
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/convert/core.py,sha256=eRx2psv-jjBa5LThNZgxSEI9UjhRtyyWdxDutg3elQE,9038
118
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/__init__.py,sha256=bYIgnsxd_5Ek9XS5sHWuA5WMIpMpoQshId95FWPUm2I,438
119
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/cli.py,sha256=WlpZOHVqENkpUWMLHnH6AkmW5U6BAOQJaY0Nqlka_tQ,1082
120
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/divisibility.py,sha256=OwOpWxui47XI3J1xZTEJdu6El7qqqMSLDeEdIZTTMds,7212
121
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/probe.py,sha256=gf-y55GBI50n94UkCGijH9kVa-OZgeOAs5KwXVvLE9g,3220
122
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/receptive_field.py,sha256=XfwzLZaKX16Y6ybvUggRpsrXcWdFOHUpORhnD694r7Q,6213
123
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/rf_cli.py,sha256=mZ5TkHSWWEM8WKNQ-I7qVAOmS0mQ81n7CmsjzBejJzY,1325
124
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/inspect/valid_sizes.py,sha256=Zec8DPn5EWgXwuiQ0Tw907Y-kxlRCTx5YUgRpbyevGI,7913
125
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/post/__init__.py,sha256=t7HPqoE0vJrkLu9KzveNaW8MnDEI1DwVOpUUkbk1Ki4,226
126
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/post/core.py,sha256=oJVFWe9kb4lOEsCs9LPQ3t5JaQIThz8aipgd6pTSZi0,5788
127
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/pre/__init__.py,sha256=W1cGjXKoMnYYPjyZqa3F3kQEkqNNC220XBtiHekWNho,290
128
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/pre/core.py,sha256=e3zfwvj4MvNFFHlswfgZlILmqPi6CRPG0K5jVIOtS8c,7087
129
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/predict/__init__.py,sha256=Hru0Kb2lWKk_8Qxv8hNyh5zDiUcEMN36n4bE22gSZqs,188
130
+ senoquant/tabs/segmentation/stardist_onnx_utils/onnx_framework/predict/core.py,sha256=ZDXKFFJC9PJJ9xU0jXwURFXl2l8uI9CG4PLSl9ZHdaU,13049
131
+ senoquant/tabs/settings/__init__.py,sha256=-t-LuvfFSUdVFBbDCJAW3E3F33VjNWmDLDNj0K7BJdc,28
132
+ senoquant/tabs/settings/backend.py,sha256=ZVtmrUYNsox7DiVMlcS666XRyLG7GksgC818oo9mwmk,912
133
+ senoquant/tabs/settings/frontend.py,sha256=_hTWJHZeEtU6n6qke31R6Es63knKeHhWZYUZj0ep79s,721
134
+ senoquant/tabs/spots/__init__.py,sha256=dYrAIzX3A5w4TOLRRadxL2agOte_Z0ennuEIOCbJD5w,25
135
+ senoquant/tabs/spots/backend.py,sha256=LZdkNzw-bpK0NClbeLttpg4C_8AqnIFg1W4NaxepTSs,4547
136
+ senoquant/tabs/spots/frontend.py,sha256=34rq06tOw1gBcuc6NGzM73QWvKbwLUxKLAAifruUGOY,26816
137
+ senoquant/tabs/spots/models/__init__.py,sha256=OKnBIi-aaBsuXmwQNeg4EKeV66gSscedXyZ1-O3cJhY,123
138
+ senoquant/tabs/spots/models/base.py,sha256=VABmb2E7xvWOW8J60ZZkog0ZEG4XyW96qeXJMZVuKT8,2786
139
+ senoquant/tabs/spots/models/rmp/details.json,sha256=ocSkURk8jrwZQidQhU6cwcpPukErmpq1RwLkyGn4-Nc,1243
140
+ senoquant/tabs/spots/models/rmp/model.py,sha256=VwJluYX5NlF4crMsKfzncE9c5cPzX8c9x1l3xi7_pP4,17022
141
+ senoquant/tabs/spots/models/udwt/details.json,sha256=wlZLTFdDFC2JD9Za5D-4fgIAbnZGRO6bSnV2j0pz9nE,2209
142
+ senoquant/tabs/spots/models/udwt/model.py,sha256=Erg-HeFbz773rVyP28I8CAZ1UhbqNWpA4XwQhtWVjJU,14046
143
+ senoquant-1.0.0b1.dist-info/licenses/LICENSE,sha256=wJjNEZJA6A7m6ozqNeq3tXi4X5gzbEGraFm2jw5ahG0,1509
144
+ senoquant-1.0.0b1.dist-info/METADATA,sha256=_yl-3wd4mHdJ10tZLhkxVx5TxBeaYk4sAqOUkKX41F0,7279
145
+ senoquant-1.0.0b1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
146
+ senoquant-1.0.0b1.dist-info/entry_points.txt,sha256=_HUyyJcDeBQVdUKjY3ZW9fqvHLWFn2mPXS_9KBPIzuU,52
147
+ senoquant-1.0.0b1.dist-info/top_level.txt,sha256=zD3JsHkIEr7T58xOr2E7mnQ7fqeju6swI2kSkKUPfX4,10
148
+ senoquant-1.0.0b1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [napari.manifest]
2
+ senoquant = senoquant:napari.yaml
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, SenoQuant Contributors
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ senoquant