dcnum 0.11.0__py3-none-any.whl → 0.11.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dcnum might be problematic. Click here for more details.

dcnum/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # file generated by setuptools_scm
2
2
  # don't change, don't track in version control
3
- __version__ = version = '0.11.0'
4
- __version_tuple__ = version_tuple = (0, 11, 0)
3
+ __version__ = version = '0.11.1'
4
+ __version_tuple__ = version_tuple = (0, 11, 1)
dcnum/segm/segmenter.py CHANGED
@@ -173,7 +173,9 @@ class Segmenter(abc.ABC):
173
173
  labels_uint8 = np.array(labels, dtype=np.uint8)
174
174
  labels_dilated = cv2.dilate(labels_uint8, element)
175
175
  labels_eroded = cv2.erode(labels_dilated, element)
176
- labels, _ = ndi.label(labels_eroded > 0)
176
+ labels, _ = ndi.label(
177
+ input=labels_eroded > 0,
178
+ structure=ndi.generate_binary_structure(2, 2))
177
179
 
178
180
  if fill_holes:
179
181
  # Floodfill only works with uint8 (too small) or int32
@@ -206,7 +208,7 @@ class Segmenter(abc.ABC):
206
208
  mol = segm_wrap(image)
207
209
  if mol.dtype == bool:
208
210
  # convert mask to label
209
- labels, num_labels = ndi.label(
211
+ labels, _ = ndi.label(
210
212
  input=mol,
211
213
  structure=ndi.generate_binary_structure(2, 2))
212
214
  else:
@@ -2,6 +2,7 @@ import abc
2
2
  import pathlib
3
3
 
4
4
  import numpy as np
5
+ import scipy.ndimage as ndi
5
6
 
6
7
 
7
8
  from .segmenter import Segmenter
@@ -10,7 +11,7 @@ from .segmenter import Segmenter
10
11
  class GPUSegmenter(Segmenter, abc.ABC):
11
12
  mask_postprocessing = False
12
13
 
13
- def __init__(self, model_file, *args, **kwargs):
14
+ def __init__(self, model_file=None, *args, **kwargs):
14
15
  super(GPUSegmenter, self).__init__(*args, **kwargs)
15
16
  self.model_path = self._get_model_path(model_file)
16
17
 
@@ -28,6 +29,18 @@ class GPUSegmenter(Segmenter, abc.ABC):
28
29
  stop = len(image_data)
29
30
 
30
31
  image_slice = image_data[start:stop]
31
- segm = self.segment_frame_wrapper(self.model_path)
32
+ segm = self.segment_frame_wrapper()
32
33
 
33
- return segm(image_slice)
34
+ labels = segm(image_slice)
35
+
36
+ # Make sure we have integer labels
37
+ if labels.dtype == bool:
38
+ new_labels = np.zeros_like(labels, dtype=np.uint16)
39
+ for ii in range(len(labels)):
40
+ ndi.label(
41
+ input=labels[ii],
42
+ output=new_labels[ii],
43
+ structure=ndi.generate_binary_structure(2, 2))
44
+ labels = new_labels
45
+
46
+ return labels
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.11.0
3
+ Version: 0.11.1
4
4
  Summary: numerics toolbox for imaging deformability cytometry
5
5
  Author: Paul Müller
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
@@ -1,5 +1,5 @@
1
1
  dcnum/__init__.py,sha256=hcawIKS7utYiOyVhOAX9t7K3xYzP1b9862VV0b6qSrQ,74
2
- dcnum/_version.py,sha256=Zl7Bo-WQiiNZwnp-zeuyFKzcZ9ykPaawnk_0wuzNx2I,162
2
+ dcnum/_version.py,sha256=faVe-ZqiCxNFY2N3XG4067QpoPpTt1Bvjudys2n4bGY,162
3
3
  dcnum/feat/__init__.py,sha256=0oX765AyfL1BcVt-FI6R_i6x5LgYYLeyO5lkxSauI0Y,299
4
4
  dcnum/feat/event_extractor_manager_thread.py,sha256=lu0Xw64JiSRYMPRnW7GJQwuX56mfELZaZ7DOqUYIrcQ,5458
5
5
  dcnum/feat/gate.py,sha256=UEHbj3hkMWNm4tlY8Tz8sOsruhByjJxgO1s-ztQ7WTw,6235
@@ -25,9 +25,9 @@ dcnum/read/const.py,sha256=SVlvEJiRIHyTyUlWG24_ogcnT5nTxCi0CRslNuNP56I,282
25
25
  dcnum/read/hdf5_data.py,sha256=vTft5pCaI4dr8kqclWDdA5vA7XFHnQ7GQcAGn7hx9KQ,11702
26
26
  dcnum/segm/__init__.py,sha256=BNFn7VvWsRmOzxCtvr4AXi3mmWsJSsQlEmGlq7umCac,510
27
27
  dcnum/segm/segm_thresh.py,sha256=fim5HRNWq0DUhVRwLf6nmu4gOHAFtydGDRS1Ww_XzFo,1134
28
- dcnum/segm/segmenter.py,sha256=dvCHFkxk-Xe5UupgJ609NK2iDB9BkyXBc6OVYBRghIg,8929
28
+ dcnum/segm/segmenter.py,sha256=5YAwkFOA8UcdEDEXQ-DP1YvDTnlSKFwg-XQRNwJc140,9006
29
29
  dcnum/segm/segmenter_cpu.py,sha256=O9t9SYenZz8Cbu9FIAxv8uU8cebQVUp1Abe4Rf53tKE,9626
30
- dcnum/segm/segmenter_gpu.py,sha256=LoFCjIW3-XQ79O0HJspJkDpIXc7qf3jTQz5jkFnkK24,879
30
+ dcnum/segm/segmenter_gpu.py,sha256=F-6H425eQc9B2-k5PURJziU5uQubdF96GTkoysD2JDM,1312
31
31
  dcnum/segm/segmenter_manager_thread.py,sha256=-GsNJrljPOvDLRJLe0OB6AObQVIRo1xj5nnR_j-nOnA,4951
32
32
  dcnum/write/__init__.py,sha256=Oy-ORTyzUUswsaJvd0C6LyXtOgAY0iTIRqFNU9d7M8Y,160
33
33
  dcnum/write/deque_writer_thread.py,sha256=UUn5OYxDvckvhLw3llLYu7y8MI7RfsOhdJhMonKKB3k,1625
@@ -54,8 +54,8 @@ tests/test_write_deque_writer_thread.py,sha256=EAnqKayr4_jskv_599QYD3gdBZhtyVM7-
54
54
  tests/test_write_writer.py,sha256=SzNTLsHz4RZceRwqflc4Wfn02vYc4Hb4WQVk1X8dmiw,1107
55
55
  tests/data/fmt-hdf5_cytoshot_full-features_2023.zip,sha256=LfkFxAXTIkcqxrJYYNMC364Q1x5HT5X9cTHuNz5eeuk,650653
56
56
  tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip,sha256=z2Bk6u3wjr-bJa7sOxBcNKOQ0Zoi3Xmf_cMi6d-3CMk,154010
57
- dcnum-0.11.0.dist-info/LICENSE,sha256=YRChA1C8A2E-amJbudwMcbTCZy_HzmeY0hMIvduh1MM,1089
58
- dcnum-0.11.0.dist-info/METADATA,sha256=B2F6UhQaUvCBD_WQUNCoEj2YcptDKkaHhsey9cdJUhc,2180
59
- dcnum-0.11.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
60
- dcnum-0.11.0.dist-info/top_level.txt,sha256=Utc_P-_-7hbtniTp00IsHTry4h3rY5KFmwHfYM9g44k,22
61
- dcnum-0.11.0.dist-info/RECORD,,
57
+ dcnum-0.11.1.dist-info/LICENSE,sha256=YRChA1C8A2E-amJbudwMcbTCZy_HzmeY0hMIvduh1MM,1089
58
+ dcnum-0.11.1.dist-info/METADATA,sha256=4z1DpHSXes9Ka1AVn9PyaD_-46x9pykbL47oovbhylg,2180
59
+ dcnum-0.11.1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
60
+ dcnum-0.11.1.dist-info/top_level.txt,sha256=Utc_P-_-7hbtniTp00IsHTry4h3rY5KFmwHfYM9g44k,22
61
+ dcnum-0.11.1.dist-info/RECORD,,
File without changes