dcnum 0.11.4__tar.gz → 0.11.6__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 (73) hide show
  1. {dcnum-0.11.4 → dcnum-0.11.6}/CHANGELOG +4 -0
  2. {dcnum-0.11.4 → dcnum-0.11.6}/PKG-INFO +1 -1
  3. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/_version.py +2 -2
  4. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/queue_event_extractor.py +15 -1
  5. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/write/queue_collector_thread.py +8 -3
  6. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum.egg-info/PKG-INFO +1 -1
  7. dcnum-0.11.6/dcnum.egg-info/top_level.txt +1 -0
  8. {dcnum-0.11.4 → dcnum-0.11.6}/pyproject.toml +0 -3
  9. dcnum-0.11.4/dcnum.egg-info/top_level.txt +0 -4
  10. {dcnum-0.11.4 → dcnum-0.11.6}/.github/workflows/check.yml +0 -0
  11. {dcnum-0.11.4 → dcnum-0.11.6}/.github/workflows/deploy_pypi.yml +0 -0
  12. {dcnum-0.11.4 → dcnum-0.11.6}/.gitignore +0 -0
  13. {dcnum-0.11.4 → dcnum-0.11.6}/.readthedocs.yml +0 -0
  14. {dcnum-0.11.4 → dcnum-0.11.6}/LICENSE +0 -0
  15. {dcnum-0.11.4 → dcnum-0.11.6}/README.rst +0 -0
  16. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/__init__.py +0 -0
  17. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/__init__.py +0 -0
  18. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/event_extractor_manager_thread.py +0 -0
  19. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_background/__init__.py +0 -0
  20. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_background/base.py +0 -0
  21. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_background/bg_roll_median.py +0 -0
  22. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_background/bg_sparse_median.py +0 -0
  23. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_brightness/__init__.py +0 -0
  24. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_brightness/bright_all.py +0 -0
  25. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_brightness/common.py +0 -0
  26. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_moments/__init__.py +0 -0
  27. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_moments/ct_opencv.py +0 -0
  28. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_moments/mt_legacy.py +0 -0
  29. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_texture/__init__.py +0 -0
  30. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_texture/common.py +0 -0
  31. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/feat_texture/tex_all.py +0 -0
  32. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/feat/gate.py +0 -0
  33. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/meta/__init__.py +0 -0
  34. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/meta/ppid.py +0 -0
  35. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/read/__init__.py +0 -0
  36. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/read/cache.py +0 -0
  37. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/read/const.py +0 -0
  38. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/read/hdf5_data.py +0 -0
  39. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/__init__.py +0 -0
  40. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/segm_thresh.py +0 -0
  41. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/segmenter.py +0 -0
  42. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/segmenter_cpu.py +0 -0
  43. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/segmenter_gpu.py +0 -0
  44. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/segm/segmenter_manager_thread.py +0 -0
  45. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/write/__init__.py +0 -0
  46. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/write/deque_writer_thread.py +0 -0
  47. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum/write/writer.py +0 -0
  48. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum.egg-info/SOURCES.txt +0 -0
  49. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum.egg-info/dependency_links.txt +0 -0
  50. {dcnum-0.11.4 → dcnum-0.11.6}/dcnum.egg-info/requires.txt +0 -0
  51. {dcnum-0.11.4 → dcnum-0.11.6}/docs/conf.py +0 -0
  52. {dcnum-0.11.4 → dcnum-0.11.6}/docs/extensions/github_changelog.py +0 -0
  53. {dcnum-0.11.4 → dcnum-0.11.6}/docs/index.rst +0 -0
  54. {dcnum-0.11.4 → dcnum-0.11.6}/docs/requirements.txt +0 -0
  55. {dcnum-0.11.4 → dcnum-0.11.6}/setup.cfg +0 -0
  56. {dcnum-0.11.4 → dcnum-0.11.6}/tests/conftest.py +0 -0
  57. {dcnum-0.11.4 → dcnum-0.11.6}/tests/data/fmt-hdf5_cytoshot_full-features_2023.zip +0 -0
  58. {dcnum-0.11.4 → dcnum-0.11.6}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip +0 -0
  59. {dcnum-0.11.4 → dcnum-0.11.6}/tests/helper_methods.py +0 -0
  60. {dcnum-0.11.4 → dcnum-0.11.6}/tests/requirements.txt +0 -0
  61. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_feat_background_bg_roll_median.py +0 -0
  62. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_feat_brightness.py +0 -0
  63. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_feat_haralick.py +0 -0
  64. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_feat_moments_based.py +0 -0
  65. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_init.py +0 -0
  66. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_ppid.py +0 -0
  67. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_ppid_segm.py +0 -0
  68. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_read_concat_hdf5.py +0 -0
  69. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_read_hdf5.py +0 -0
  70. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_segm_thresh.py +0 -0
  71. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_segmenter.py +0 -0
  72. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_write_deque_writer_thread.py +0 -0
  73. {dcnum-0.11.4 → dcnum-0.11.6}/tests/test_write_writer.py +0 -0
@@ -1,3 +1,7 @@
1
+ 0.11.6
2
+ - enh: add more debugging messages for feature extraction workers
3
+ 0.11.5
4
+ - setup: fix bad package discovery
1
5
  0.11.4
2
6
  - fix: properly handle empty logs
3
7
  0.11.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.11.4
3
+ Version: 0.11.6
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.4'
4
- __version_tuple__ = version_tuple = (0, 11, 4)
3
+ __version__ = version = '0.11.6'
4
+ __version_tuple__ = version_tuple = (0, 11, 6)
@@ -257,7 +257,21 @@ class QueueEventExtractor:
257
257
  if self.finalize_extraction.value:
258
258
  # The manager told us that there is nothing more coming.
259
259
  self.logger.debug(
260
- f"Finalizing worker {self} with PID {os.getpid()}")
260
+ f"Finalizing worker {self} with PID {os.getpid()}. "
261
+ f"{self.event_queue.qsize()} events are still queued.")
262
+ # Tell the queue background thread to flush all data to
263
+ # the queue. The background thread will quit once it has
264
+ # flushed all buffered data to the pipe.
265
+ self.event_queue.close()
266
+ self.logger.debug(
267
+ f"Closed event queue from Process PID {os.getpid()}")
268
+ # Join the queue background thread. It blocks until the
269
+ # background thread exits, ensuring that all data in the
270
+ # buffer has been flushed to the pipe.
271
+ self.event_queue.join_thread()
272
+ self.logger.debug(
273
+ f"Joined event queue background thread from"
274
+ f"Process PID {os.getpid()}")
261
275
  break
262
276
  else:
263
277
  try:
@@ -183,12 +183,14 @@ class QueueCollectorThread(threading.Thread):
183
183
  continue
184
184
 
185
185
  if len(cur_nevents) == 0:
186
- self.logger.warning("Encountered empty nevents array!")
186
+ self.logger.info(
187
+ "Reached the end of the current dataset (frame "
188
+ f"{cur_frame + 1} of {len(self.feat_nevents)}).")
187
189
  break
188
190
 
189
191
  # We have reached the writer threshold. This means the extractor
190
192
  # has analyzed at least `write_threshold` frames (not events).
191
- self.logger.debug(f"Current frane: {cur_frame}")
193
+ self.logger.debug(f"Current frame: {cur_frame}")
192
194
 
193
195
  # Create an event stash
194
196
  stash = EventStash(
@@ -214,6 +216,7 @@ class QueueCollectorThread(threading.Thread):
214
216
  try:
215
217
  idx, events = self.event_queue.get(timeout=.3)
216
218
  except queue.Empty:
219
+ # No time.sleep here, because we are using timeout above.
217
220
  continue
218
221
  if cur_frame <= idx < cur_frame + self.write_threshold:
219
222
  stash.add_events(index=idx, events=events)
@@ -253,6 +256,8 @@ class QueueCollectorThread(threading.Thread):
253
256
 
254
257
  # Write the number of events.
255
258
  self.writer_dq.append(("nevents",
259
+ # Get nevents for each event from the
260
+ # frame-based cur_nevents array.
256
261
  np.array(stash.feat_nevents)[
257
262
  indices - stash.index_offset]
258
263
  ))
@@ -261,4 +266,4 @@ class QueueCollectorThread(threading.Thread):
261
266
  self.written_frames += stash.num_frames
262
267
 
263
268
  # Increment current frame index.
264
- cur_frame += self.write_threshold
269
+ cur_frame += len(cur_nevents)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.11.4
3
+ Version: 0.11.6
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>
@@ -0,0 +1 @@
1
+ dcnum
@@ -40,9 +40,6 @@ tracker = "https://github.com/DC-Analysis/dcnum/issues"
40
40
  documentation = "https://dcnum.readthedocs.io/en/stable/"
41
41
  changelog = "https://dcnum.readthedocs.io/en/stable/sec_changelog.html"
42
42
 
43
- [tool.setuptools.packages]
44
- find = {}
45
-
46
43
  [tool.setuptools_scm]
47
44
  write_to = "dcnum/_version.py"
48
45
  version_scheme = "post-release"
@@ -1,4 +0,0 @@
1
- dcnum
2
- dist
3
- docs
4
- tests
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