spacr 0.2.4__py3-none-any.whl → 0.2.8__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 +1 -11
- spacr/core.py +277 -349
- spacr/deep_spacr.py +248 -269
- spacr/gui.py +58 -54
- spacr/gui_core.py +689 -535
- spacr/gui_elements.py +1002 -153
- spacr/gui_utils.py +452 -107
- spacr/io.py +158 -91
- spacr/measure.py +199 -151
- spacr/plot.py +159 -47
- spacr/resources/font/open_sans/OFL.txt +93 -0
- spacr/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- spacr/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
- spacr/resources/font/open_sans/README.txt +100 -0
- spacr/resources/font/open_sans/static/OpenSans-Bold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-BoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-ExtraBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-Italic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-Light.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-LightItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-Medium.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-MediumItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-Regular.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-SemiBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
- spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
- spacr/resources/icons/logo.pdf +2786 -6
- spacr/resources/icons/logo_spacr.png +0 -0
- spacr/resources/icons/logo_spacr_1.png +0 -0
- spacr/sequencing.py +477 -587
- spacr/settings.py +217 -144
- spacr/utils.py +46 -46
- {spacr-0.2.4.dist-info → spacr-0.2.8.dist-info}/METADATA +46 -35
- spacr-0.2.8.dist-info/RECORD +100 -0
- {spacr-0.2.4.dist-info → spacr-0.2.8.dist-info}/WHEEL +1 -1
- spacr-0.2.4.dist-info/RECORD +0 -58
- {spacr-0.2.4.dist-info → spacr-0.2.8.dist-info}/LICENSE +0 -0
- {spacr-0.2.4.dist-info → spacr-0.2.8.dist-info}/entry_points.txt +0 -0
- {spacr-0.2.4.dist-info → spacr-0.2.8.dist-info}/top_level.txt +0 -0
spacr/utils.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import sys, os, re, sqlite3, torch, torchvision, random, string, shutil, cv2, tarfile, glob, psutil, platform,
|
1
|
+
import sys, os, re, sqlite3, torch, torchvision, random, string, shutil, cv2, tarfile, glob, psutil, platform, gzip, subprocess
|
2
2
|
|
3
3
|
import numpy as np
|
4
4
|
from cellpose import models as cp_models
|
@@ -87,33 +87,18 @@ from scipy.stats import f_oneway, kruskal
|
|
87
87
|
from sklearn.cluster import KMeans
|
88
88
|
from scipy import stats
|
89
89
|
|
90
|
-
def
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
batch_size = len(batch_size)
|
97
|
-
|
98
|
-
if time_ls is not None:
|
99
|
-
average_time = np.mean(time_ls) if len(time_ls) > 0 else 0
|
100
|
-
time_left = (((files_to_process-files_processed)*average_time)/n_jobs)/60
|
101
|
-
if batch_size is None:
|
102
|
-
print(f'Time/image: {average_time:.3f}sec')
|
103
|
-
print(f'Time_left: {time_left:.3f} min.')
|
104
|
-
else:
|
105
|
-
average_time_img = average_time/batch_size
|
106
|
-
print(f'Time/batch:{average_time:.3f}sec')
|
107
|
-
print(f'Time/image {average_time_img:.3f}')
|
108
|
-
print(f'Time_left: {time_left:.3f} min.')
|
109
|
-
|
110
|
-
print(f'Progress: {files_processed}/{files_to_process}, operation_type: {operation_type}')
|
90
|
+
def save_settings(settings, name='settings'):
|
91
|
+
|
92
|
+
settings_df = pd.DataFrame(list(settings.items()), columns=['Key', 'Value'])
|
93
|
+
settings_csv = os.path.join(settings['src'],'settings',f'{name}.csv')
|
94
|
+
os.makedirs(os.path.join(settings['src'],'settings'), exist_ok=True)
|
95
|
+
settings_df.to_csv(settings_csv, index=False)
|
111
96
|
|
112
97
|
def print_progress(files_processed, files_to_process, n_jobs, time_ls=None, batch_size=None, operation_type=""):
|
113
98
|
if isinstance(files_processed, list):
|
114
|
-
files_processed = len(files_processed)
|
99
|
+
files_processed = len(set(files_processed))
|
115
100
|
if isinstance(files_to_process, list):
|
116
|
-
files_to_process = len(files_to_process)
|
101
|
+
files_to_process = len(set(files_to_process))
|
117
102
|
if isinstance(batch_size, list):
|
118
103
|
batch_size = len(batch_size)
|
119
104
|
|
@@ -137,10 +122,9 @@ def print_progress(files_processed, files_to_process, n_jobs, time_ls=None, batc
|
|
137
122
|
else:
|
138
123
|
average_time_img = average_time / batch_size
|
139
124
|
time_info = f'Time/batch: {average_time:.3f}sec, Time/image: {average_time_img:.3f}sec, Time_left: {time_left:.3f} min.'
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
125
|
+
else:
|
126
|
+
time_info = None
|
127
|
+
print(f'Progress: {files_processed}/{files_to_process}, operation_type: {operation_type}, {time_info}')
|
144
128
|
|
145
129
|
def reset_mp():
|
146
130
|
current_method = get_start_method()
|
@@ -1670,7 +1654,7 @@ def split_my_dataset(dataset, split_ratio=0.1):
|
|
1670
1654
|
val_dataset = Subset(dataset, val_indices)
|
1671
1655
|
return train_dataset, val_dataset
|
1672
1656
|
|
1673
|
-
def classification_metrics(all_labels, prediction_pos_probs,
|
1657
|
+
def classification_metrics(all_labels, prediction_pos_probs, loss, epoch):
|
1674
1658
|
"""
|
1675
1659
|
Calculate classification metrics for binary classification.
|
1676
1660
|
|
@@ -1719,11 +1703,9 @@ def classification_metrics(all_labels, prediction_pos_probs, loader_name, loss,
|
|
1719
1703
|
else:
|
1720
1704
|
acc_nc = np.nan
|
1721
1705
|
data_dict = {'accuracy': acc_all, 'neg_accuracy': acc_nc, 'pos_accuracy': acc_pc, 'loss':loss.item(),'prauc':pr_auc, 'optimal_threshold':optimal_threshold}
|
1722
|
-
data_df = pd.DataFrame(data_dict, index=[str(epoch)
|
1706
|
+
data_df = pd.DataFrame(data_dict, index=[str(epoch)])
|
1723
1707
|
return data_df
|
1724
1708
|
|
1725
|
-
|
1726
|
-
|
1727
1709
|
def compute_irm_penalty(losses, dummy_w, device):
|
1728
1710
|
"""
|
1729
1711
|
Computes the Invariant Risk Minimization (IRM) penalty.
|
@@ -1761,7 +1743,7 @@ def compute_irm_penalty(losses, dummy_w, device):
|
|
1761
1743
|
# summary(base_model, (channels, height, width))
|
1762
1744
|
# return
|
1763
1745
|
|
1764
|
-
def choose_model(model_type, device, init_weights=True, dropout_rate=0, use_checkpoint=False, channels=3, height=224, width=224, chan_dict=None, num_classes=2):
|
1746
|
+
def choose_model(model_type, device, init_weights=True, dropout_rate=0, use_checkpoint=False, channels=3, height=224, width=224, chan_dict=None, num_classes=2, verbose=False):
|
1765
1747
|
"""
|
1766
1748
|
Choose a model for classification.
|
1767
1749
|
|
@@ -1793,7 +1775,7 @@ def choose_model(model_type, device, init_weights=True, dropout_rate=0, use_chec
|
|
1793
1775
|
print(f'Invalid model_type: {model_type}. Compatible model_types: {model_types}')
|
1794
1776
|
return
|
1795
1777
|
|
1796
|
-
print(f'
|
1778
|
+
print(f'Model parameters: Architecture: {model_type} init_weights: {init_weights} dropout_rate: {dropout_rate} use_checkpoint: {use_checkpoint}', end='\r', flush=True)
|
1797
1779
|
|
1798
1780
|
if model_type == 'custom':
|
1799
1781
|
|
@@ -1804,8 +1786,8 @@ def choose_model(model_type, device, init_weights=True, dropout_rate=0, use_chec
|
|
1804
1786
|
else:
|
1805
1787
|
print(f'Compatible model_types: {model_types}')
|
1806
1788
|
raise ValueError(f"Invalid model_type: {model_type}")
|
1807
|
-
|
1808
|
-
|
1789
|
+
if verbose:
|
1790
|
+
print(base_model)
|
1809
1791
|
|
1810
1792
|
return base_model
|
1811
1793
|
|
@@ -2989,11 +2971,13 @@ def _choose_model(model_name, device, object_type='cell', restore_type=None, obj
|
|
2989
2971
|
if restore_type == None:
|
2990
2972
|
if model_name in ['cyto', 'cyto2', 'cyto3', 'nuclei']:
|
2991
2973
|
model = cp_models.Cellpose(gpu=torch.cuda.is_available(), model_type=model_name, device=device)
|
2992
|
-
|
2974
|
+
return model
|
2993
2975
|
else:
|
2994
2976
|
if object_type == 'nucleus':
|
2995
2977
|
restore = f'{type}_nuclei'
|
2996
2978
|
model = denoise.CellposeDenoiseModel(gpu=torch.cuda.is_available(), model_type="nuclei",restore_type=restore, chan2_restore=False, device=device)
|
2979
|
+
return model
|
2980
|
+
|
2997
2981
|
else:
|
2998
2982
|
restore = f'{type}_cyto3'
|
2999
2983
|
if model_name =='cyto2':
|
@@ -3001,8 +2985,7 @@ def _choose_model(model_name, device, object_type='cell', restore_type=None, obj
|
|
3001
2985
|
if model_name =='cyto':
|
3002
2986
|
chan2_restore = False
|
3003
2987
|
model = denoise.CellposeDenoiseModel(gpu=torch.cuda.is_available(), model_type="cyto3",restore_type=restore, chan2_restore=chan2_restore, device=device)
|
3004
|
-
|
3005
|
-
return model
|
2988
|
+
return model
|
3006
2989
|
|
3007
2990
|
class SelectChannels:
|
3008
2991
|
def __init__(self, channels):
|
@@ -3469,7 +3452,7 @@ def setup_plot(figuresize, black_background):
|
|
3469
3452
|
fig, ax = plt.subplots(1, 1, figsize=(figuresize, figuresize))
|
3470
3453
|
return fig, ax
|
3471
3454
|
|
3472
|
-
def plot_clusters(ax, embedding, labels, colors, cluster_centers, plot_outlines, plot_points, smooth_lines, figuresize=
|
3455
|
+
def plot_clusters(ax, embedding, labels, colors, cluster_centers, plot_outlines, plot_points, smooth_lines, figuresize=10, dot_size=50, verbose=False):
|
3473
3456
|
unique_labels = np.unique(labels)
|
3474
3457
|
for cluster_label, color, center in zip(unique_labels, colors, cluster_centers):
|
3475
3458
|
cluster_data = embedding[labels == cluster_label]
|
@@ -3648,22 +3631,22 @@ def delete_folder(folder_path):
|
|
3648
3631
|
def measure_test_mode(settings):
|
3649
3632
|
|
3650
3633
|
if settings['test_mode']:
|
3651
|
-
if not os.path.basename(settings['
|
3652
|
-
all_files = os.listdir(settings['
|
3634
|
+
if not os.path.basename(settings['src']) == 'test':
|
3635
|
+
all_files = os.listdir(settings['src'])
|
3653
3636
|
random_files = random.sample(all_files, settings['test_nr'])
|
3654
3637
|
|
3655
|
-
src = os.path.join(os.path.dirname(settings['
|
3638
|
+
src = os.path.join(os.path.dirname(settings['src']),'test', 'merged')
|
3656
3639
|
if os.path.exists(src):
|
3657
3640
|
delete_folder(src)
|
3658
3641
|
os.makedirs(src, exist_ok=True)
|
3659
3642
|
|
3660
3643
|
for file in random_files:
|
3661
|
-
shutil.copy(os.path.join(settings['
|
3644
|
+
shutil.copy(os.path.join(settings['src'], file), os.path.join(src,file))
|
3662
3645
|
|
3663
|
-
settings['
|
3646
|
+
settings['src'] = src
|
3664
3647
|
print(f'Changed source folder to {src} for test mode')
|
3665
3648
|
else:
|
3666
|
-
print(f'Test mode enabled, using source folder {settings["
|
3649
|
+
print(f'Test mode enabled, using source folder {settings["src"]}')
|
3667
3650
|
|
3668
3651
|
return settings
|
3669
3652
|
|
@@ -4444,3 +4427,20 @@ def correct_masks(src):
|
|
4444
4427
|
cell_path = os.path.join(src,'norm_channel_stack', 'cell_mask_stack')
|
4445
4428
|
convert_and_relabel_masks(cell_path)
|
4446
4429
|
_load_and_concatenate_arrays(src, [0,1,2,3], 1, 0, 2)
|
4430
|
+
|
4431
|
+
def count_reads_in_fastq(fastq_file):
|
4432
|
+
count = 0
|
4433
|
+
with gzip.open(fastq_file, "rt") as f:
|
4434
|
+
for _ in f:
|
4435
|
+
count += 1
|
4436
|
+
return count // 4
|
4437
|
+
|
4438
|
+
|
4439
|
+
# Function to determine the CUDA version
|
4440
|
+
def get_cuda_version():
|
4441
|
+
try:
|
4442
|
+
output = subprocess.check_output(['nvcc', '--version'], stderr=subprocess.STDOUT).decode('utf-8')
|
4443
|
+
if 'release' in output:
|
4444
|
+
return output.split('release ')[1].split(',')[0].replace('.', '')
|
4445
|
+
except (subprocess.CalledProcessError, FileNotFoundError):
|
4446
|
+
return None
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: spacr
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.8
|
4
4
|
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
5
|
Home-page: https://github.com/EinarOlafsson/spacr
|
6
6
|
Author: Einar Birnir Olafsson
|
@@ -9,43 +9,54 @@ Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
10
10
|
Classifier: Operating System :: OS Independent
|
11
11
|
License-File: LICENSE
|
12
|
-
Requires-Dist: torch
|
13
|
-
Requires-Dist: torchvision
|
14
|
-
Requires-Dist: torch-geometric
|
15
|
-
Requires-Dist: numpy
|
16
|
-
Requires-Dist:
|
17
|
-
Requires-Dist:
|
18
|
-
Requires-Dist:
|
19
|
-
Requires-Dist:
|
20
|
-
Requires-Dist:
|
21
|
-
Requires-Dist:
|
22
|
-
Requires-Dist:
|
23
|
-
Requires-Dist:
|
24
|
-
Requires-Dist:
|
25
|
-
Requires-Dist:
|
26
|
-
Requires-Dist:
|
27
|
-
Requires-Dist:
|
28
|
-
Requires-Dist:
|
29
|
-
Requires-Dist:
|
30
|
-
Requires-Dist:
|
31
|
-
Requires-Dist:
|
32
|
-
Requires-Dist:
|
33
|
-
Requires-Dist:
|
34
|
-
Requires-Dist:
|
35
|
-
Requires-Dist:
|
36
|
-
Requires-Dist:
|
37
|
-
Requires-Dist:
|
38
|
-
Requires-Dist:
|
39
|
-
Requires-Dist:
|
40
|
-
Requires-Dist:
|
41
|
-
Requires-Dist:
|
42
|
-
Requires-Dist:
|
12
|
+
Requires-Dist: torch<3.0,>=2.0
|
13
|
+
Requires-Dist: torchvision<1.0,>=0.1
|
14
|
+
Requires-Dist: torch-geometric<3.0,>=2.5
|
15
|
+
Requires-Dist: numpy<2.0,>=1.26.4
|
16
|
+
Requires-Dist: bottleneck<2.0,>=1.3.6
|
17
|
+
Requires-Dist: numexpr<3.0,>=2.8.4
|
18
|
+
Requires-Dist: pandas<3.0,>=2.2.1
|
19
|
+
Requires-Dist: statsmodels<1.0,>=0.14.1
|
20
|
+
Requires-Dist: scikit-image<1.0,>=0.22.0
|
21
|
+
Requires-Dist: scikit-learn<2.0,>=1.4.1
|
22
|
+
Requires-Dist: seaborn<1.0,>=0.13.2
|
23
|
+
Requires-Dist: matplotlib<4.0,>=3.8.3
|
24
|
+
Requires-Dist: shap<1.0,>=0.45.0
|
25
|
+
Requires-Dist: pillow<11.0,>=10.2.0
|
26
|
+
Requires-Dist: imageio<3.0,>=2.34.0
|
27
|
+
Requires-Dist: scipy<2.0,>=1.12.0
|
28
|
+
Requires-Dist: ipywidgets<9.0,>=8.1.2
|
29
|
+
Requires-Dist: mahotas<2.0,>=1.4.13
|
30
|
+
Requires-Dist: btrack<1.0,>=0.6.5
|
31
|
+
Requires-Dist: trackpy<1.0,>=0.6.2
|
32
|
+
Requires-Dist: cellpose<4.0,>=3.0.6
|
33
|
+
Requires-Dist: IPython<9.0,>=8.18.1
|
34
|
+
Requires-Dist: opencv-python-headless<5.0,>=4.9.0.80
|
35
|
+
Requires-Dist: umap-learn<1.0,>=0.5.6
|
36
|
+
Requires-Dist: ttkthemes<4.0,>=3.2.2
|
37
|
+
Requires-Dist: xgboost<3.0,>=2.0.3
|
38
|
+
Requires-Dist: PyWavelets<2.0,>=1.6.0
|
39
|
+
Requires-Dist: torchcam<1.0,>=0.4.0
|
40
|
+
Requires-Dist: ttf-opensans>=2020.10.30
|
41
|
+
Requires-Dist: customtkinter<6.0,>=5.2.2
|
42
|
+
Requires-Dist: biopython<2.0,>=1.80
|
43
|
+
Requires-Dist: lxml<6.0,>=5.1.0
|
44
|
+
Requires-Dist: psutil<6.0,>=5.9.8
|
45
|
+
Requires-Dist: gputil<2.0,>=1.4.0
|
46
|
+
Requires-Dist: gpustat<2.0,>=1.1.1
|
47
|
+
Requires-Dist: pyautogui<1.0,>=0.9.54
|
48
|
+
Requires-Dist: tables<4.0,>=3.8.0
|
49
|
+
Requires-Dist: rapidfuzz<4.0,>=3.9
|
50
|
+
Requires-Dist: keyring<16.0,>=15.1
|
51
|
+
Requires-Dist: screeninfo<1.0,>=0.8.1
|
52
|
+
Requires-Dist: ipykernel
|
53
|
+
Requires-Dist: huggingface-hub<0.25,>=0.24.0
|
43
54
|
Provides-Extra: dev
|
44
|
-
Requires-Dist: pytest
|
55
|
+
Requires-Dist: pytest<3.11,>=3.9; extra == "dev"
|
45
56
|
Provides-Extra: full
|
46
|
-
Requires-Dist: opencv-python
|
57
|
+
Requires-Dist: opencv-python; extra == "full"
|
47
58
|
Provides-Extra: headless
|
48
|
-
Requires-Dist: opencv-python-headless
|
59
|
+
Requires-Dist: opencv-python-headless; extra == "headless"
|
49
60
|
|
50
61
|
.. |Documentation Status| image:: https://readthedocs.org/projects/spacr/badge/?version=latest
|
51
62
|
:target: https://spacr.readthedocs.io/en/latest/?badge=latest
|
@@ -0,0 +1,100 @@
|
|
1
|
+
spacr/__init__.py,sha256=8NZIlJOY2OzRCFjXvqusFL7BfyEJwNqB2lL8QNB-Kgo,1141
|
2
|
+
spacr/__main__.py,sha256=bkAJJD2kjIqOP-u1kLvct9jQQCeUXzlEjdgitwi1Lm8,75
|
3
|
+
spacr/app_annotate.py,sha256=nEIL7Fle9CDKGo3sucG_03DgjUQt5W1M1IHBIpVBr08,2171
|
4
|
+
spacr/app_classify.py,sha256=urTP_wlZ58hSyM5a19slYlBxN0PdC-9-ga0hvq8CGWc,165
|
5
|
+
spacr/app_make_masks.py,sha256=pqDhRpluiHZz-kPX2Zh_KbYe4TsU43qYBa_7f-rsjpw,1694
|
6
|
+
spacr/app_mask.py,sha256=l-dBY8ftzCMdDe6-pXc2Nh_u-idNL9G7UOARiLJBtds,153
|
7
|
+
spacr/app_measure.py,sha256=_K7APYIeOKpV6e_LcqabBjvEi7mfq9Fch8175x1x0k8,162
|
8
|
+
spacr/app_sequencing.py,sha256=DjG26jy4cpddnV8WOOAIiExtOe9MleVMY4MFa5uTo5w,157
|
9
|
+
spacr/app_umap.py,sha256=ZWAmf_OsIKbYvolYuWPMYhdlVe-n2CADoJulAizMiEo,153
|
10
|
+
spacr/chris.py,sha256=YlBjSgeZaY8HPy6jkrT_ISAnCMAKVfvCxF0I9eAZLFM,2418
|
11
|
+
spacr/core.py,sha256=B2KMyG6IrVtV9d4XQkXVblbvfFhgcMY2o-mtmqDVDic,146519
|
12
|
+
spacr/deep_spacr.py,sha256=a2YewgkQvLV-95NYJAutnojvJmX4S8z_wv6Tb-XIgUI,34484
|
13
|
+
spacr/graph_learning.py,sha256=1tR-ZxvXE3dBz1Saw7BeVFcrsUFu9OlUZeZVifih9eo,13070
|
14
|
+
spacr/gui.py,sha256=RMg0bgbUpO6JwaWuNVMwuVZ18j4WlER3nW0Eaa0YZ30,7883
|
15
|
+
spacr/gui_core.py,sha256=gTgsBzhZ5Q4vl6fT8VwrHWZ6BXWW5FNli8CE3WNMfv0,39986
|
16
|
+
spacr/gui_elements.py,sha256=OA514FUVRKAcdu9CFVOt7UEzn1vztakQ-rDyKqV0b9A,129771
|
17
|
+
spacr/gui_utils.py,sha256=pq_bmZ527S1j2s6McvqMhHNI05hJycBhHM8GY_jH9Ng,30597
|
18
|
+
spacr/io.py,sha256=ZtVNbEom8X8p_KfsuWw0glGwLg6S0CfwwevDPGdfiSc,117342
|
19
|
+
spacr/logger.py,sha256=7Zqr3TuuOQLWT32gYr2q1qvv7x0a2JhLANmZcnBXAW8,670
|
20
|
+
spacr/measure.py,sha256=4rmzH_a5Y0s1qALVi6YRut3xpnkJXs5vzeTPCEf3QS8,54871
|
21
|
+
spacr/plot.py,sha256=xVnbML7WpAEzdJdrLeYRk6aPinZSiV2dLAeu4mh7n0k,73963
|
22
|
+
spacr/sequencing.py,sha256=y7EB8226B0b0gnGXt6jqBaFVATrM1Y89v3rtHb8XR_k,75746
|
23
|
+
spacr/settings.py,sha256=1PE6rQi0JoxbPSwEdEEWlJvrFW-dBkdY0WP461X-4FA,67839
|
24
|
+
spacr/sim.py,sha256=FveaVgBi3eypO2oVB5Dx-v0CC1Ny7UPfXkJiiRRodAk,71212
|
25
|
+
spacr/sim_app.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
+
spacr/timelapse.py,sha256=KMYCgHzf9LTZe-lWl5mvH2EjbKRE6OhpwdY13wEumGc,39504
|
27
|
+
spacr/utils.py,sha256=2v0N1GJPqGyhxLJGSl9cGaaLQr04ehzqcOxiD-zQ1WI,189142
|
28
|
+
spacr/version.py,sha256=axH5tnGwtgSnJHb5IDhiu4Zjk5GhLyAEDRe-rnaoFOA,409
|
29
|
+
spacr/resources/font/open_sans/OFL.txt,sha256=bGMoWBRrE2RcdzDiuYiB8A9OVFlJ0sA2imWwce2DAdo,4484
|
30
|
+
"spacr/resources/font/open_sans/OpenSans-Italic-VariableFont_wdth,wght.ttf",sha256=QSoWv9h46CRX_fdlqFM3O2d3-PF3R1srnb4zUezcLm0,580280
|
31
|
+
"spacr/resources/font/open_sans/OpenSans-VariableFont_wdth,wght.ttf",sha256=E3RLvAefD0kuT7OxShXSQrjZYA-qzUI9WM35N_6nzms,529700
|
32
|
+
spacr/resources/font/open_sans/README.txt,sha256=-ZB4ocy30PWpgUpWm_djuTyBe_NiE1yEFG7H-zODBbA,3518
|
33
|
+
spacr/resources/font/open_sans/static/OpenSans-Bold.ttf,sha256=vHPEXlgQoJcevq7062w13shGB9vgLaZ1f59D2Vi22l8,130860
|
34
|
+
spacr/resources/font/open_sans/static/OpenSans-BoldItalic.ttf,sha256=tiGd9Fy-5vh25rKPZoNI4YB7H7mtEY6n1ocEHw0zI4Q,136360
|
35
|
+
spacr/resources/font/open_sans/static/OpenSans-ExtraBold.ttf,sha256=DAeBB3dmNBMRYr5Go4JFOZBAwr7MSV6T1p2bbt1lqY0,131244
|
36
|
+
spacr/resources/font/open_sans/static/OpenSans-ExtraBoldItalic.ttf,sha256=oDRGYhCusJ9__bySUKzNH1w-L7isv9O-iqFUmT7EPZs,136928
|
37
|
+
spacr/resources/font/open_sans/static/OpenSans-Italic.ttf,sha256=XqvWf-PYtbXu5kUE6p5KXvdmW2Q1d-8Rfzwy_aZ80p8,136604
|
38
|
+
spacr/resources/font/open_sans/static/OpenSans-Light.ttf,sha256=RurTiXjijzKtfcENRn7-jYtXhv-YAgw3GKKW-I738cw,130804
|
39
|
+
spacr/resources/font/open_sans/static/OpenSans-LightItalic.ttf,sha256=TqxQLBDa9mCOU-fbhteXaYkDc-u9VHKle7y3V4m8URA,136896
|
40
|
+
spacr/resources/font/open_sans/static/OpenSans-Medium.ttf,sha256=KrFWKUJKzobUKdvA5ae-sw0q89uZiisDpxYB7mllwzQ,130976
|
41
|
+
spacr/resources/font/open_sans/static/OpenSans-MediumItalic.ttf,sha256=v0NvTDTSySHQ8tSZfnhUBQpg_qqJu6zGBK6JatJUyos,136796
|
42
|
+
spacr/resources/font/open_sans/static/OpenSans-Regular.ttf,sha256=ZTBIAnfaYu_eBH6ybnin5TLRz67skWA-aNY4drlmnw0,130832
|
43
|
+
spacr/resources/font/open_sans/static/OpenSans-SemiBold.ttf,sha256=5gMTXMOxIAxyYLNPN_nLHyF4pCs2MDfiah4YJ2q3i_A,130760
|
44
|
+
spacr/resources/font/open_sans/static/OpenSans-SemiBoldItalic.ttf,sha256=sb8sWCggtXA9vNM5tdyXI1wUUYXQ-ruwnCJO-HIVJms,136724
|
45
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-Bold.ttf,sha256=CIWGlNIDGR-928YD8NguGNEEwnlBYir6S4_wzKyhK2A,130372
|
46
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-BoldItalic.ttf,sha256=dd_-wIDY3AM6l5T_JTYUo4D1H34Tmq5I2vEuvpqkrsQ,136240
|
47
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBold.ttf,sha256=98s7bdAITVn2b6nlI4tLuBkq1pSfmaFnPJELgyripT4,130812
|
48
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf,sha256=Yh7na-RGr-rH4T_uNLv6cGefmQfyALsb1Qrf4c5xp30,136652
|
49
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-Italic.ttf,sha256=K8gjp2YPH9NLDCpX3ZrNRv7fCser4yoUbS6JXojzkQI,136588
|
50
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-Light.ttf,sha256=wcbhJiAM7-BGpJ82qwIMDcyEQJVnGXcTJzlFmAR4etY,130472
|
51
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-LightItalic.ttf,sha256=4eYPQJMjKmJ_QuIVuP6hQag4mVYxg5wVJFV8h28zd_c,136760
|
52
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-Medium.ttf,sha256=acH5RzYjKjt9ePPfhjwvdWHau9FxkgVNCCVzxUBUM6Y,130520
|
53
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-MediumItalic.ttf,sha256=vL_D1ucljgIr9sz4FSoWkg38QLVbxMglTBX0_01o3Vo,136700
|
54
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-Regular.ttf,sha256=9ZSB0mD3qvxsRpbdhgjMvhJxTJjmT41hQi7nWvuUl7U,130492
|
55
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBold.ttf,sha256=F5ld4DVfj5bpv37MfcrisKrdWosy6C85CVibgmFpMhw,130524
|
56
|
+
spacr/resources/font/open_sans/static/OpenSans_Condensed-SemiBoldItalic.ttf,sha256=bDVD8CkRaVOD96JJBURtnawSs8vspPKCNsBHW9SCBk0,136792
|
57
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Bold.ttf,sha256=saQFKWcgcpqcyyIV744l-gMfKKdKI6eC7gA7Eg2SqIc,131168
|
58
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-BoldItalic.ttf,sha256=wTHNHKW51uSs5WjuDM881pe51U25ezzIg4pKiQkkksE,137104
|
59
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBold.ttf,sha256=NWASkgz4LTrSPDAipCY41ul2Z5XDMeUleDE8C7Nt6RI,131744
|
60
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf,sha256=PZSxtpkBYq79eWqnTh4KcwtaoAd_QFA6AYfdtvZI-bc,137584
|
61
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Italic.ttf,sha256=bHPr5WeX4zrP-VaVVHquxysTBlnRog8lfrh2z2ydf1g,137000
|
62
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Light.ttf,sha256=ks1IgCjNng7ksZNOSKaqBefxvwTGXrgQTySGy0nfIJY,131128
|
63
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-LightItalic.ttf,sha256=-Xa1RlfcMxM1QYpjMNbNRv-a5ka8m5o5h-3P7gsMoRs,137220
|
64
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Medium.ttf,sha256=a-MrWOsGFqIGqpQXeaZyxruXqU3hMC2eHpWNa4wq8RE,130976
|
65
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-MediumItalic.ttf,sha256=vJfOBlOVmx_MXbkgSdxHdzSSeALkd253C4Srr84Qvq8,137068
|
66
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-Regular.ttf,sha256=skg4DCl15zL9ZD4MAL9fOt4WjonKYBUOMj46ItSAe5Q,130848
|
67
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBold.ttf,sha256=uCiR97jg6sUHtGKVPNtJEg1zZG5Y9ArQ-raqBGjaeGg,130856
|
68
|
+
spacr/resources/font/open_sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf,sha256=a5-0oOIrtJltQRa64uFKCdtcjzPvEJ71f_cYavG2i3E,137132
|
69
|
+
spacr/resources/icons/abort.png,sha256=avtIRT7aCJsdZ1WnY_rZStm6cCji5bYPLnlptdcTNcM,6583
|
70
|
+
spacr/resources/icons/annotate.png,sha256=GFgh7DiUMwPG_-xE6W1qU8V_qzSwBi1xKenfoaQxeFA,15495
|
71
|
+
spacr/resources/icons/cellpose_all.png,sha256=HVWOIOBF8p3-On-2UahwMyQXp7awsoC5yWExU1ahDag,20271
|
72
|
+
spacr/resources/icons/cellpose_masks.png,sha256=HVWOIOBF8p3-On-2UahwMyQXp7awsoC5yWExU1ahDag,20271
|
73
|
+
spacr/resources/icons/classify.png,sha256=-iv4sqAwUVJO3CG6fHKHf3_BB0s-I2i4prg-iR7dSBM,35897
|
74
|
+
spacr/resources/icons/default.png,sha256=KoNhaSHukO4wDyivyYEgSbb5mGj-sAxmhKikLLtNpWs,20341
|
75
|
+
spacr/resources/icons/download.png,sha256=1nUoWRaTc4vIsK6gompdeqk0cIv2GdH-gCNHaEBX6Mc,20467
|
76
|
+
spacr/resources/icons/logo.pdf,sha256=VB4cS41V3VV_QxD7l6CwdQKQiYLErugLBxWoCoxjQU0,377925
|
77
|
+
spacr/resources/icons/logo_spacr.png,sha256=qG3e3bdrAefhl1281rfo0R2XP0qA-c-oaBCXjxMGXkw,42587
|
78
|
+
spacr/resources/icons/logo_spacr_1.png,sha256=g9y2ZmnV3hab8r1idDfytm8AaHbBiQdu_93Jd7YKzwA,610892
|
79
|
+
spacr/resources/icons/make_masks.png,sha256=iB4kaTgbgyygSJSNstVKhRIXKSgWYkeh7Gt3ox-kWDI,42493
|
80
|
+
spacr/resources/icons/map_barcodes.png,sha256=ED6yCopk3hP7tICSvT8U_qA1bOOb0WHqmxVkmRxnbtE,7896
|
81
|
+
spacr/resources/icons/mask.png,sha256=DcBes-3UJ7XjRfj_P4RttRp680ZKZeH9a-DSk7bIF5U,37658
|
82
|
+
spacr/resources/icons/measure.png,sha256=Gd-dlN-3Z8D_XngJnChNme8D63KEJMFs_cBv7wT2vOY,40938
|
83
|
+
spacr/resources/icons/ml_analyze.png,sha256=Wc9a_LpG2XffiMfXxn0yUmGP40IXzlAV7bHXQf7m_2o,15754
|
84
|
+
spacr/resources/icons/recruitment.png,sha256=dlVh2ebV_f3rhRFBiL0hDtlUeBSIeg0d4vny8A8IAdo,25067
|
85
|
+
spacr/resources/icons/regression.png,sha256=WIrKY4fSojBOCDkHno4Qb-KH7jcHh6G67dOKzczaU1I,42267
|
86
|
+
spacr/resources/icons/run.png,sha256=ICzyAvsRBCXNAbdn5N3PxCxxVyqxkfC4zOI5Zc8vbxQ,8974
|
87
|
+
spacr/resources/icons/sequencing.png,sha256=P9E_Y76ZysWMKst3_hAw-_4F510XPW1l1TsDElVzt4o,17775
|
88
|
+
spacr/resources/icons/settings.png,sha256=y5Ow5BxJDDsrqom0VNbOMDGGUs6odxbSMDy6y4r_F0w,22269
|
89
|
+
spacr/resources/icons/spacr_logo_rotation.gif,sha256=bgIx1Hx41Ob90SY-q3PBa3CSxtVRnF9XX-ApUSr0wvY,1502560
|
90
|
+
spacr/resources/icons/train_cellpose.png,sha256=_PZ_R_B6azuUACmscScAkugmgLZvCPKQFGIAsszqNLk,3858
|
91
|
+
spacr/resources/icons/umap.png,sha256=dOLF3DeLYy9k0nkUybiZMe1wzHQwLJFRmgccppw-8bI,27457
|
92
|
+
spacr/resources/models/cp/toxo_plaque_cyto_e25000_X1120_Y1120.CP_model,sha256=z8BbHWZPRnE9D_BHO0fBREE85c1vkltDs-incs2ytXQ,26566572
|
93
|
+
spacr/resources/models/cp/toxo_plaque_cyto_e25000_X1120_Y1120.CP_model_settings.csv,sha256=fBAGuL_B8ERVdVizO3BHozTDSbZUh1yFzsYK3wkQN68,420
|
94
|
+
spacr/resources/models/cp/toxo_pv_lumen.CP_model,sha256=2y_CindYhmTvVwBH39SNILF3rI3x9SsRn6qrMxHy3l0,26562451
|
95
|
+
spacr-0.2.8.dist-info/LICENSE,sha256=SR-2MeGc6SCM1UORJYyarSWY_A-JaOMFDj7ReSs9tRM,1083
|
96
|
+
spacr-0.2.8.dist-info/METADATA,sha256=6FX9b07eeM3Ogd2aSrRfgA3qKVW3d321cvsSEonD2Yk,5388
|
97
|
+
spacr-0.2.8.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
|
98
|
+
spacr-0.2.8.dist-info/entry_points.txt,sha256=BMC0ql9aNNpv8lUZ8sgDLQMsqaVnX5L535gEhKUP5ho,296
|
99
|
+
spacr-0.2.8.dist-info/top_level.txt,sha256=GJPU8FgwRXGzKeut6JopsSRY2R8T3i9lDgya42tLInY,6
|
100
|
+
spacr-0.2.8.dist-info/RECORD,,
|
spacr-0.2.4.dist-info/RECORD
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
spacr/__init__.py,sha256=pJ7Mm7Kb1DhHIdLmNgMILFVWJ9QAG47pT0M6wtiXl8E,1465
|
2
|
-
spacr/__main__.py,sha256=bkAJJD2kjIqOP-u1kLvct9jQQCeUXzlEjdgitwi1Lm8,75
|
3
|
-
spacr/app_annotate.py,sha256=nEIL7Fle9CDKGo3sucG_03DgjUQt5W1M1IHBIpVBr08,2171
|
4
|
-
spacr/app_classify.py,sha256=urTP_wlZ58hSyM5a19slYlBxN0PdC-9-ga0hvq8CGWc,165
|
5
|
-
spacr/app_make_masks.py,sha256=pqDhRpluiHZz-kPX2Zh_KbYe4TsU43qYBa_7f-rsjpw,1694
|
6
|
-
spacr/app_mask.py,sha256=l-dBY8ftzCMdDe6-pXc2Nh_u-idNL9G7UOARiLJBtds,153
|
7
|
-
spacr/app_measure.py,sha256=_K7APYIeOKpV6e_LcqabBjvEi7mfq9Fch8175x1x0k8,162
|
8
|
-
spacr/app_sequencing.py,sha256=DjG26jy4cpddnV8WOOAIiExtOe9MleVMY4MFa5uTo5w,157
|
9
|
-
spacr/app_umap.py,sha256=ZWAmf_OsIKbYvolYuWPMYhdlVe-n2CADoJulAizMiEo,153
|
10
|
-
spacr/chris.py,sha256=YlBjSgeZaY8HPy6jkrT_ISAnCMAKVfvCxF0I9eAZLFM,2418
|
11
|
-
spacr/core.py,sha256=iAH6de2dW0nKVtVeBjdWOhSW_KoHlVDVOoOsHb6vGC0,148884
|
12
|
-
spacr/deep_spacr.py,sha256=ASBsN4JpHp_3S-91JUsB34IWTjTGPYI7jKV2qZnUR5M,37005
|
13
|
-
spacr/graph_learning.py,sha256=1tR-ZxvXE3dBz1Saw7BeVFcrsUFu9OlUZeZVifih9eo,13070
|
14
|
-
spacr/gui.py,sha256=bA1Qy6D9aeL_Qe0Xeql8bRkbbFajAMGTZZR3uBzIW1Q,8495
|
15
|
-
spacr/gui_core.py,sha256=4II8TscaDHDvRXc4D-azQyAeVGNkqyN6_HaNhkjij4s,35546
|
16
|
-
spacr/gui_elements.py,sha256=Qo22e4t3Mut_hsHqBGlpyS4ZRThLhu0l_DurBXBgzW8,96354
|
17
|
-
spacr/gui_utils.py,sha256=ySSDDYmY80h_Wk2Nb1oxbugRU2TWt6N7BwusUl_-wRo,14970
|
18
|
-
spacr/io.py,sha256=Dehuqn_oGo0gcyezQIw9rUUvO7oOHDWuMkPDSCgyrp8,115521
|
19
|
-
spacr/logger.py,sha256=7Zqr3TuuOQLWT32gYr2q1qvv7x0a2JhLANmZcnBXAW8,670
|
20
|
-
spacr/measure.py,sha256=W5_yuLnsFSafuZNcKzVsCTJSTfpbNgrGTuxG1OVb0iU,55283
|
21
|
-
spacr/plot.py,sha256=DYJEoK1kz2ih6ZGvKiA3xTqeIeKQNhuQKwgrscopFxA,69101
|
22
|
-
spacr/sequencing.py,sha256=fHZRnoMSxmhMdadkei3lUeBdckqFyptWdQyWsDW3aaU,83304
|
23
|
-
spacr/settings.py,sha256=deX0pNwTqyHojpCTiF060RSK5oPeSEcS_s6UlVc0x3Q,65442
|
24
|
-
spacr/sim.py,sha256=FveaVgBi3eypO2oVB5Dx-v0CC1Ny7UPfXkJiiRRodAk,71212
|
25
|
-
spacr/sim_app.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
spacr/timelapse.py,sha256=KMYCgHzf9LTZe-lWl5mvH2EjbKRE6OhpwdY13wEumGc,39504
|
27
|
-
spacr/utils.py,sha256=r23Cd94HT3q1kMIbyEmyvJVnnDOY16plvUXVwxuX1PE,189256
|
28
|
-
spacr/version.py,sha256=axH5tnGwtgSnJHb5IDhiu4Zjk5GhLyAEDRe-rnaoFOA,409
|
29
|
-
spacr/resources/icons/abort.png,sha256=avtIRT7aCJsdZ1WnY_rZStm6cCji5bYPLnlptdcTNcM,6583
|
30
|
-
spacr/resources/icons/annotate.png,sha256=GFgh7DiUMwPG_-xE6W1qU8V_qzSwBi1xKenfoaQxeFA,15495
|
31
|
-
spacr/resources/icons/cellpose_all.png,sha256=HVWOIOBF8p3-On-2UahwMyQXp7awsoC5yWExU1ahDag,20271
|
32
|
-
spacr/resources/icons/cellpose_masks.png,sha256=HVWOIOBF8p3-On-2UahwMyQXp7awsoC5yWExU1ahDag,20271
|
33
|
-
spacr/resources/icons/classify.png,sha256=-iv4sqAwUVJO3CG6fHKHf3_BB0s-I2i4prg-iR7dSBM,35897
|
34
|
-
spacr/resources/icons/default.png,sha256=KoNhaSHukO4wDyivyYEgSbb5mGj-sAxmhKikLLtNpWs,20341
|
35
|
-
spacr/resources/icons/download.png,sha256=1nUoWRaTc4vIsK6gompdeqk0cIv2GdH-gCNHaEBX6Mc,20467
|
36
|
-
spacr/resources/icons/logo_spacr.png,sha256=g9y2ZmnV3hab8r1idDfytm8AaHbBiQdu_93Jd7YKzwA,610892
|
37
|
-
spacr/resources/icons/make_masks.png,sha256=iB4kaTgbgyygSJSNstVKhRIXKSgWYkeh7Gt3ox-kWDI,42493
|
38
|
-
spacr/resources/icons/map_barcodes.png,sha256=ED6yCopk3hP7tICSvT8U_qA1bOOb0WHqmxVkmRxnbtE,7896
|
39
|
-
spacr/resources/icons/mask.png,sha256=DcBes-3UJ7XjRfj_P4RttRp680ZKZeH9a-DSk7bIF5U,37658
|
40
|
-
spacr/resources/icons/measure.png,sha256=Gd-dlN-3Z8D_XngJnChNme8D63KEJMFs_cBv7wT2vOY,40938
|
41
|
-
spacr/resources/icons/ml_analyze.png,sha256=Wc9a_LpG2XffiMfXxn0yUmGP40IXzlAV7bHXQf7m_2o,15754
|
42
|
-
spacr/resources/icons/recruitment.png,sha256=dlVh2ebV_f3rhRFBiL0hDtlUeBSIeg0d4vny8A8IAdo,25067
|
43
|
-
spacr/resources/icons/regression.png,sha256=WIrKY4fSojBOCDkHno4Qb-KH7jcHh6G67dOKzczaU1I,42267
|
44
|
-
spacr/resources/icons/run.png,sha256=ICzyAvsRBCXNAbdn5N3PxCxxVyqxkfC4zOI5Zc8vbxQ,8974
|
45
|
-
spacr/resources/icons/sequencing.png,sha256=P9E_Y76ZysWMKst3_hAw-_4F510XPW1l1TsDElVzt4o,17775
|
46
|
-
spacr/resources/icons/settings.png,sha256=y5Ow5BxJDDsrqom0VNbOMDGGUs6odxbSMDy6y4r_F0w,22269
|
47
|
-
spacr/resources/icons/spacr_logo_rotation.gif,sha256=bgIx1Hx41Ob90SY-q3PBa3CSxtVRnF9XX-ApUSr0wvY,1502560
|
48
|
-
spacr/resources/icons/train_cellpose.png,sha256=_PZ_R_B6azuUACmscScAkugmgLZvCPKQFGIAsszqNLk,3858
|
49
|
-
spacr/resources/icons/umap.png,sha256=dOLF3DeLYy9k0nkUybiZMe1wzHQwLJFRmgccppw-8bI,27457
|
50
|
-
spacr/resources/models/cp/toxo_plaque_cyto_e25000_X1120_Y1120.CP_model,sha256=z8BbHWZPRnE9D_BHO0fBREE85c1vkltDs-incs2ytXQ,26566572
|
51
|
-
spacr/resources/models/cp/toxo_plaque_cyto_e25000_X1120_Y1120.CP_model_settings.csv,sha256=fBAGuL_B8ERVdVizO3BHozTDSbZUh1yFzsYK3wkQN68,420
|
52
|
-
spacr/resources/models/cp/toxo_pv_lumen.CP_model,sha256=2y_CindYhmTvVwBH39SNILF3rI3x9SsRn6qrMxHy3l0,26562451
|
53
|
-
spacr-0.2.4.dist-info/LICENSE,sha256=SR-2MeGc6SCM1UORJYyarSWY_A-JaOMFDj7ReSs9tRM,1083
|
54
|
-
spacr-0.2.4.dist-info/METADATA,sha256=CK0hbhbcv2TXBF8zRgO8fQRLnWDiEWPn5xmkjtfMSIQ,5049
|
55
|
-
spacr-0.2.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
56
|
-
spacr-0.2.4.dist-info/entry_points.txt,sha256=BMC0ql9aNNpv8lUZ8sgDLQMsqaVnX5L535gEhKUP5ho,296
|
57
|
-
spacr-0.2.4.dist-info/top_level.txt,sha256=GJPU8FgwRXGzKeut6JopsSRY2R8T3i9lDgya42tLInY,6
|
58
|
-
spacr-0.2.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|