dclab 0.62.6__cp38-cp38-win_amd64.whl → 0.62.8__cp38-cp38-win_amd64.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 dclab might be problematic. Click here for more details.
- dclab/_version.py +2 -2
- dclab/definitions/meta_const.py +11 -1
- dclab/downsampling.cp38-win_amd64.pyd +0 -0
- dclab/external/skimage/_find_contours_cy.cp38-win_amd64.pyd +0 -0
- dclab/external/skimage/_pnpoly.cp38-win_amd64.pyd +0 -0
- dclab/external/skimage/_shared/geometry.cp38-win_amd64.pyd +0 -0
- dclab/rtdc_dataset/check.py +15 -4
- dclab/rtdc_dataset/copier.py +64 -19
- dclab/rtdc_dataset/export.py +1 -0
- dclab/rtdc_dataset/feat_basin.py +18 -2
- dclab/rtdc_dataset/fmt_hdf5/base.py +7 -2
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/METADATA +1 -1
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/RECORD +17 -17
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/WHEEL +1 -1
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/LICENSE +0 -0
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/entry_points.txt +0 -0
- {dclab-0.62.6.dist-info → dclab-0.62.8.dist-info}/top_level.txt +0 -0
dclab/_version.py
CHANGED
dclab/definitions/meta_const.py
CHANGED
|
@@ -161,7 +161,17 @@ CFG_METADATA = {
|
|
|
161
161
|
["subtract mean", fbool, "Subtract mean before processing"],
|
|
162
162
|
# pipeline_kws
|
|
163
163
|
["filter name", str, "Fourier filter used"],
|
|
164
|
-
#
|
|
164
|
+
# qpretrieve defines the keyword argument `filter_size_interpretation`
|
|
165
|
+
# for determining the filter size in Fourier space. In DC, we
|
|
166
|
+
# need a well-defined value for the filter size. The most logical
|
|
167
|
+
# choice is to interpret the filter size as "frequency index", which
|
|
168
|
+
# is independent of the image shape and yields a good approximation
|
|
169
|
+
# of the actual resolution one can expect. The default value
|
|
170
|
+
# ("sideband distance") is a good choice for general QPI analysis,
|
|
171
|
+
# but there is no meaningful information one could extract from it
|
|
172
|
+
# by just looking at the number. Thus, the "filter size" that we
|
|
173
|
+
# see here corresponds to a filter size set in qpretrieve where
|
|
174
|
+
# `filter_size_interpretation="frequency index"`.
|
|
165
175
|
["filter size", float, "Fourier filter size [1/pix]"],
|
|
166
176
|
["scale to filter", fboolorfloat, "Scale QPI data to filter size"],
|
|
167
177
|
# x, y coordinates, don't set if you wish None to be the default
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
dclab/rtdc_dataset/check.py
CHANGED
|
@@ -193,7 +193,7 @@ class IntegrityChecker(object):
|
|
|
193
193
|
else:
|
|
194
194
|
with warnings.catch_warnings(record=True) as ws:
|
|
195
195
|
warnings.simplefilter("always")
|
|
196
|
-
self.ds = load_file(path_or_ds)
|
|
196
|
+
self.ds = load_file(path_or_ds, enable_basins=False)
|
|
197
197
|
for ww in ws:
|
|
198
198
|
self.warn_cues.append(ICue(
|
|
199
199
|
msg=f"{ww.category.__name__}: {ww.message}",
|
|
@@ -260,13 +260,24 @@ class IntegrityChecker(object):
|
|
|
260
260
|
level="alert",
|
|
261
261
|
category="basin data",
|
|
262
262
|
))
|
|
263
|
-
|
|
264
|
-
if
|
|
263
|
+
else:
|
|
264
|
+
if "basin_events" not in self.ds.h5file:
|
|
265
265
|
cues.append(
|
|
266
|
-
ICue(msg=
|
|
266
|
+
ICue(msg="Missing internal basin group "
|
|
267
|
+
"'basin_events', although an internal "
|
|
268
|
+
"basin is defined",
|
|
267
269
|
level="violation",
|
|
268
270
|
category="basin data",
|
|
269
271
|
))
|
|
272
|
+
else:
|
|
273
|
+
for feat in bn["features"]:
|
|
274
|
+
if feat not in self.ds.h5file["basin_events"]:
|
|
275
|
+
cues.append(
|
|
276
|
+
ICue(msg=f"Missing internal basin "
|
|
277
|
+
f"feature {feat}",
|
|
278
|
+
level="violation",
|
|
279
|
+
category="basin data",
|
|
280
|
+
))
|
|
270
281
|
return cues
|
|
271
282
|
|
|
272
283
|
def check_compression(self, **kwargs):
|
dclab/rtdc_dataset/copier.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Helper methods for copying .rtdc data"""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
+
import json
|
|
4
5
|
import re
|
|
5
6
|
from typing import List, Literal
|
|
6
7
|
|
|
@@ -10,8 +11,10 @@ import hdf5plugin
|
|
|
10
11
|
import numpy as np
|
|
11
12
|
|
|
12
13
|
from ..definitions import feature_exists, scalar_feature_exists
|
|
14
|
+
from ..util import hashobj
|
|
13
15
|
|
|
14
|
-
from .fmt_hdf5 import DEFECTIVE_FEATURES
|
|
16
|
+
from .fmt_hdf5 import DEFECTIVE_FEATURES, RTDC_HDF5
|
|
17
|
+
from .writer import RTDCWriter
|
|
15
18
|
|
|
16
19
|
|
|
17
20
|
def rtdc_copy(src_h5file: h5py.Group,
|
|
@@ -44,8 +47,7 @@ def rtdc_copy(src_h5file: h5py.Group,
|
|
|
44
47
|
Add this prefix to the name of the logs and tables in `dst_h5file`.
|
|
45
48
|
"""
|
|
46
49
|
# metadata
|
|
47
|
-
|
|
48
|
-
dst_h5file.attrs[akey] = src_h5file.attrs[akey]
|
|
50
|
+
dst_h5file.attrs.update(src_h5file.attrs)
|
|
49
51
|
|
|
50
52
|
# events in source file
|
|
51
53
|
if "events" in src_h5file:
|
|
@@ -57,19 +59,6 @@ def rtdc_copy(src_h5file: h5py.Group,
|
|
|
57
59
|
events_src += list(src_h5file["basin_events"].keys())
|
|
58
60
|
events_src = sorted(set(events_src))
|
|
59
61
|
|
|
60
|
-
# basins
|
|
61
|
-
if include_basins and "basins" in src_h5file:
|
|
62
|
-
dst_h5file.require_group("basins")
|
|
63
|
-
for b_key in src_h5file["basins"]:
|
|
64
|
-
if b_key in dst_h5file["basins"]:
|
|
65
|
-
# This basin already exists.
|
|
66
|
-
continue
|
|
67
|
-
h5ds_copy(src_loc=src_h5file["basins"],
|
|
68
|
-
src_name=b_key,
|
|
69
|
-
dst_loc=dst_h5file["basins"],
|
|
70
|
-
dst_name=b_key,
|
|
71
|
-
recursive=False)
|
|
72
|
-
|
|
73
62
|
# logs
|
|
74
63
|
if include_logs and "logs" in src_h5file:
|
|
75
64
|
dst_h5file.require_group("logs")
|
|
@@ -94,11 +83,12 @@ def rtdc_copy(src_h5file: h5py.Group,
|
|
|
94
83
|
# dst_loc=dst_h5file["tables"],
|
|
95
84
|
# dst_name=meta_prefix + tkey,
|
|
96
85
|
# recursive=False)
|
|
97
|
-
dst_h5file["tables"].create_dataset(
|
|
86
|
+
copy_table = dst_h5file["tables"].create_dataset(
|
|
98
87
|
name=tkey,
|
|
99
88
|
data=src_h5file["tables"][tkey][:],
|
|
100
89
|
fletcher32=True,
|
|
101
90
|
**hdf5plugin.Zstd(clevel=5))
|
|
91
|
+
copy_table.attrs.update(src_h5file["tables"][tkey].attrs)
|
|
102
92
|
|
|
103
93
|
# events
|
|
104
94
|
if isinstance(features, list):
|
|
@@ -130,6 +120,12 @@ def rtdc_copy(src_h5file: h5py.Group,
|
|
|
130
120
|
if feat in feature_iter:
|
|
131
121
|
feature_iter.remove(feat)
|
|
132
122
|
|
|
123
|
+
# copy basin definitions
|
|
124
|
+
if include_basins and "basins" in src_h5file:
|
|
125
|
+
basin_definition_copy(src_h5file=src_h5file,
|
|
126
|
+
dst_h5file=dst_h5file,
|
|
127
|
+
features_iter=feature_iter)
|
|
128
|
+
|
|
133
129
|
if feature_iter:
|
|
134
130
|
dst_h5file.require_group("events")
|
|
135
131
|
for feat in feature_iter:
|
|
@@ -170,6 +166,56 @@ def rtdc_copy(src_h5file: h5py.Group,
|
|
|
170
166
|
)
|
|
171
167
|
|
|
172
168
|
|
|
169
|
+
def basin_definition_copy(src_h5file, dst_h5file, features_iter):
|
|
170
|
+
"""Copy basin definitions `src_h5file["basins"]` to the new file
|
|
171
|
+
|
|
172
|
+
Normally, we would just use :func:`h5ds_copy` to copy basins from
|
|
173
|
+
one dataset to another. However, if we are e.g. only copying scalar
|
|
174
|
+
features, and there are non-scalar features in the internal basin,
|
|
175
|
+
then we must rewrite the basin definition of the internal basin.
|
|
176
|
+
|
|
177
|
+
The `features_iter` list of features defines which features are
|
|
178
|
+
relevant for the internal basin.
|
|
179
|
+
"""
|
|
180
|
+
dst_h5file.require_group("basins")
|
|
181
|
+
for b_key in src_h5file["basins"]:
|
|
182
|
+
if b_key in dst_h5file["basins"]:
|
|
183
|
+
# This basin already exists.
|
|
184
|
+
continue
|
|
185
|
+
# Load the basin information
|
|
186
|
+
basin_dicts = RTDC_HDF5.basin_get_dicts_from_h5file(src_h5file)
|
|
187
|
+
for bn in basin_dicts:
|
|
188
|
+
if bn["type"] == "internal":
|
|
189
|
+
# Make sure we define the internal features selected
|
|
190
|
+
feat_used = [f for f in bn["features"] if f in features_iter]
|
|
191
|
+
if len(feat_used) == 0:
|
|
192
|
+
# We don't have any internal features, don't write anything
|
|
193
|
+
continue
|
|
194
|
+
elif feat_used != bn["features"]:
|
|
195
|
+
bn["features"] = feat_used
|
|
196
|
+
rewrite = True
|
|
197
|
+
else:
|
|
198
|
+
rewrite = False
|
|
199
|
+
else:
|
|
200
|
+
# We do not have an internal basin, just copy everything
|
|
201
|
+
rewrite = False
|
|
202
|
+
|
|
203
|
+
if rewrite:
|
|
204
|
+
# Convert edited `bn` to JSON and write feature data
|
|
205
|
+
b_lines = json.dumps(bn, indent=2).split("\n")
|
|
206
|
+
key = hashobj(b_lines)
|
|
207
|
+
if key not in dst_h5file["basins"]:
|
|
208
|
+
with RTDCWriter(dst_h5file) as hw:
|
|
209
|
+
hw.write_text(dst_h5file["basins"], key, b_lines)
|
|
210
|
+
else:
|
|
211
|
+
# copy only
|
|
212
|
+
h5ds_copy(src_loc=src_h5file["basins"],
|
|
213
|
+
src_name=b_key,
|
|
214
|
+
dst_loc=dst_h5file["basins"],
|
|
215
|
+
dst_name=b_key,
|
|
216
|
+
recursive=False)
|
|
217
|
+
|
|
218
|
+
|
|
173
219
|
def h5ds_copy(src_loc, src_name, dst_loc, dst_name=None,
|
|
174
220
|
ensure_compression=True, recursive=True):
|
|
175
221
|
"""Copy an HDF5 Dataset from one group to another
|
|
@@ -257,8 +303,7 @@ def h5ds_copy(src_loc, src_name, dst_loc, dst_name=None,
|
|
|
257
303
|
for chunk in src.iter_chunks():
|
|
258
304
|
dst[chunk] = src[chunk]
|
|
259
305
|
# Also write all the attributes
|
|
260
|
-
|
|
261
|
-
dst.attrs[key] = src.attrs[key]
|
|
306
|
+
dst.attrs.update(src.attrs)
|
|
262
307
|
else:
|
|
263
308
|
# Copy the Dataset to the destination as-is.
|
|
264
309
|
h5py.h5o.copy(src_loc=src_loc.id,
|
dclab/rtdc_dataset/export.py
CHANGED
dclab/rtdc_dataset/feat_basin.py
CHANGED
|
@@ -17,6 +17,10 @@ import numpy as np
|
|
|
17
17
|
from ..util import copy_if_needed
|
|
18
18
|
|
|
19
19
|
|
|
20
|
+
class BasinFeatureMissingWarning(UserWarning):
|
|
21
|
+
"""Used when a badin feature is defined but not stored"""
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
class CyclicBasinDependencyFoundWarning(UserWarning):
|
|
21
25
|
"""Used when a basin is defined in one of its sub-basins"""
|
|
22
26
|
|
|
@@ -498,6 +502,19 @@ class InternalH5DatasetBasin(Basin):
|
|
|
498
502
|
if self._features is None:
|
|
499
503
|
raise ValueError("You must specify features when defining "
|
|
500
504
|
"internal basins.")
|
|
505
|
+
# Redefine the features if necessary
|
|
506
|
+
h5root = self._basinmap_referrer().h5file
|
|
507
|
+
available_features = []
|
|
508
|
+
for feat in self._features:
|
|
509
|
+
if self.location in h5root and feat in h5root[self.location]:
|
|
510
|
+
available_features.append(feat)
|
|
511
|
+
else:
|
|
512
|
+
warnings.warn(
|
|
513
|
+
f"Feature '{feat}' is defined as an internal basin, "
|
|
514
|
+
f"but it cannot be found in '{self.location}'.",
|
|
515
|
+
BasinFeatureMissingWarning)
|
|
516
|
+
self._features.clear()
|
|
517
|
+
self._features += available_features
|
|
501
518
|
|
|
502
519
|
def _load_dataset(self, location, **kwargs):
|
|
503
520
|
from .fmt_dict import RTDC_Dict
|
|
@@ -509,8 +526,7 @@ class InternalH5DatasetBasin(Basin):
|
|
|
509
526
|
return RTDC_Dict(ds_dict)
|
|
510
527
|
|
|
511
528
|
def is_available(self):
|
|
512
|
-
|
|
513
|
-
return self.location in h5root
|
|
529
|
+
return bool(self._features)
|
|
514
530
|
|
|
515
531
|
def verify_basin(self, *args, **kwargs):
|
|
516
532
|
"""It's not necessary to verify internal basins"""
|
|
@@ -175,10 +175,15 @@ class RTDC_HDF5(RTDCBase):
|
|
|
175
175
|
|
|
176
176
|
def basins_get_dicts(self):
|
|
177
177
|
"""Return list of dicts for all basins defined in `self.h5file`"""
|
|
178
|
+
return self.basin_get_dicts_from_h5file(self.h5file)
|
|
179
|
+
|
|
180
|
+
@staticmethod
|
|
181
|
+
def basin_get_dicts_from_h5file(h5file):
|
|
182
|
+
"""Return list of dicts for all basins defined in `h5file`"""
|
|
178
183
|
basins = []
|
|
179
184
|
# Do not sort anything here, sorting is done in `RTDCBase`.
|
|
180
|
-
for bk in
|
|
181
|
-
bdat = list(
|
|
185
|
+
for bk in h5file.get("basins", []):
|
|
186
|
+
bdat = list(h5file["basins"][bk])
|
|
182
187
|
if isinstance(bdat[0], bytes):
|
|
183
188
|
bdat = [bi.decode("utf") for bi in bdat]
|
|
184
189
|
bdict = json.loads(" ".join(bdat))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.62.
|
|
3
|
+
Version: 0.62.8
|
|
4
4
|
Summary: Library for real-time deformability cytometry (RT-DC)
|
|
5
5
|
Author: Benedikt Hartmann, Eoghan O'Connell, Maik Herbig, Maximilian Schlögel, Nadia Sbaa, Paul Müller, Philipp Rosendahl, Raghava Alajangi
|
|
6
6
|
Maintainer-email: Paul Müller <dev@craban.de>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
dclab/__init__.py,sha256=7_y6YtYcoL_a5M6Q9PiwZPzHSxS66yCTgs_uuK5C1dg,835
|
|
2
|
-
dclab/_version.py,sha256=
|
|
2
|
+
dclab/_version.py,sha256=qVziVuodFeRMjE4HHLtmm_Yy49iMpeo90iqYHmVvyE0,429
|
|
3
3
|
dclab/cached.py,sha256=t01BYTf43VEsBYa0c-bMxgceF5vKoGV73b42UlLH6Lo,3014
|
|
4
|
-
dclab/downsampling.cp38-win_amd64.pyd,sha256=
|
|
4
|
+
dclab/downsampling.cp38-win_amd64.pyd,sha256=ulqx8_pGQ4S_WlSXrdgKFqhWZLTPm3HyE3mUsVBl6RA,188416
|
|
5
5
|
dclab/downsampling.pyx,sha256=Ez6MbNbzCUzs2IXXKtAYsjtYqP22kI8hdA1IE-3mqvY,7488
|
|
6
6
|
dclab/http_utils.py,sha256=nneq9Cx8dw8ChQx5oIg2pN0xGkvNWCMSY5VYmttqyXA,11232
|
|
7
7
|
dclab/kde_contours.py,sha256=k0Y1UsJNtuYY8iqYmfQ-Nml-dFpJAcigd3vmt9U6zsY,6967
|
|
@@ -22,7 +22,7 @@ dclab/cli/task_verify_dataset.py,sha256=OFy7aWHvA6NInndnMBg0MVZSBibvJeNHhc_C79_9
|
|
|
22
22
|
dclab/definitions/__init__.py,sha256=cubgnqpBbPgk_c1_uUPggRsmtUd-baV1haybLqbMf8k,2860
|
|
23
23
|
dclab/definitions/feat_const.py,sha256=I772sd6aSNv8PzhT9MHnNKbGhx6ZJt3z3_FVs5oxMtw,9836
|
|
24
24
|
dclab/definitions/feat_logic.py,sha256=uMHXInzESTtBWPBsk9PxqSFFrSM1vNbTDxOlso9zhT0,6006
|
|
25
|
-
dclab/definitions/meta_const.py,sha256=
|
|
25
|
+
dclab/definitions/meta_const.py,sha256=X3U3orhlY_i78TYN4DUBJaOGBltNnXaRsQauH1LxuJ0,13377
|
|
26
26
|
dclab/definitions/meta_logic.py,sha256=no6fTCmKFrwpmirs_9358-Ysh5aZeib1xJrL_30WkqU,4305
|
|
27
27
|
dclab/definitions/meta_parse.py,sha256=UtgSm7hkfqnyj6FAbDmctbXqfZOHU9d4uoMf3EcYWtQ,2487
|
|
28
28
|
dclab/external/__init__.py,sha256=cnwVRsdIQOHQrys3-g_dslbTEUi1hfTL709TaZ6hFVY,97
|
|
@@ -35,14 +35,14 @@ dclab/external/packaging/version.py,sha256=NgEgv7me4UCvFMyiNYD-nc_28b9UHUvBVh8RD
|
|
|
35
35
|
dclab/external/skimage/LICENSE,sha256=Tdv08zzxYV32WRdYnco9P3nVyS5w17OTxIAFeRSd1wc,1480
|
|
36
36
|
dclab/external/skimage/__init__.py,sha256=icOIlThkyn_hxmnM_i7OpbU7fhvqYWNpGdNGD38qthU,74
|
|
37
37
|
dclab/external/skimage/_find_contours.py,sha256=auRMNfZg7B73DX7kPXxgD8gMXXB3Lk9QDWt4wlQnUWg,9556
|
|
38
|
-
dclab/external/skimage/_find_contours_cy.cp38-win_amd64.pyd,sha256=
|
|
38
|
+
dclab/external/skimage/_find_contours_cy.cp38-win_amd64.pyd,sha256=JdDeLPcg72y02Mbm7pYumkbp9UxL8bMnazadOElmTCU,143360
|
|
39
39
|
dclab/external/skimage/_find_contours_cy.pyx,sha256=c-EobLhKjZNCpuqWxmvrcH35uAY_Bu-_hZiUHbXODms,7349
|
|
40
|
-
dclab/external/skimage/_pnpoly.cp38-win_amd64.pyd,sha256=
|
|
40
|
+
dclab/external/skimage/_pnpoly.cp38-win_amd64.pyd,sha256=DshPeQLCgW7P83qUgIum_COMU052pXQyCdvBwfNjsvU,159232
|
|
41
41
|
dclab/external/skimage/_pnpoly.pyx,sha256=eHV3DlIGcBhAQ12-Y58EYq8xcq0Sibyc4xTxzX9NJsk,2603
|
|
42
42
|
dclab/external/skimage/measure.py,sha256=rzyI0HCr9O9GJNieVW8pcqDjTGRAdSehDUawD8QkIAE,254
|
|
43
43
|
dclab/external/skimage/pnpoly.py,sha256=zB4rSxjHJyY1OsGZ7QfFQqxIEDLGK8CWPehwutoFqm4,1400
|
|
44
44
|
dclab/external/skimage/_shared/__init__.py,sha256=q29esTsNh0HfQxcd2EuwdYNbEBJwo_qY4dfv7RihzoA,38
|
|
45
|
-
dclab/external/skimage/_shared/geometry.cp38-win_amd64.pyd,sha256=
|
|
45
|
+
dclab/external/skimage/_shared/geometry.cp38-win_amd64.pyd,sha256=_9ADx4RD-i1HshD1MyxXx0M50S4eKSs-x_1SiRT2jyg,21504
|
|
46
46
|
dclab/external/skimage/_shared/geometry.pxd,sha256=3gJ7fbXXsxJunSN4biE0dzEbZpX9ZqzR4cUDDN0JnAU,352
|
|
47
47
|
dclab/external/skimage/_shared/geometry.pyx,sha256=b6hADE8chse63haO1Kdt13_oQ54J9tkBf7dVA22-s-M,1722
|
|
48
48
|
dclab/external/statsmodels/LICENSE,sha256=8D7nwukc6YgsZCdN9mG0psM3I9j-z8fuUgFyVhnMXpU,1672
|
|
@@ -80,12 +80,12 @@ dclab/lme4/lme4_template.R,sha256=9jRrdMVh9UlfzyE4BsktRTlFzeWI6AvbwzZXzNO5EfI,26
|
|
|
80
80
|
dclab/lme4/rsetup.py,sha256=_3ov0QlBH_CguoAanKmsm09JfgjfADhRimqMR16FnMk,6094
|
|
81
81
|
dclab/lme4/wrapr.py,sha256=tZYvUy5LUM7sM3d8NiOIlxbrtu89LAihG4hqI6MSv2Q,15403
|
|
82
82
|
dclab/rtdc_dataset/__init__.py,sha256=BuWKEUm7QUe-Kj1wMR0AXON_XN2mzXlbOgouHdnvAw4,501
|
|
83
|
-
dclab/rtdc_dataset/check.py,sha256=
|
|
83
|
+
dclab/rtdc_dataset/check.py,sha256=l2QoIL3gno_Z2-e8RvYHAurHZP_oLGtZk8l6jUDiuTA,35908
|
|
84
84
|
dclab/rtdc_dataset/config.py,sha256=HVJiqKlqd-SpYqnNTKSr1yUsq2Bkfq5s5zluT-8PUc0,17965
|
|
85
|
-
dclab/rtdc_dataset/copier.py,sha256=
|
|
85
|
+
dclab/rtdc_dataset/copier.py,sha256=f8ySDHnuSWfZYI_kPCCrzickTOo6NqovBGvzMTCbK4M,14339
|
|
86
86
|
dclab/rtdc_dataset/core.py,sha256=yTxpOPqb6Ihaqmq5wJLRtkxHzpPQNUN3O3DyOw0dZJ4,38663
|
|
87
|
-
dclab/rtdc_dataset/export.py,sha256=
|
|
88
|
-
dclab/rtdc_dataset/feat_basin.py,sha256=
|
|
87
|
+
dclab/rtdc_dataset/export.py,sha256=iqWzj9BjPVhs-d3898DLM9y5rLxTSIaN0S3po42IPdU,30219
|
|
88
|
+
dclab/rtdc_dataset/feat_basin.py,sha256=Gi9Ct5TRABieacG5fVMONBocVbik_D5p6Ii1NYNdgVM,21241
|
|
89
89
|
dclab/rtdc_dataset/feat_temp.py,sha256=5QiF8Nc8MVoTtinYlvfoSuoopND-uvWVWKjMggBTHLw,3796
|
|
90
90
|
dclab/rtdc_dataset/filter.py,sha256=IRaEUt0tWtZGLKYvtqzfYO2kN5yhqx9eLoHd3VOLCTE,10286
|
|
91
91
|
dclab/rtdc_dataset/fmt_dict.py,sha256=-tlzOwsOCh4Vt3rSiBUvMKW7vBgrRNubU7ZHdGMB3gE,3112
|
|
@@ -111,7 +111,7 @@ dclab/rtdc_dataset/fmt_dcor/basin.py,sha256=JzofdU45r-TTBGl8Nnvo-j-YsnT23X2gXnva
|
|
|
111
111
|
dclab/rtdc_dataset/fmt_dcor/logs.py,sha256=e1BiJ8we4IghbxVAZM56K4P4IjJDHIBfHH_Uz-p2w9g,609
|
|
112
112
|
dclab/rtdc_dataset/fmt_dcor/tables.py,sha256=rCkKnSoJpQPhjhCgG9hAd6L1wimlIMd7qM5vaNATgbM,1109
|
|
113
113
|
dclab/rtdc_dataset/fmt_hdf5/__init__.py,sha256=UnitCqiMkY8mMcUKgfLBRVBP5srpTNLrZd3BIRr2tZE,276
|
|
114
|
-
dclab/rtdc_dataset/fmt_hdf5/base.py,sha256=
|
|
114
|
+
dclab/rtdc_dataset/fmt_hdf5/base.py,sha256=CAcYaN_6X10NK-R1IvlJj6y70lNyAVyT0OnGMs4VMB4,6583
|
|
115
115
|
dclab/rtdc_dataset/fmt_hdf5/basin.py,sha256=qbYgj0RKS9k6RTu5XmYEtgdcbqnVNokD3rAxogyrWrU,822
|
|
116
116
|
dclab/rtdc_dataset/fmt_hdf5/events.py,sha256=6u2K86vqxd4qWaYk_hzRA5LMQRrduNvMxmloWWt4aMc,8488
|
|
117
117
|
dclab/rtdc_dataset/fmt_hdf5/feat_defect.py,sha256=w7dfs6pULUVJ8Ypz2VBYIKokKVhCn6as6fn3GL8Z7s0,6704
|
|
@@ -129,9 +129,9 @@ dclab/rtdc_dataset/fmt_tdms/event_mask.py,sha256=cW-Tw2PIe6X1Hc4UZJ22-mI_qFaIMWA
|
|
|
129
129
|
dclab/rtdc_dataset/fmt_tdms/event_trace.py,sha256=ktWnXfMir1v5Wfeo7tOd0txSOe1bgsXotf9Ul5T5-B4,5361
|
|
130
130
|
dclab/rtdc_dataset/fmt_tdms/exc.py,sha256=FfxUY4LGIMPGJTYmGITmEm7X5iu8GBsj7OfZR8Zb-IE,850
|
|
131
131
|
dclab/rtdc_dataset/fmt_tdms/naming.py,sha256=SFeWiwIN7sg0qNe0Aya2bZshN1Zbw4YcOKunZ6kfIGM,5524
|
|
132
|
-
dclab-0.62.
|
|
133
|
-
dclab-0.62.
|
|
134
|
-
dclab-0.62.
|
|
135
|
-
dclab-0.62.
|
|
136
|
-
dclab-0.62.
|
|
137
|
-
dclab-0.62.
|
|
132
|
+
dclab-0.62.8.dist-info/LICENSE,sha256=ayjnuJcdf_kpkDyD61tUcVqVAQaNSYXJ73m5HVB4G8s,18474
|
|
133
|
+
dclab-0.62.8.dist-info/METADATA,sha256=XEPR3tgdPJL4PXaajLI_JCjmeYH0H9Zlf91vRVluadc,4900
|
|
134
|
+
dclab-0.62.8.dist-info/WHEEL,sha256=rTcqimtzpX3smAWAhGmiRSWAxTY4PqYPNE-p4kscHDQ,99
|
|
135
|
+
dclab-0.62.8.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
|
|
136
|
+
dclab-0.62.8.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
|
|
137
|
+
dclab-0.62.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|