dcnum 0.11.0__tar.gz → 0.11.1__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.

Potentially problematic release.


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

Files changed (71) hide show
  1. {dcnum-0.11.0 → dcnum-0.11.1}/CHANGELOG +2 -0
  2. {dcnum-0.11.0 → dcnum-0.11.1}/PKG-INFO +1 -1
  3. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/_version.py +2 -2
  4. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/segmenter.py +4 -2
  5. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/segmenter_gpu.py +16 -3
  6. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum.egg-info/PKG-INFO +1 -1
  7. {dcnum-0.11.0 → dcnum-0.11.1}/.github/workflows/check.yml +0 -0
  8. {dcnum-0.11.0 → dcnum-0.11.1}/.github/workflows/deploy_pypi.yml +0 -0
  9. {dcnum-0.11.0 → dcnum-0.11.1}/.gitignore +0 -0
  10. {dcnum-0.11.0 → dcnum-0.11.1}/.readthedocs.yml +0 -0
  11. {dcnum-0.11.0 → dcnum-0.11.1}/LICENSE +0 -0
  12. {dcnum-0.11.0 → dcnum-0.11.1}/README.rst +0 -0
  13. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/__init__.py +0 -0
  14. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/__init__.py +0 -0
  15. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/event_extractor_manager_thread.py +0 -0
  16. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_background/__init__.py +0 -0
  17. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_background/base.py +0 -0
  18. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_background/bg_roll_median.py +0 -0
  19. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_background/bg_sparse_median.py +0 -0
  20. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_brightness/__init__.py +0 -0
  21. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_brightness/bright_all.py +0 -0
  22. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_brightness/common.py +0 -0
  23. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_moments/__init__.py +0 -0
  24. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_moments/ct_opencv.py +0 -0
  25. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_moments/mt_legacy.py +0 -0
  26. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_texture/__init__.py +0 -0
  27. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_texture/common.py +0 -0
  28. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/feat_texture/tex_all.py +0 -0
  29. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/gate.py +0 -0
  30. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/feat/queue_event_extractor.py +0 -0
  31. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/meta/__init__.py +0 -0
  32. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/meta/ppid.py +0 -0
  33. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/read/__init__.py +0 -0
  34. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/read/cache.py +0 -0
  35. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/read/const.py +0 -0
  36. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/read/hdf5_data.py +0 -0
  37. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/__init__.py +0 -0
  38. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/segm_thresh.py +0 -0
  39. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/segmenter_cpu.py +0 -0
  40. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/segm/segmenter_manager_thread.py +0 -0
  41. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/write/__init__.py +0 -0
  42. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/write/deque_writer_thread.py +0 -0
  43. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/write/queue_collector_thread.py +0 -0
  44. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum/write/writer.py +0 -0
  45. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum.egg-info/SOURCES.txt +0 -0
  46. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum.egg-info/dependency_links.txt +0 -0
  47. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum.egg-info/requires.txt +0 -0
  48. {dcnum-0.11.0 → dcnum-0.11.1}/dcnum.egg-info/top_level.txt +0 -0
  49. {dcnum-0.11.0 → dcnum-0.11.1}/docs/conf.py +0 -0
  50. {dcnum-0.11.0 → dcnum-0.11.1}/docs/extensions/github_changelog.py +0 -0
  51. {dcnum-0.11.0 → dcnum-0.11.1}/docs/index.rst +0 -0
  52. {dcnum-0.11.0 → dcnum-0.11.1}/docs/requirements.txt +0 -0
  53. {dcnum-0.11.0 → dcnum-0.11.1}/pyproject.toml +0 -0
  54. {dcnum-0.11.0 → dcnum-0.11.1}/setup.cfg +0 -0
  55. {dcnum-0.11.0 → dcnum-0.11.1}/tests/conftest.py +0 -0
  56. {dcnum-0.11.0 → dcnum-0.11.1}/tests/data/fmt-hdf5_cytoshot_full-features_2023.zip +0 -0
  57. {dcnum-0.11.0 → dcnum-0.11.1}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip +0 -0
  58. {dcnum-0.11.0 → dcnum-0.11.1}/tests/helper_methods.py +0 -0
  59. {dcnum-0.11.0 → dcnum-0.11.1}/tests/requirements.txt +0 -0
  60. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_feat_background_bg_roll_median.py +0 -0
  61. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_feat_brightness.py +0 -0
  62. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_feat_haralick.py +0 -0
  63. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_feat_moments_based.py +0 -0
  64. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_init.py +0 -0
  65. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_ppid.py +0 -0
  66. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_ppid_segm.py +0 -0
  67. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_read_concat_hdf5.py +0 -0
  68. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_read_hdf5.py +0 -0
  69. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_segm_thresh.py +0 -0
  70. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_write_deque_writer_thread.py +0 -0
  71. {dcnum-0.11.0 → dcnum-0.11.1}/tests/test_write_writer.py +0 -0
@@ -1,3 +1,5 @@
1
+ 0.11.1
2
+ - fix: fix GPUSegmenter labeling
1
3
  0.11.0
2
4
  - feat: introduce GPUSegmenter base class
3
5
  - fix: handle bytes-values in HDF5 attributes
@@ -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,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)
@@ -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>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes