spacr 0.1.1__py3-none-any.whl → 0.1.6__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.
- spacr/__init__.py +19 -12
- spacr/annotate_app.py +258 -99
- spacr/annotate_app_v2.py +163 -4
- spacr/app_annotate.py +538 -0
- spacr/app_classify.py +8 -0
- spacr/app_make_masks.py +925 -0
- spacr/app_make_masks_v2.py +686 -0
- spacr/app_mask.py +8 -0
- spacr/app_measure.py +8 -0
- spacr/app_sequencing.py +8 -0
- spacr/app_umap.py +8 -0
- spacr/classify_app.py +201 -0
- spacr/core.py +8 -6
- spacr/deep_spacr.py +3 -1
- spacr/gui.py +50 -31
- spacr/gui_annotate.py +145 -0
- spacr/gui_classify_app.py +20 -6
- spacr/gui_core.py +608 -0
- spacr/gui_elements.py +322 -0
- spacr/gui_make_masks_app.py +927 -0
- spacr/gui_make_masks_app_v2.py +688 -0
- spacr/gui_mask_app.py +8 -4
- spacr/gui_measure_app.py +15 -5
- spacr/gui_run.py +58 -0
- spacr/gui_utils.py +71 -1027
- spacr/gui_wrappers.py +137 -0
- spacr/make_masks_app.py +929 -0
- spacr/make_masks_app_v2.py +688 -0
- spacr/mask_app.py +239 -915
- spacr/measure.py +24 -3
- spacr/measure_app.py +246 -0
- spacr/sequencing.py +1 -17
- spacr/settings.py +441 -6
- spacr/sim_app.py +0 -0
- spacr/utils.py +60 -7
- {spacr-0.1.1.dist-info → spacr-0.1.6.dist-info}/METADATA +13 -22
- spacr-0.1.6.dist-info/RECORD +60 -0
- spacr-0.1.6.dist-info/entry_points.txt +8 -0
- spacr-0.1.1.dist-info/RECORD +0 -40
- spacr-0.1.1.dist-info/entry_points.txt +0 -9
- {spacr-0.1.1.dist-info → spacr-0.1.6.dist-info}/LICENSE +0 -0
- {spacr-0.1.1.dist-info → spacr-0.1.6.dist-info}/WHEEL +0 -0
- {spacr-0.1.1.dist-info → spacr-0.1.6.dist-info}/top_level.txt +0 -0
spacr/gui_wrappers.py
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
import traceback, matplotlib, spacr
|
2
|
+
import matplotlib.pyplot as plt
|
3
|
+
matplotlib.use('Agg')
|
4
|
+
|
5
|
+
fig_queue = None
|
6
|
+
|
7
|
+
def my_show():
|
8
|
+
"""
|
9
|
+
Replacement for plt.show() that queues figures instead of displaying them.
|
10
|
+
"""
|
11
|
+
fig = plt.gcf()
|
12
|
+
fig_queue.put(fig)
|
13
|
+
plt.close(fig)
|
14
|
+
|
15
|
+
def measure_crop_wrapper(settings, q, fig_queue):
|
16
|
+
"""
|
17
|
+
Wraps the measure_crop function to integrate with GUI processes.
|
18
|
+
|
19
|
+
Parameters:
|
20
|
+
- settings: dict, The settings for the measure_crop function.
|
21
|
+
- q: multiprocessing.Queue, Queue for logging messages to the GUI.
|
22
|
+
- fig_queue: multiprocessing.Queue, Queue for sending figures to the GUI.
|
23
|
+
"""
|
24
|
+
|
25
|
+
# Temporarily override plt.show
|
26
|
+
original_show = plt.show
|
27
|
+
plt.show = my_show
|
28
|
+
|
29
|
+
try:
|
30
|
+
print('start')
|
31
|
+
spacr.measure.measure_crop(settings=settings)
|
32
|
+
except Exception as e:
|
33
|
+
errorMessage = f"Error during processing: {e}"
|
34
|
+
q.put(errorMessage)
|
35
|
+
traceback.print_exc()
|
36
|
+
finally:
|
37
|
+
plt.show = original_show
|
38
|
+
|
39
|
+
def preprocess_generate_masks_wrapper(settings, q, fig_queue):
|
40
|
+
"""
|
41
|
+
Wraps the measure_crop function to integrate with GUI processes.
|
42
|
+
|
43
|
+
Parameters:
|
44
|
+
- settings: dict, The settings for the measure_crop function.
|
45
|
+
- q: multiprocessing.Queue, Queue for logging messages to the GUI.
|
46
|
+
- fig_queue: multiprocessing.Queue, Queue for sending figures to the GUI.
|
47
|
+
"""
|
48
|
+
|
49
|
+
# Temporarily override plt.show
|
50
|
+
original_show = plt.show
|
51
|
+
plt.show = my_show
|
52
|
+
|
53
|
+
try:
|
54
|
+
spacr.core.preprocess_generate_masks(src=settings['src'], settings=settings)
|
55
|
+
except Exception as e:
|
56
|
+
errorMessage = f"Error during processing: {e}"
|
57
|
+
q.put(errorMessage)
|
58
|
+
traceback.print_exc()
|
59
|
+
finally:
|
60
|
+
plt.show = original_show
|
61
|
+
|
62
|
+
def sequencing_wrapper(settings, q, fig_queue):
|
63
|
+
|
64
|
+
# Temporarily override plt.show
|
65
|
+
original_show = plt.show
|
66
|
+
plt.show = my_show
|
67
|
+
|
68
|
+
try:
|
69
|
+
spacr.sequencing.analyze_reads(settings=settings)
|
70
|
+
except Exception as e:
|
71
|
+
errorMessage = f"Error during processing: {e}"
|
72
|
+
q.put(errorMessage)
|
73
|
+
traceback.print_exc()
|
74
|
+
finally:
|
75
|
+
plt.show = original_show
|
76
|
+
|
77
|
+
def umap_wrapper(settings, q, fig_queue):
|
78
|
+
|
79
|
+
# Temporarily override plt.show
|
80
|
+
original_show = plt.show
|
81
|
+
plt.show = my_show
|
82
|
+
|
83
|
+
try:
|
84
|
+
spacr.core.generate_image_umap(settings=settings)
|
85
|
+
except Exception as e:
|
86
|
+
errorMessage = f"Error during processing: {e}"
|
87
|
+
q.put(errorMessage)
|
88
|
+
traceback.print_exc()
|
89
|
+
finally:
|
90
|
+
plt.show = original_show
|
91
|
+
|
92
|
+
def train_test_model_wrapper(settings, q, fig_queue):
|
93
|
+
"""
|
94
|
+
Wraps the measure_crop function to integrate with GUI processes.
|
95
|
+
|
96
|
+
Parameters:
|
97
|
+
- settings: dict, The settings for the measure_crop function.
|
98
|
+
- q: multiprocessing.Queue, Queue for logging messages to the GUI.
|
99
|
+
- fig_queue: multiprocessing.Queue, Queue for sending figures to the GUI.
|
100
|
+
"""
|
101
|
+
|
102
|
+
# Temporarily override plt.show
|
103
|
+
original_show = plt.show
|
104
|
+
plt.show = my_show
|
105
|
+
|
106
|
+
try:
|
107
|
+
spacr.core.train_test_model(settings['src'], settings=settings)
|
108
|
+
except Exception as e:
|
109
|
+
errorMessage = f"Error during processing: {e}"
|
110
|
+
q.put(errorMessage) # Send the error message to the GUI via the queue
|
111
|
+
traceback.print_exc()
|
112
|
+
finally:
|
113
|
+
plt.show = original_show # Restore the original plt.show function
|
114
|
+
|
115
|
+
|
116
|
+
def run_multiple_simulations_wrapper(settings, q, fig_queue):
|
117
|
+
"""
|
118
|
+
Wraps the run_multiple_simulations function to integrate with GUI processes.
|
119
|
+
|
120
|
+
Parameters:
|
121
|
+
- settings: dict, The settings for the run_multiple_simulations function.
|
122
|
+
- q: multiprocessing.Queue, Queue for logging messages to the GUI.
|
123
|
+
- fig_queue: multiprocessing.Queue, Queue for sending figures to the GUI.
|
124
|
+
"""
|
125
|
+
|
126
|
+
# Temporarily override plt.show
|
127
|
+
original_show = plt.show
|
128
|
+
plt.show = my_show
|
129
|
+
|
130
|
+
try:
|
131
|
+
spacr.sim.run_multiple_simulations(settings=settings)
|
132
|
+
except Exception as e:
|
133
|
+
errorMessage = f"Error during processing: {e}"
|
134
|
+
q.put(errorMessage) # Send the error message to the GUI via the queue
|
135
|
+
traceback.print_exc()
|
136
|
+
finally:
|
137
|
+
plt.show = original_show # Restore the original plt.show function
|