small-fish-gui 2.1.3__tar.gz → 2.1.5__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.
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/PKG-INFO +1 -1
- small_fish_gui-2.1.5/error_log.txt +374 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/pyproject.toml +1 -1
- small_fish_gui-2.1.5/small_fish_gui.code-workspace +7 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/__init__.py +2 -2
- small_fish_gui-2.1.5/src/small_fish_gui/batch/values.txt +65 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/napari_visualiser.py +30 -6
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/settings.json +3 -3
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/_colocalisation.py +34 -16
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/detection.py +15 -11
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/spots.py +19 -7
- small_fish_gui-2.1.5/src/small_fish_gui/pipeline/testing.ipynb +3636 -0
- small_fish_gui-2.1.5/src/small_fish_gui/small_fish_gui.code-workspace +7 -0
- small_fish_gui-2.1.3/error_log.txt +0 -931
- small_fish_gui-2.1.3/src/small_fish_gui/interface/testing.ipynb +0 -4354
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/LICENSE +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/README.md +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/DetectionVitrine_filtre.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/DetectionVitrine_signal.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/FocciVitrine.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/FocciVitrine_no_spots.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/Segmentation2D.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/illustrations/Segmentation2D_with_labels.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/logo.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/requirements.txt +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/screenshot/general_help_screenshot.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/screenshot/mapping_help_screenshot.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/screenshot/segmentation_help_screenshot.png +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/__main__.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/__init__.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/input.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/integrity.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/output.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/pipeline.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/prompt.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/test.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/update.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/batch/utils.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/__init__.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/_napari_widgets.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/animation.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/layout.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/prompts.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/testing.ipynb +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/theme.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/gui/tooltips.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/hints.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/__init__.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/default_settings.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/image.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/inoutput.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/testing.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/interface/user_settings.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/main_menu.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/__init__.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/_bigfish_wrapers.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/_custom_errors.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/_preprocess.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/actions.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/segmentation.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/test.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/pipeline/utils.py +0 -0
- {small_fish_gui-2.1.3 → small_fish_gui-2.1.5}/src/small_fish_gui/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: small_fish_gui
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.5
|
|
4
4
|
Summary: Small Fish is a python application for the analysis of smFish images. It provides a ready to use graphical interface to combine famous python packages for cell analysis without any need for coding.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SmallFishGUI/small_fish_gui
|
|
6
6
|
Project-URL: Wiki, https://github.com/SmallFishGUI/small_fish_gui/wiki
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
version 2.0.2error : `newbyteorder` was removed from the ndarray class in NumPy 2.0. Use `arr.view(arr.dtype.newbyteorder(order))` instead.traceback :
|
|
2
|
+
Traceback (most recent call last):
|
|
3
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
4
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
5
|
+
^^^^^^^^^^^^^^
|
|
6
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
7
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
8
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
9
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 47, in launch_segmentation
|
|
10
|
+
new_parameters = ask_input_parameters(user_parameters, ask_for_segmentation= True) #The image is open and stored inside user_parameters
|
|
11
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
12
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_preprocess.py", line 385, in ask_input_parameters
|
|
13
|
+
image_input_values = input_image_prompt(
|
|
14
|
+
^^^^^^^^^^^^^^^^^^^
|
|
15
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 96, in input_image_prompt
|
|
16
|
+
image = open_image(im_path)
|
|
17
|
+
^^^^^^^^^^^^^^^^^^^
|
|
18
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/interface/image.py", line 15, in open_image
|
|
19
|
+
else : im = read_image(full_path)
|
|
20
|
+
^^^^^^^^^^^^^^^^^^^^^
|
|
21
|
+
File "/home/floric/my_projects/big-fish/bigfish/stack/io.py", line 51, in read_image
|
|
22
|
+
image = tifffile.imread(path)
|
|
23
|
+
^^^^^^^^^^^^^^^^^^^^^
|
|
24
|
+
File "/home/floric/python_env/small_fish_3.12/lib/python3.12/site-packages/tifffile/tifffile.py", line 1064, in imread
|
|
25
|
+
return tif.asarray(
|
|
26
|
+
^^^^^^^^^^^^
|
|
27
|
+
File "/home/floric/python_env/small_fish_3.12/lib/python3.12/site-packages/tifffile/tifffile.py", line 4195, in asarray
|
|
28
|
+
result = self.filehandle.read_array(
|
|
29
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
30
|
+
File "/home/floric/python_env/small_fish_3.12/lib/python3.12/site-packages/tifffile/tifffile.py", line 13922, in read_array
|
|
31
|
+
result = result.newbyteorder()
|
|
32
|
+
^^^^^^^^^^^^^^^^^^^
|
|
33
|
+
AttributeError: `newbyteorder` was removed from the ndarray class in NumPy 2.0. Use `arr.view(arr.dtype.newbyteorder(order))` instead.
|
|
34
|
+
version 2.0.2error : small_fish_gui.gui.prompts.segmentation_prompt() got multiple values for keyword argument 'image'traceback :
|
|
35
|
+
Traceback (most recent call last):
|
|
36
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
37
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
38
|
+
^^^^^^^^^^^^^^
|
|
39
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
40
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
41
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
42
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 67, in launch_segmentation
|
|
43
|
+
event, values = segmentation_prompt(
|
|
44
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
45
|
+
TypeError: small_fish_gui.gui.prompts.segmentation_prompt() got multiple values for keyword argument 'image'
|
|
46
|
+
version 2.0.2error : 'anisotropy'traceback :
|
|
47
|
+
Traceback (most recent call last):
|
|
48
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
49
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
50
|
+
^^^^^^^^^^^^^^
|
|
51
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
52
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
53
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
54
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 166, in launch_segmentation
|
|
55
|
+
if not isinstance(values["anisotropy"], (float,int)) :
|
|
56
|
+
~~~~~~^^^^^^^^^^^^^^
|
|
57
|
+
KeyError: 'anisotropy'
|
|
58
|
+
version 2.0.2error : name 'filename' is not definedtraceback :
|
|
59
|
+
Traceback (most recent call last):
|
|
60
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
61
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
62
|
+
^^^^^^^^^^^^^^
|
|
63
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
64
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
65
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
66
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 241, in launch_segmentation
|
|
67
|
+
if type(path) != type(None) and filename != '':
|
|
68
|
+
^^^^^^^^
|
|
69
|
+
NameError: name 'filename' is not defined
|
|
70
|
+
version 2.0.2error : 'filename'traceback :
|
|
71
|
+
Traceback (most recent call last):
|
|
72
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
73
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
74
|
+
^^^^^^^^^^^^^^
|
|
75
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
76
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
77
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
78
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 242, in launch_segmentation
|
|
79
|
+
if type(path) != type(None) and user_parameters["filename"] != '':
|
|
80
|
+
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
81
|
+
KeyError: 'filename'
|
|
82
|
+
version 2.0.2error : name 'cytoplasm_model_name' is not definedtraceback :
|
|
83
|
+
Traceback (most recent call last):
|
|
84
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
85
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
86
|
+
^^^^^^^^^^^^^^
|
|
87
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
88
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
89
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
90
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 253, in launch_segmentation
|
|
91
|
+
cytoplasm_model_name= cytoplasm_model_name,
|
|
92
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
93
|
+
NameError: name 'cytoplasm_model_name' is not defined
|
|
94
|
+
version 2.0.2error : 'nucleus_segmentation_3D'traceback :
|
|
95
|
+
Traceback (most recent call last):
|
|
96
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
97
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
98
|
+
^^^^^^^^^^^^^^
|
|
99
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
100
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
101
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
102
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 261, in launch_segmentation
|
|
103
|
+
nucleus_3D_segmentation=user_parameters["nucleus_segmentation_3D"],
|
|
104
|
+
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
105
|
+
KeyError: 'nucleus_segmentation_3D'
|
|
106
|
+
version 2.0.2error : name 'show_segmentation' is not definedtraceback :
|
|
107
|
+
Traceback (most recent call last):
|
|
108
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
109
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
110
|
+
^^^^^^^^^^^^^^
|
|
111
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
112
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
113
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
114
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 325, in launch_segmentation
|
|
115
|
+
if show_segmentation :
|
|
116
|
+
^^^^^^^^^^^^^^^^^
|
|
117
|
+
NameError: name 'show_segmentation' is not defined. Did you mean: 'plot_segmentation'?
|
|
118
|
+
version 2.0.2error : name 'is_3D_stack' is not definedtraceback :
|
|
119
|
+
Traceback (most recent call last):
|
|
120
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
121
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
122
|
+
^^^^^^^^^^^^^^
|
|
123
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
124
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
125
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
126
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 89, in launch_segmentation
|
|
127
|
+
values, relaunch = _check_integrity_segmentation_parameters(values, user_parameters, available_channels=available_channels, available_slices=available_slices)
|
|
128
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
129
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 368, in _check_integrity_segmentation_parameters
|
|
130
|
+
if is_3D_stack :
|
|
131
|
+
^^^^^^^^^^^
|
|
132
|
+
NameError: name 'is_3D_stack' is not defined
|
|
133
|
+
version 2.0.2error : name 'nucleus_image' is not definedtraceback :
|
|
134
|
+
Traceback (most recent call last):
|
|
135
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
136
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
137
|
+
^^^^^^^^^^^^^^
|
|
138
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
139
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
140
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
141
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 139, in launch_segmentation
|
|
142
|
+
nuc_image=image[nucleus_channel] if type(nucleus_image) == type(None) else nucleus_image,
|
|
143
|
+
^^^^^^^^^^^^^
|
|
144
|
+
NameError: name 'nucleus_image' is not defined. Did you mean: 'nucleus_label'?
|
|
145
|
+
version 2.0.2error : name 'nucleus_image' is not definedtraceback :
|
|
146
|
+
Traceback (most recent call last):
|
|
147
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
148
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
149
|
+
^^^^^^^^^^^^^^
|
|
150
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
151
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
152
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
153
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 139, in launch_segmentation
|
|
154
|
+
nuc_image=image[nucleus_channel] if type(nucleus_image) == type(None) else nucleus_image,
|
|
155
|
+
^^^^^^^^^^^^^
|
|
156
|
+
NameError: name 'nucleus_image' is not defined. Did you mean: 'nucleus_label'?
|
|
157
|
+
version 2.0.2error : name 'nucleus_channel' is not definedtraceback :
|
|
158
|
+
Traceback (most recent call last):
|
|
159
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
160
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
161
|
+
^^^^^^^^^^^^^^
|
|
162
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
163
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
164
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
165
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 139, in launch_segmentation
|
|
166
|
+
nuc_image=image[nucleus_channel] if type(user_parameters["other_nucleus_image"]) == type(None) else user_parameters["other_nucleus_image"],
|
|
167
|
+
^^^^^^^^^^^^^^^
|
|
168
|
+
NameError: name 'nucleus_channel' is not defined. Did you mean: 'nucleus_label'?
|
|
169
|
+
version 2.0.2error : 'str' object has no attribute 'ndim'traceback :
|
|
170
|
+
Traceback (most recent call last):
|
|
171
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
172
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
173
|
+
^^^^^^^^^^^^^^
|
|
174
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
175
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
176
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
177
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 117, in launch_segmentation
|
|
178
|
+
cytoplasm_label, nucleus_label = cell_segmentation(
|
|
179
|
+
^^^^^^^^^^^^^^^^^^
|
|
180
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 232, in cell_segmentation
|
|
181
|
+
if nuc.ndim >= 3 and not nucleus_3D_segmentation:
|
|
182
|
+
^^^^^^^^
|
|
183
|
+
AttributeError: 'str' object has no attribute 'ndim'
|
|
184
|
+
version 2.0.2error : name 'result' is not definedtraceback :
|
|
185
|
+
Traceback (most recent call last):
|
|
186
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 45, in <module>
|
|
187
|
+
new_result_df, new_cell_result_df, acquisition_id, user_parameters = add_detection(
|
|
188
|
+
^^^^^^^^^^^^^^
|
|
189
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 101, in add_detection
|
|
190
|
+
user_parameters, frame_result, spots, clusters, spots_cluster_id = launch_detection(
|
|
191
|
+
^^^^^^^^^^^^^^^^^
|
|
192
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/detection.py", line 626, in launch_detection
|
|
193
|
+
spots, threshold = interactive_detection(
|
|
194
|
+
^^^^^^^^^^^^^^^^^^^^^^
|
|
195
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 262, in interactive_detection
|
|
196
|
+
background_remover = _interactive_background_removal(image, voxel_size, **kwargs)
|
|
197
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
198
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 344, in _interactive_background_removal
|
|
199
|
+
background_remover = BackgroundRemover(
|
|
200
|
+
^^^^^^^^^^^^^^^^^^
|
|
201
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/_napari_widgets.py", line 792, in __init__
|
|
202
|
+
"contrast_limits" : [result.min(), result.max()],
|
|
203
|
+
^^^^^^
|
|
204
|
+
NameError: name 'result' is not defined
|
|
205
|
+
version 2.0.2error : 'Column' object is not iterabletraceback :
|
|
206
|
+
Traceback (most recent call last):
|
|
207
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
208
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
209
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
210
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
211
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
212
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
213
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
214
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
215
|
+
^^^^^^^^^^^^^
|
|
216
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 322, in coloc_prompt
|
|
217
|
+
for row in element_dict[f"options_spots{spot_id}_memory"] :
|
|
218
|
+
TypeError: 'Column' object is not iterable
|
|
219
|
+
version 2.0.2error : name 'do_only_nuc' is not definedtraceback :
|
|
220
|
+
Traceback (most recent call last):
|
|
221
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 55, in <module>
|
|
222
|
+
nucleus_label, cytoplasm_label, user_parameters = segment_cells(
|
|
223
|
+
^^^^^^^^^^^^^^
|
|
224
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 51, in segment_cells
|
|
225
|
+
nucleus_label, cytoplasm_label, user_parameters = launch_segmentation(
|
|
226
|
+
^^^^^^^^^^^^^^^^^^^^
|
|
227
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/segmentation.py", line 174, in launch_segmentation
|
|
228
|
+
if not do_only_nuc :
|
|
229
|
+
^^^^^^^^^^^
|
|
230
|
+
NameError: name 'do_only_nuc' is not defined
|
|
231
|
+
version 2.0.2error : 'Column' object is not iterabletraceback :
|
|
232
|
+
Traceback (most recent call last):
|
|
233
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
234
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
235
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
236
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
237
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
238
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
239
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
240
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
241
|
+
^^^^^^^^^^^^^
|
|
242
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 322, in coloc_prompt
|
|
243
|
+
for row in element_dict[f"options_spots{spot_id}_memory"] :
|
|
244
|
+
TypeError: 'Column' object is not iterable
|
|
245
|
+
version 2.0.2error : Text.update() got an unexpected keyword argument 'disabled'traceback :
|
|
246
|
+
Traceback (most recent call last):
|
|
247
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
248
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
249
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
250
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
251
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
252
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
253
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
254
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
255
|
+
^^^^^^^^^^^^^
|
|
256
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 325, in coloc_prompt
|
|
257
|
+
for elmnt in row : elmnt.update(disabled= is_memory)
|
|
258
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
259
|
+
TypeError: Text.update() got an unexpected keyword argument 'disabled'
|
|
260
|
+
version 2.0.2error : 'NoneType' object has no attribute 'get'traceback :
|
|
261
|
+
Traceback (most recent call last):
|
|
262
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
263
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
264
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
265
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
266
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
267
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
268
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
269
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
270
|
+
^^^^^^^^^^^^^
|
|
271
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 303, in coloc_prompt
|
|
272
|
+
layout, element_dict = colocalization_layout(spot_list, **default_values)
|
|
273
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
274
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/layout.py", line 477, in colocalization_layout
|
|
275
|
+
sg.Input(size=20, key= f"spots{spot_id}_browse", default_text=default_values.get(f"spots{spot_id}_browse"), disabled=element_dict[f"radio_spots{spot_id}_memory"].get()),
|
|
276
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
277
|
+
File "/home/floric/python_env/small_fish_3.12/lib/python3.12/site-packages/FreeSimpleGUI/elements/radio.py", line 248, in get
|
|
278
|
+
return self.TKIntVar.get() == self.EncodedRadioValue
|
|
279
|
+
^^^^^^^^^^^^^^^^^
|
|
280
|
+
AttributeError: 'NoneType' object has no attribute 'get'
|
|
281
|
+
version 2.0.2error : 'NoneType' object has no attribute 'get'traceback :
|
|
282
|
+
Traceback (most recent call last):
|
|
283
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
284
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
285
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
286
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
287
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
288
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
289
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
290
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
291
|
+
^^^^^^^^^^^^^
|
|
292
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 303, in coloc_prompt
|
|
293
|
+
layout, element_dict = colocalization_layout(spot_list, **default_values)
|
|
294
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
295
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/layout.py", line 478, in colocalization_layout
|
|
296
|
+
print(element_dict[f"radio_spots{spot_id}_memory"].get())
|
|
297
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
298
|
+
File "/home/floric/python_env/small_fish_3.12/lib/python3.12/site-packages/FreeSimpleGUI/elements/radio.py", line 248, in get
|
|
299
|
+
return self.TKIntVar.get() == self.EncodedRadioValue
|
|
300
|
+
^^^^^^^^^^^^^^^^^
|
|
301
|
+
AttributeError: 'NoneType' object has no attribute 'get'
|
|
302
|
+
version 2.0.2error : dict.setdefault() takes no keyword argumentstraceback :
|
|
303
|
+
Traceback (most recent call last):
|
|
304
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 80, in <module>
|
|
305
|
+
global_coloc_df, cell_coloc_df, acquisition_id = compute_colocalisation(
|
|
306
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
307
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 300, in compute_colocalisation
|
|
308
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key = initiate_colocalisation(result_dataframe)
|
|
309
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
310
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/_colocalisation.py", line 178, in initiate_colocalisation
|
|
311
|
+
colocalisation_distance, voxel_size, spots1_key, spots2_key, values = coloc_prompt(
|
|
312
|
+
^^^^^^^^^^^^^
|
|
313
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/prompts.py", line 303, in coloc_prompt
|
|
314
|
+
layout, element_dict = colocalization_layout(spot_list, **default_values)
|
|
315
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
316
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/layout.py", line 478, in colocalization_layout
|
|
317
|
+
sg.FileBrowse(key=f"spots{spot_id}_browsebutton", initial_folder=default_values.setdefault(f"spots{spot_id}_browsebutton", default_values["working_directory"], disabled=can_use_memory and not default_values.get(f"radio_spots{spot_id}_load"))),
|
|
318
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
319
|
+
TypeError: dict.setdefault() takes no keyword arguments
|
|
320
|
+
version 2.1.1error : not enough values to unpack (expected 3, got 2)traceback :
|
|
321
|
+
Traceback (most recent call last):
|
|
322
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 45, in <module>
|
|
323
|
+
new_result_df, new_cell_result_df, acquisition_id, user_parameters = add_detection(
|
|
324
|
+
^^^^^^^^^^^^^^
|
|
325
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 114, in add_detection
|
|
326
|
+
raise(error)
|
|
327
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 101, in add_detection
|
|
328
|
+
user_parameters, frame_result, spots, clusters, spots_cluster_id, image = launch_detection(
|
|
329
|
+
^^^^^^^^^^^^^^^^^
|
|
330
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/detection.py", line 626, in launch_detection
|
|
331
|
+
spots, image, updated_parameters = interactive_detection(
|
|
332
|
+
^^^^^^^^^^^^^^^^^^^^^^
|
|
333
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 291, in interactive_detection
|
|
334
|
+
dense_region_deconvolver = _interactive_spot_decomposition(
|
|
335
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
336
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 350, in _interactive_spot_decomposition
|
|
337
|
+
dense_regions_deconvolver = DenseRegionDeconvolver(
|
|
338
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
339
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/_napari_widgets.py", line 817, in __init__
|
|
340
|
+
self.update_dense_regions()
|
|
341
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/_napari_widgets.py", line 834, in update_dense_regions
|
|
342
|
+
z,y,x = coordinates.T
|
|
343
|
+
^^^^^
|
|
344
|
+
ValueError: not enough values to unpack (expected 3, got 2)
|
|
345
|
+
version 2.1.1error : cannot access local variable 'cell_label_layer' where it is not associated with a valuetraceback :
|
|
346
|
+
Traceback (most recent call last):
|
|
347
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 45, in <module>
|
|
348
|
+
new_result_df, new_cell_result_df, acquisition_id, user_parameters = add_detection(
|
|
349
|
+
^^^^^^^^^^^^^^
|
|
350
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 101, in add_detection
|
|
351
|
+
user_parameters, frame_result, spots, clusters, spots_cluster_id, image = launch_detection(
|
|
352
|
+
^^^^^^^^^^^^^^^^^
|
|
353
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/detection.py", line 663, in launch_detection
|
|
354
|
+
spots, clusters, new_cluster_radius, new_min_spot_number, nucleus_label, cell_label = correct_spots(
|
|
355
|
+
^^^^^^^^^^^^^^
|
|
356
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 160, in correct_spots
|
|
357
|
+
new_cell_label = cell_label_layer.data
|
|
358
|
+
^^^^^^^^^^^^^^^^
|
|
359
|
+
UnboundLocalError: cannot access local variable 'cell_label_layer' where it is not associated with a value
|
|
360
|
+
version 2.1.1error : cannot access local variable 'new_nucleus_label' where it is not associated with a valuetraceback :
|
|
361
|
+
Traceback (most recent call last):
|
|
362
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/main_menu.py", line 45, in <module>
|
|
363
|
+
new_result_df, new_cell_result_df, acquisition_id, user_parameters = add_detection(
|
|
364
|
+
^^^^^^^^^^^^^^
|
|
365
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/actions.py", line 101, in add_detection
|
|
366
|
+
user_parameters, frame_result, spots, clusters, spots_cluster_id, image = launch_detection(
|
|
367
|
+
^^^^^^^^^^^^^^^^^
|
|
368
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/pipeline/detection.py", line 663, in launch_detection
|
|
369
|
+
spots, clusters, new_cluster_radius, new_min_spot_number, nucleus_label, cell_label = correct_spots(
|
|
370
|
+
^^^^^^^^^^^^^^
|
|
371
|
+
File "/home/floric/my_projects/small_fish_gui/src/small_fish_gui/gui/napari_visualiser.py", line 175, in correct_spots
|
|
372
|
+
return new_spots, new_clusters, new_cluster_radius, new_min_spot_number, new_nucleus_label, new_cell_label
|
|
373
|
+
^^^^^^^^^^^^^^^^^
|
|
374
|
+
UnboundLocalError: cannot access local variable 'new_nucleus_label' where it is not associated with a value
|
|
@@ -37,8 +37,8 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
37
37
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
38
38
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
39
39
|
"""
|
|
40
|
-
__version__ = "2.1.
|
|
41
|
-
__wiki__ = "https://github.com/
|
|
40
|
+
__version__ = "2.1.5"
|
|
41
|
+
__wiki__ = "https://github.com/SmallFishGUI/small_fish_gui/wiki"
|
|
42
42
|
|
|
43
43
|
import os, platform
|
|
44
44
|
system_type = platform.system()
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
List of keys for batch 'values' dict instance :
|
|
2
|
+
|
|
3
|
+
Batch_folder
|
|
4
|
+
0
|
|
5
|
+
image_path
|
|
6
|
+
3D stack
|
|
7
|
+
multichannel
|
|
8
|
+
Dense regions deconvolution
|
|
9
|
+
do_cluster_computation
|
|
10
|
+
Segmentation
|
|
11
|
+
Napari correction
|
|
12
|
+
x
|
|
13
|
+
y
|
|
14
|
+
z
|
|
15
|
+
c
|
|
16
|
+
t
|
|
17
|
+
cyto_model_name
|
|
18
|
+
cytoplasm_channel
|
|
19
|
+
cytoplasm_diameter
|
|
20
|
+
nucleus_model_name
|
|
21
|
+
nucleus channel
|
|
22
|
+
nucleus_diameter
|
|
23
|
+
segment_only_nuclei
|
|
24
|
+
show_segmentation
|
|
25
|
+
saving path
|
|
26
|
+
filename
|
|
27
|
+
threshold
|
|
28
|
+
threshold penalty
|
|
29
|
+
channel to compute
|
|
30
|
+
voxel_size_z
|
|
31
|
+
voxel_size_y
|
|
32
|
+
voxel_size_x
|
|
33
|
+
spot_size_z
|
|
34
|
+
spot_size_y
|
|
35
|
+
spot_size_x
|
|
36
|
+
log_kernel_size_z
|
|
37
|
+
log_kernel_size_y
|
|
38
|
+
log_kernel_size_x
|
|
39
|
+
minimum_distance_z
|
|
40
|
+
minimum_distance_y
|
|
41
|
+
minimum_distance_x
|
|
42
|
+
nucleus channel signal
|
|
43
|
+
alpha
|
|
44
|
+
beta
|
|
45
|
+
gamma
|
|
46
|
+
deconvolution_kernel_z
|
|
47
|
+
deconvolution_kernel_y
|
|
48
|
+
deconvolution_kernel_x
|
|
49
|
+
cluster size
|
|
50
|
+
min number of spots
|
|
51
|
+
show_interactive_threshold_selector
|
|
52
|
+
spots_extraction_folder
|
|
53
|
+
spots_filename
|
|
54
|
+
do_spots_csv
|
|
55
|
+
do_spots_excel
|
|
56
|
+
do_spots_feather
|
|
57
|
+
output_folder
|
|
58
|
+
batch_name
|
|
59
|
+
save segmentation
|
|
60
|
+
save detection
|
|
61
|
+
extract spots
|
|
62
|
+
csv
|
|
63
|
+
xlsx
|
|
64
|
+
feather
|
|
65
|
+
2
|
|
@@ -19,6 +19,7 @@ from ..utils import compute_anisotropy_coef
|
|
|
19
19
|
def correct_spots(
|
|
20
20
|
image,
|
|
21
21
|
spots,
|
|
22
|
+
segment_only_nuclei,
|
|
22
23
|
voxel_size= (1,1,1),
|
|
23
24
|
clusters= None,
|
|
24
25
|
spot_cluster_id= None,
|
|
@@ -26,7 +27,7 @@ def correct_spots(
|
|
|
26
27
|
min_spot_number=0,
|
|
27
28
|
cell_label= None,
|
|
28
29
|
nucleus_label= None,
|
|
29
|
-
other_images =[]
|
|
30
|
+
other_images =[],
|
|
30
31
|
):
|
|
31
32
|
"""
|
|
32
33
|
Open Napari viewer for user to visualize and corrects spots, clusters.
|
|
@@ -98,12 +99,32 @@ def correct_spots(
|
|
|
98
99
|
feature_defaults= {"spot_number" : min_spot_number, "cluster_id" : -2, "end" : True} # napari features default will not work with np.nan passing -2 instead.
|
|
99
100
|
)
|
|
100
101
|
|
|
101
|
-
if type(
|
|
102
|
-
cell_label_layer = Viewer.add_labels(cell_label, scale=scale, opacity= 0.2, blending= 'additive')
|
|
103
|
-
if type(nucleus_label) != type(None) :
|
|
102
|
+
if type(nucleus_label) != type(None) :
|
|
104
103
|
nucleus_label_layer = Viewer.add_labels(nucleus_label, scale=scale, opacity= 0.2, blending= 'additive')
|
|
104
|
+
nucleus_label_layer.preserve_labels = True
|
|
105
|
+
labels_layer_list = [nucleus_label_layer]
|
|
105
106
|
|
|
107
|
+
if type(cell_label) != type(None) and not segment_only_nuclei :
|
|
108
|
+
cell_label_layer = Viewer.add_labels(cell_label, scale=scale, opacity= 0.2, blending= 'additive')
|
|
109
|
+
cell_label_layer.preserve_labels = True
|
|
110
|
+
labels_layer_list += [cell_label_layer]
|
|
111
|
+
|
|
106
112
|
#Adding widget
|
|
113
|
+
if type(nucleus_label) != type(None) :
|
|
114
|
+
label_reseter = SegmentationReseter(labels_layer_list)
|
|
115
|
+
label_eraser = CellLabelEraser(labels_layer_list)
|
|
116
|
+
label_picker = FreeLabelPicker(labels_layer_list)
|
|
117
|
+
label_reseter = SegmentationReseter(labels_layer_list)
|
|
118
|
+
changes_applier = ChangesPropagater(labels_layer_list)
|
|
119
|
+
|
|
120
|
+
buttons_container = widgets.Container(widgets=[label_picker.widget, label_reseter.widget], labels=False, layout='horizontal')
|
|
121
|
+
changes_applier = widgets.Container(widgets=[changes_applier.widget], labels=False, layout='horizontal')
|
|
122
|
+
seg_tools_container = widgets.Container(
|
|
123
|
+
widgets = [buttons_container, changes_applier, label_eraser.widget],
|
|
124
|
+
labels=False,
|
|
125
|
+
)
|
|
126
|
+
Viewer.window.add_dock_widget(seg_tools_container, name='Segmentation', area='left')
|
|
127
|
+
|
|
107
128
|
if type(clusters) != type(None) :
|
|
108
129
|
initialize_all_cluster_wizards(
|
|
109
130
|
single_layer=single_layer,
|
|
@@ -131,7 +152,8 @@ def correct_spots(
|
|
|
131
152
|
widgets = [updater_container, buttons_container],
|
|
132
153
|
labels=False,
|
|
133
154
|
)
|
|
134
|
-
|
|
155
|
+
|
|
156
|
+
Viewer.window.add_dock_widget(tools_container, name='Cluster', area='left', tabify=True)
|
|
135
157
|
|
|
136
158
|
Viewer.show(block=False)
|
|
137
159
|
napari.run()
|
|
@@ -158,8 +180,10 @@ def correct_spots(
|
|
|
158
180
|
new_min_spot_number = None
|
|
159
181
|
|
|
160
182
|
#Preparing updated segmentation masks
|
|
161
|
-
if type(cell_label) != type(None) and not
|
|
183
|
+
if type(cell_label) != type(None) and not segment_only_nuclei :
|
|
162
184
|
new_cell_label = cell_label_layer.data
|
|
185
|
+
elif type(nucleus_label) != type(None) and segment_only_nuclei :
|
|
186
|
+
new_cell_label = nucleus_label_layer.data
|
|
163
187
|
else :
|
|
164
188
|
new_cell_label = cell_label
|
|
165
189
|
if type(nucleus_label) != type(None) :
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"working_directory": "/
|
|
2
|
+
"working_directory": "/home/floric/Documents/fish_images",
|
|
3
3
|
"do_background_removal": false,
|
|
4
4
|
"background_channel": 0,
|
|
5
5
|
"multichannel_stack": true,
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"do_dense_regions_deconvolution": false,
|
|
33
33
|
"do_cluster": false,
|
|
34
34
|
"show_napari_corrector": true,
|
|
35
|
-
"interactive_threshold_selector":
|
|
35
|
+
"interactive_threshold_selector": true,
|
|
36
36
|
"alpha": 0.5,
|
|
37
37
|
"beta": 1.0,
|
|
38
38
|
"gamma": 3.0,
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"coloc_range": 400,
|
|
42
42
|
"do_csv": false,
|
|
43
43
|
"do_excel": false,
|
|
44
|
-
"spot_extraction_folder": "/home/floric",
|
|
44
|
+
"spot_extraction_folder": "/home/floric/my_projects/small_fish_gui",
|
|
45
45
|
"voxel_size": [
|
|
46
46
|
1,
|
|
47
47
|
2,
|