dcnum 0.16.7__tar.gz → 0.16.8__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.
- {dcnum-0.16.7 → dcnum-0.16.8}/CHANGELOG +4 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/PKG-INFO +1 -1
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/_version.py +2 -2
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/event_extractor_manager_thread.py +1 -1
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/logic/ctrl.py +10 -8
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum.egg-info/PKG-INFO +1 -1
- {dcnum-0.16.7 → dcnum-0.16.8}/.github/workflows/check.yml +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/.github/workflows/deploy_pypi.yml +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/.gitignore +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/.readthedocs.yml +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/LICENSE +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/README.rst +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/docs/conf.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/docs/extensions/github_changelog.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/docs/index.rst +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/docs/requirements.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/pyproject.toml +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/setup.cfg +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_background/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_background/base.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_background/bg_copy.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_background/bg_roll_median.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_background/bg_sparse_median.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_brightness/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_brightness/bright_all.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_brightness/common.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_moments/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_moments/ct_opencv.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_moments/mt_legacy.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_texture/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_texture/common.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/feat_texture/tex_all.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/gate.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/feat/queue_event_extractor.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/logic/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/logic/job.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/logic/json_encoder.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/meta/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/meta/ppid.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/read/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/read/cache.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/read/const.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/read/hdf5_data.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/segm_thresh.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/segmenter.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/segmenter_cpu.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/segmenter_gpu.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/segm/segmenter_manager_thread.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/write/__init__.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/write/deque_writer_thread.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/write/queue_collector_thread.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum/write/writer.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum.egg-info/SOURCES.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum.egg-info/dependency_links.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum.egg-info/requires.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/src/dcnum.egg-info/top_level.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/conftest.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_cytoshot_extended-moments-features.zip +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_cytoshot_full-features_2023.zip +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_shapein_empty.zip +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_shapein_raw-with-variable-length-logs.zip +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/helper_methods.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/requirements.txt +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_background_base.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_background_bg_copy.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_background_bg_roll_median.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_background_bg_sparsemed.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_brightness.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_event_extractor_manager.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_gate.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_haralick.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_moments_based.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_feat_moments_based_extended.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_init.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_logic_job.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_logic_join.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_logic_json.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_logic_pipeline.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid_bg.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid_data.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid_feat.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid_gate.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_ppid_segm.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_read_basin.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_read_concat_hdf5.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_read_hdf5.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_segm_thresh.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_segmenter.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_write_deque_writer_thread.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_write_queue_collector_thread.py +0 -0
- {dcnum-0.16.7 → dcnum-0.16.8}/tests/test_write_writer.py +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
0.16.8
|
|
2
|
+
- fix: correctly set number of workers for CPUSegmenter
|
|
3
|
+
- enh: update list of environment variables that should be set to
|
|
4
|
+
disable multithreading in subprocesses
|
|
1
5
|
0.16.7
|
|
2
6
|
- fix: if the writer dequeue fills up, stall the feature extractor
|
|
3
7
|
- enh: optimize DequeWriterThread loop
|
|
@@ -99,7 +99,7 @@ class EventExtractorManagerThread(threading.Thread):
|
|
|
99
99
|
if ldq > 100:
|
|
100
100
|
stallsec = ldq / 100
|
|
101
101
|
self.logger.warning(
|
|
102
|
-
f"Stalling {stallsec:.1f}s for slow writer
|
|
102
|
+
f"Stalling {stallsec:.1f}s for slow writer")
|
|
103
103
|
time.sleep(stallsec)
|
|
104
104
|
|
|
105
105
|
cur_slot = 0
|
|
@@ -124,21 +124,23 @@ class DCNumJobRunner(threading.Thread):
|
|
|
124
124
|
self.logger = logging.getLogger(f"dcnum.Runner-{self.pphash[:2]}")
|
|
125
125
|
|
|
126
126
|
# Sanity checks
|
|
127
|
-
for os_env in [
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
"NUMBA_NUM_THREADS"]:
|
|
127
|
+
for os_env in ["MKL_NUM_THREADS", "NUMBA_NUM_THREADS",
|
|
128
|
+
"NUMEXPR_NUM_THREADS", "NUMPY_NUM_THREADS",
|
|
129
|
+
"OPENBLAS_NUM_THREADS", "OMP_NUM_THREADS",
|
|
130
|
+
"VECLIB_MAXIMUM_THREADS"]:
|
|
132
131
|
# You should disable multithreading for all major tools that
|
|
133
132
|
# use dcnum.logic. We don't want multithreading, because dcnum
|
|
134
133
|
# uses linear code and relies on multiprocessing for
|
|
135
134
|
# parallelization. This has to be done before importing numpy
|
|
136
135
|
# or any other library affected. In your scripts, you can use:
|
|
137
136
|
#
|
|
138
|
-
# os.environ.setdefault("OMP_NUM_THREADS", "1")
|
|
139
137
|
# os.environ.setdefault("MKL_NUM_THREADS", "1")
|
|
140
|
-
# os.environ.setdefault("NUMEXPR_NUM_THREADS", "1")
|
|
141
138
|
# os.environ.setdefault("NUMBA_NUM_THREADS", "1")
|
|
139
|
+
# os.environ.setdefault("NUMEXPR_NUM_THREADS", "1")
|
|
140
|
+
# os.environ.setdefault("NUMPY_NUM_THREADS", "1")
|
|
141
|
+
# os.environ.setdefault("OPENBLAS_NUM_THREADS", "1")
|
|
142
|
+
# os.environ.setdefault("OMP_NUM_THREADS", "1")
|
|
143
|
+
# os.environ.setdefault("VECLIB_MAXIMUM_THREADS", "1")
|
|
142
144
|
#
|
|
143
145
|
val_act = os.environ.get(os_env)
|
|
144
146
|
if val_act != "1":
|
|
@@ -515,7 +517,7 @@ class DCNumJobRunner(threading.Thread):
|
|
|
515
517
|
num_segmenters = 1
|
|
516
518
|
num_extractors = max(1, num_extractors)
|
|
517
519
|
num_segmenters = max(1, num_segmenters)
|
|
518
|
-
self.job["segmenter_kwargs"]["num_workers"] = num_segmenters
|
|
520
|
+
self.job.kwargs["segmenter_kwargs"]["num_workers"] = num_segmenters
|
|
519
521
|
|
|
520
522
|
slot_chunks = mp_spawn.Array("i", num_slots)
|
|
521
523
|
slot_states = mp_spawn.Array("u", num_slots)
|
|
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
|
|
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
|
{dcnum-0.16.7 → dcnum-0.16.8}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip
RENAMED
|
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
|
|
File without changes
|