dcnum 0.21.0__tar.gz → 0.21.2__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 (105) hide show
  1. {dcnum-0.21.0 → dcnum-0.21.2}/CHANGELOG +4 -0
  2. {dcnum-0.21.0/src/dcnum.egg-info → dcnum-0.21.2}/PKG-INFO +1 -1
  3. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/_version.py +2 -2
  4. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/event_extractor_manager_thread.py +2 -2
  5. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/segmenter.py +8 -2
  6. {dcnum-0.21.0 → dcnum-0.21.2/src/dcnum.egg-info}/PKG-INFO +1 -1
  7. {dcnum-0.21.0 → dcnum-0.21.2}/.github/workflows/check.yml +0 -0
  8. {dcnum-0.21.0 → dcnum-0.21.2}/.github/workflows/deploy_pypi.yml +0 -0
  9. {dcnum-0.21.0 → dcnum-0.21.2}/.gitignore +0 -0
  10. {dcnum-0.21.0 → dcnum-0.21.2}/.readthedocs.yml +0 -0
  11. {dcnum-0.21.0 → dcnum-0.21.2}/LICENSE +0 -0
  12. {dcnum-0.21.0 → dcnum-0.21.2}/README.rst +0 -0
  13. {dcnum-0.21.0 → dcnum-0.21.2}/docs/conf.py +0 -0
  14. {dcnum-0.21.0 → dcnum-0.21.2}/docs/extensions/github_changelog.py +0 -0
  15. {dcnum-0.21.0 → dcnum-0.21.2}/docs/index.rst +0 -0
  16. {dcnum-0.21.0 → dcnum-0.21.2}/docs/requirements.txt +0 -0
  17. {dcnum-0.21.0 → dcnum-0.21.2}/pyproject.toml +0 -0
  18. {dcnum-0.21.0 → dcnum-0.21.2}/setup.cfg +0 -0
  19. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/__init__.py +0 -0
  20. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/__init__.py +0 -0
  21. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_background/__init__.py +0 -0
  22. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_background/base.py +0 -0
  23. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_background/bg_copy.py +0 -0
  24. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_background/bg_roll_median.py +0 -0
  25. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_background/bg_sparse_median.py +0 -0
  26. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_brightness/__init__.py +0 -0
  27. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_brightness/bright_all.py +0 -0
  28. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_brightness/common.py +0 -0
  29. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_contour/__init__.py +0 -0
  30. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_contour/contour.py +0 -0
  31. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_contour/moments.py +0 -0
  32. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_contour/volume.py +0 -0
  33. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_texture/__init__.py +0 -0
  34. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_texture/common.py +0 -0
  35. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/feat_texture/tex_all.py +0 -0
  36. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/gate.py +0 -0
  37. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/feat/queue_event_extractor.py +0 -0
  38. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/logic/__init__.py +0 -0
  39. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/logic/ctrl.py +0 -0
  40. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/logic/job.py +0 -0
  41. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/logic/json_encoder.py +0 -0
  42. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/meta/__init__.py +0 -0
  43. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/meta/paths.py +0 -0
  44. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/meta/ppid.py +0 -0
  45. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/read/__init__.py +0 -0
  46. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/read/cache.py +0 -0
  47. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/read/const.py +0 -0
  48. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/read/hdf5_data.py +0 -0
  49. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/read/mapped.py +0 -0
  50. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/__init__.py +0 -0
  51. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/segm_thresh.py +0 -0
  52. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/segmenter_cpu.py +0 -0
  53. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/segmenter_gpu.py +0 -0
  54. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/segm/segmenter_manager_thread.py +0 -0
  55. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/write/__init__.py +0 -0
  56. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/write/deque_writer_thread.py +0 -0
  57. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/write/queue_collector_thread.py +0 -0
  58. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum/write/writer.py +0 -0
  59. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum.egg-info/SOURCES.txt +0 -0
  60. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum.egg-info/dependency_links.txt +0 -0
  61. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum.egg-info/requires.txt +0 -0
  62. {dcnum-0.21.0 → dcnum-0.21.2}/src/dcnum.egg-info/top_level.txt +0 -0
  63. {dcnum-0.21.0 → dcnum-0.21.2}/tests/conftest.py +0 -0
  64. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_cytoshot_extended-moments-features.zip +0 -0
  65. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_cytoshot_full-features_2023.zip +0 -0
  66. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_cytoshot_full-features_2024.zip +0 -0
  67. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip +0 -0
  68. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_shapein_empty.zip +0 -0
  69. {dcnum-0.21.0 → dcnum-0.21.2}/tests/data/fmt-hdf5_shapein_raw-with-variable-length-logs.zip +0 -0
  70. {dcnum-0.21.0 → dcnum-0.21.2}/tests/helper_methods.py +0 -0
  71. {dcnum-0.21.0 → dcnum-0.21.2}/tests/requirements.txt +0 -0
  72. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_background_base.py +0 -0
  73. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_background_bg_copy.py +0 -0
  74. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_background_bg_roll_median.py +0 -0
  75. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_background_bg_sparsemed.py +0 -0
  76. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_brightness.py +0 -0
  77. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_event_extractor_manager.py +0 -0
  78. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_gate.py +0 -0
  79. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_haralick.py +0 -0
  80. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_moments_based.py +0 -0
  81. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_moments_based_extended.py +0 -0
  82. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_feat_volume.py +0 -0
  83. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_init.py +0 -0
  84. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_logic_job.py +0 -0
  85. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_logic_join.py +0 -0
  86. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_logic_json.py +0 -0
  87. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_logic_pipeline.py +0 -0
  88. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_paths.py +0 -0
  89. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_base.py +0 -0
  90. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_bg.py +0 -0
  91. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_data.py +0 -0
  92. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_feat.py +0 -0
  93. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_gate.py +0 -0
  94. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_meta_ppid_segm.py +0 -0
  95. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_read_basin.py +0 -0
  96. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_read_concat_hdf5.py +0 -0
  97. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_read_hdf5.py +0 -0
  98. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_read_hdf5_basins.py +0 -0
  99. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_read_hdf5_index_mapping.py +0 -0
  100. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_segm_base.py +0 -0
  101. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_segm_no_mask_proc.py +0 -0
  102. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_segm_thresh.py +0 -0
  103. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_write_deque_writer_thread.py +0 -0
  104. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_write_queue_collector_thread.py +0 -0
  105. {dcnum-0.21.0 → dcnum-0.21.2}/tests/test_write_writer.py +0 -0
@@ -1,3 +1,7 @@
1
+ 0.21.2
2
+ - fix: negative argument for time.sleep
3
+ 0.21.1
4
+ - enh: support boolean images in mask postprocessing
1
5
  0.21.0
2
6
  - fix: GPUSegmenter did not perform mask postprocessing
3
7
  - ref: enable mask postprocessing by default for all segmenters
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.21.0
3
+ Version: 0.21.2
4
4
  Summary: numerics toolbox for imaging deformability cytometry
5
5
  Author: Maximilian Schlögel, Paul Müller
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.21.0'
16
- __version_tuple__ = version_tuple = (0, 21, 0)
15
+ __version__ = version = '0.21.2'
16
+ __version_tuple__ = version_tuple = (0, 21, 2)
@@ -98,8 +98,8 @@ class EventExtractorManagerThread(threading.Thread):
98
98
  if (ldq := len(self.writer_dq)) > 1000:
99
99
  time.sleep(1)
100
100
  ldq2 = len(self.writer_dq)
101
- stall_time = (ldq2 - 200) / (ldq - ldq2) if ldq2 > 200 else 0
102
- time.sleep(stall_time)
101
+ stall_time = (ldq2 - 200) / (ldq - ldq2)
102
+ time.sleep(stall_time if stall_time > 0 else 0)
103
103
  self.logger.warning(
104
104
  f"Stalled {stall_time + 1:.1f}s for slow writer "
105
105
  f"({ldq} chunks queued)")
@@ -184,8 +184,8 @@ class Segmenter(abc.ABC):
184
184
 
185
185
  Parameters
186
186
  ----------
187
- labels: 2d integer ndarray
188
- Labeled input (contains blobs with same number)
187
+ labels: 2d integer or boolean ndarray
188
+ Labeled input (contains blobs consisting of unique numbers)
189
189
  clear_border: bool
190
190
  clear the image boarder using
191
191
  :func:`skimage.segmentation.clear_border`
@@ -196,6 +196,12 @@ class Segmenter(abc.ABC):
196
196
  if > 0, perform a binary closing with a disk
197
197
  of that radius in pixels
198
198
  """
199
+ if labels.dtype == np.bool_:
200
+ # Convert mask image to labels
201
+ labels, _ = ndi.label(
202
+ input=labels,
203
+ structure=ndi.generate_binary_structure(2, 2))
204
+
199
205
  if clear_border:
200
206
  #
201
207
  # from skimage import segmentation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.21.0
3
+ Version: 0.21.2
4
4
  Summary: numerics toolbox for imaging deformability cytometry
5
5
  Author: Maximilian Schlögel, 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
File without changes
File without changes
File without changes