dclab 0.67.0__cp39-cp39-macosx_11_0_arm64.whl → 0.67.3__cp39-cp39-macosx_11_0_arm64.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.
- dclab/_version.py +3 -3
- dclab/cli/task_verify_dataset.py +3 -3
- dclab/definitions/feat_const.py +5 -3
- dclab/downsampling.cpython-39-darwin.so +0 -0
- dclab/downsampling.pyx +12 -7
- dclab/external/skimage/_find_contours_cy.cpython-39-darwin.so +0 -0
- dclab/external/skimage/_pnpoly.cpython-39-darwin.so +0 -0
- dclab/external/skimage/_shared/geometry.cpython-39-darwin.so +0 -0
- dclab/features/bright.py +11 -2
- dclab/features/bright_bc.py +13 -2
- dclab/features/bright_perc.py +10 -2
- dclab/features/contour.py +12 -7
- dclab/features/emodulus/__init__.py +33 -27
- dclab/features/emodulus/load.py +8 -6
- dclab/features/emodulus/pxcorr.py +33 -15
- dclab/features/emodulus/scale_linear.py +79 -52
- dclab/features/emodulus/viscosity.py +31 -19
- dclab/features/fl_crosstalk.py +19 -10
- dclab/features/inert_ratio.py +18 -11
- dclab/features/volume.py +24 -14
- dclab/kde/base.py +11 -8
- dclab/kde/methods.py +23 -12
- dclab/rtdc_dataset/core.py +3 -0
- dclab/rtdc_dataset/export.py +49 -21
- dclab/rtdc_dataset/feat_basin.py +9 -4
- dclab/rtdc_dataset/writer.py +6 -1
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/METADATA +17 -1
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/RECORD +32 -32
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/WHEEL +1 -1
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/entry_points.txt +0 -0
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/licenses/LICENSE +0 -0
- {dclab-0.67.0.dist-info → dclab-0.67.3.dist-info}/top_level.txt +0 -0
dclab/kde/methods.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""Kernel Density Estimation methods"""
|
|
2
|
+
import warnings
|
|
2
3
|
|
|
3
4
|
import numpy as np
|
|
4
5
|
from scipy.interpolate import RectBivariateSpline
|
|
@@ -8,6 +9,10 @@ from ..cached import Cache
|
|
|
8
9
|
from ..external.statsmodels.nonparametric.kernel_density import KDEMultivariate
|
|
9
10
|
|
|
10
11
|
|
|
12
|
+
class KernelDensityEstimationForEmtpyArrayWarning(UserWarning):
|
|
13
|
+
"""Used when user attempts to compute KDE for an empty array"""
|
|
14
|
+
|
|
15
|
+
|
|
11
16
|
def bin_num_doane(a):
|
|
12
17
|
"""Compute number of bins based on Doane's formula
|
|
13
18
|
|
|
@@ -49,10 +54,15 @@ def bin_width_doane(a):
|
|
|
49
54
|
bad = np.isnan(a) | np.isinf(a)
|
|
50
55
|
data = a[~bad]
|
|
51
56
|
n = data.size
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
if n > 0:
|
|
58
|
+
g1 = skew(data)
|
|
59
|
+
sigma_g1 = np.sqrt(6 * (n - 2) / ((n + 1) * (n + 3)))
|
|
60
|
+
k = 1 + np.log2(n) + np.log2(1 + np.abs(g1) / sigma_g1)
|
|
61
|
+
acc = (data.max() - data.min()) / k
|
|
62
|
+
else:
|
|
63
|
+
warnings.warn("KDE encountered an empty array",
|
|
64
|
+
KernelDensityEstimationForEmtpyArrayWarning)
|
|
65
|
+
acc = 1
|
|
56
66
|
return acc
|
|
57
67
|
|
|
58
68
|
|
|
@@ -94,12 +104,12 @@ def get_bad_vals(x, y):
|
|
|
94
104
|
|
|
95
105
|
|
|
96
106
|
def ignore_nan_inf(kde_method):
|
|
97
|
-
"""
|
|
107
|
+
"""Decorator that computes the KDE only for valid values
|
|
98
108
|
|
|
99
109
|
Invalid positions in the resulting density are set to nan.
|
|
100
110
|
"""
|
|
101
|
-
def
|
|
102
|
-
|
|
111
|
+
def kde_wrapper(events_x, events_y, xout=None, yout=None,
|
|
112
|
+
*args, **kwargs):
|
|
103
113
|
bad_in = get_bad_vals(events_x, events_y)
|
|
104
114
|
if xout is None:
|
|
105
115
|
density = np.zeros_like(events_x, dtype=np.float64)
|
|
@@ -113,18 +123,19 @@ def ignore_nan_inf(kde_method):
|
|
|
113
123
|
# Filter events
|
|
114
124
|
ev_x = events_x[~bad_in]
|
|
115
125
|
ev_y = events_y[~bad_in]
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
126
|
+
if ev_x.size:
|
|
127
|
+
density[~bad_out] = kde_method(ev_x, ev_y,
|
|
128
|
+
xo, yo,
|
|
129
|
+
*args, **kwargs)
|
|
119
130
|
density[bad_out] = np.nan
|
|
120
131
|
return density
|
|
121
132
|
|
|
122
133
|
doc_add = "\n Notes\n" +\
|
|
123
134
|
" -----\n" +\
|
|
124
135
|
" This is a wrapped version that ignores nan and inf values."
|
|
125
|
-
|
|
136
|
+
kde_wrapper.__doc__ = kde_method.__doc__ + doc_add
|
|
126
137
|
|
|
127
|
-
return
|
|
138
|
+
return kde_wrapper
|
|
128
139
|
|
|
129
140
|
|
|
130
141
|
@ignore_nan_inf
|
dclab/rtdc_dataset/core.py
CHANGED
|
@@ -307,6 +307,9 @@ class RTDCBase(abc.ABC):
|
|
|
307
307
|
data = bn.get_feature_data(feat)
|
|
308
308
|
# The data are available, we may abort the search.
|
|
309
309
|
break
|
|
310
|
+
except feat_basin.BasinIdentifierMismatchError:
|
|
311
|
+
# Likely a basin identifier mismatch
|
|
312
|
+
warnings.warn(traceback.format_exc())
|
|
310
313
|
except (KeyError, OSError, PermissionError):
|
|
311
314
|
# Basin data not available
|
|
312
315
|
pass
|
dclab/rtdc_dataset/export.py
CHANGED
|
@@ -499,14 +499,9 @@ class Export(object):
|
|
|
499
499
|
})
|
|
500
500
|
elif (ds.format == "hierarchy"
|
|
501
501
|
and ds.get_root_parent().format in get_basin_classes()):
|
|
502
|
-
# avoid circular imports
|
|
503
|
-
from .fmt_hierarchy import map_indices_child2root
|
|
504
502
|
# The dataset is a hierarchy child, and it is derived
|
|
505
503
|
# from a dataset that has a matching basin format.
|
|
506
|
-
#
|
|
507
|
-
# identify the child, to the basin dictionary. Note
|
|
508
|
-
# that additional basin filtering is applied below
|
|
509
|
-
# this case for all basins.
|
|
504
|
+
#
|
|
510
505
|
# For the sake of clarity I wrote this as a separate case,
|
|
511
506
|
# even if that means duplicating code from the previous
|
|
512
507
|
# case.
|
|
@@ -523,17 +518,21 @@ class Export(object):
|
|
|
523
518
|
"basin_locs": basin_locs,
|
|
524
519
|
"basin_descr": f"Exported with dclab {version} from a "
|
|
525
520
|
f"hierarchy dataset",
|
|
526
|
-
#
|
|
527
|
-
#
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
),
|
|
521
|
+
# Here we do not yet treat the conversion from the
|
|
522
|
+
# root dataset indices to the child indices,
|
|
523
|
+
# because we will fill in the missing values below
|
|
524
|
+
# in the basin mapping correction step.
|
|
525
|
+
"basin_map": None,
|
|
532
526
|
"basin_id": basin_id,
|
|
533
527
|
})
|
|
534
528
|
|
|
535
529
|
for bn_dict in basin_list:
|
|
536
|
-
if bn_dict.get("
|
|
530
|
+
if bn_dict.get("basin_format") not in get_basin_classes():
|
|
531
|
+
# Whichever software stored this basin in the
|
|
532
|
+
# original file, we do not support it or don't want
|
|
533
|
+
# to break it.
|
|
534
|
+
continue
|
|
535
|
+
elif bn_dict.get("basin_type") == "internal":
|
|
537
536
|
# Internal basins are only valid for files they were
|
|
538
537
|
# defined in. Since we are exporting, it does not
|
|
539
538
|
# make sense to store these basins in the output file.
|
|
@@ -543,16 +542,45 @@ class Export(object):
|
|
|
543
542
|
# logic to execute in order to refresh them. We do not
|
|
544
543
|
# store them in the output file.
|
|
545
544
|
continue
|
|
545
|
+
|
|
546
|
+
# Basin mapping correction: If we are filtering, or
|
|
547
|
+
# if we are exporting from a hierarchy dataset, we have
|
|
548
|
+
# to correct or add basin mapping arrays.
|
|
546
549
|
basinmap_orig = bn_dict.get("basin_map")
|
|
547
|
-
if
|
|
548
|
-
#
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
550
|
+
if ds.format == "hierarchy":
|
|
551
|
+
# Hierarchy dataset
|
|
552
|
+
# Compute mapping from hierarchy root.
|
|
553
|
+
from .fmt_hierarchy import map_indices_child2root
|
|
554
|
+
map_root = map_indices_child2root(
|
|
555
|
+
child=ds,
|
|
556
|
+
child_indices=np.arange(len(ds))
|
|
557
|
+
)
|
|
558
|
+
|
|
559
|
+
if not filtered and basinmap_orig is None:
|
|
560
|
+
# We only have to consider the hierarchy.
|
|
561
|
+
bn_dict["basin_map"] = map_root
|
|
562
|
+
elif filtered and basinmap_orig is None:
|
|
563
|
+
# Filtering must be taken into account.
|
|
564
|
+
bn_dict["basin_map"] = map_root[filter_arr]
|
|
565
|
+
else:
|
|
566
|
+
# The source file has mapping defined which we
|
|
567
|
+
# have to take into account.
|
|
568
|
+
map_child = basinmap_orig[map_root]
|
|
569
|
+
if filtered:
|
|
570
|
+
# Subsetting additional filters
|
|
571
|
+
bn_dict["basin_map"] = map_child[filter_arr]
|
|
572
|
+
else:
|
|
573
|
+
bn_dict["basin_map"] = map_child
|
|
553
574
|
else:
|
|
554
|
-
|
|
555
|
-
|
|
575
|
+
if not filtered:
|
|
576
|
+
# filtering disabled: just copy basins
|
|
577
|
+
pass
|
|
578
|
+
elif filtered and basinmap_orig is None:
|
|
579
|
+
# basins with mapping "same": create new mapping
|
|
580
|
+
bn_dict["basin_map"] = np.where(filter_arr)[0]
|
|
581
|
+
else:
|
|
582
|
+
# filter the source mapping
|
|
583
|
+
bn_dict["basin_map"] = basinmap_orig[filter_arr]
|
|
556
584
|
|
|
557
585
|
# Do not verify basins, it takes too long.
|
|
558
586
|
hw.store_basin(**bn_dict, verify=False)
|
dclab/rtdc_dataset/feat_basin.py
CHANGED
|
@@ -26,6 +26,10 @@ class BasinFeatureMissingWarning(UserWarning):
|
|
|
26
26
|
"""Used when a badin feature is defined but not stored"""
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
class BasinIdentifierMismatchError(BaseException):
|
|
30
|
+
"""Used when the identifier of a basin does not match the definition"""
|
|
31
|
+
|
|
32
|
+
|
|
29
33
|
class CyclicBasinDependencyFoundWarning(UserWarning):
|
|
30
34
|
"""Used when a basin is defined in one of its sub-basins"""
|
|
31
35
|
|
|
@@ -58,7 +62,7 @@ class BasinAvailabilityChecker(threading.Thread):
|
|
|
58
62
|
class PerishableRecord:
|
|
59
63
|
"""A class containing information about perishable basins
|
|
60
64
|
|
|
61
|
-
Perishable basins are basins
|
|
65
|
+
Perishable basins are basins that may discontinue to work after
|
|
62
66
|
e.g. a specific amount of time (e.g. presigned S3 URLs). With the
|
|
63
67
|
`PerishableRecord`, these basins may be "refreshed" (made
|
|
64
68
|
available again).
|
|
@@ -318,9 +322,10 @@ class Basin(abc.ABC):
|
|
|
318
322
|
"""Make sure the basin matches the measurement identifier
|
|
319
323
|
"""
|
|
320
324
|
if not self.verify_basin(run_identifier=True):
|
|
321
|
-
raise
|
|
322
|
-
|
|
323
|
-
|
|
325
|
+
raise BasinIdentifierMismatchError(
|
|
326
|
+
f"Measurement identifier of basin {self.ds} "
|
|
327
|
+
f"({self.get_measurement_identifier()}) does "
|
|
328
|
+
f"not match {self.referrer_identifier}!")
|
|
324
329
|
|
|
325
330
|
@property
|
|
326
331
|
def basinmap(self):
|
dclab/rtdc_dataset/writer.py
CHANGED
|
@@ -44,6 +44,10 @@ FEATURES_UINT64 = [
|
|
|
44
44
|
]
|
|
45
45
|
|
|
46
46
|
|
|
47
|
+
class StoringPerishableBasinWarning(UserWarning):
|
|
48
|
+
pass
|
|
49
|
+
|
|
50
|
+
|
|
47
51
|
class RTDCWriter:
|
|
48
52
|
def __init__(self,
|
|
49
53
|
path_or_h5file: str | pathlib.Path | h5py.File,
|
|
@@ -274,7 +278,8 @@ class RTDCWriter:
|
|
|
274
278
|
.. versionadded:: 0.58.0
|
|
275
279
|
"""
|
|
276
280
|
if perishable:
|
|
277
|
-
warnings.warn(f"Storing perishable basin {basin_name}"
|
|
281
|
+
warnings.warn(f"Storing perishable basin '{basin_name}'",
|
|
282
|
+
StoringPerishableBasinWarning)
|
|
278
283
|
if basin_type == "internal":
|
|
279
284
|
if internal_data is None:
|
|
280
285
|
raise ValueError(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.67.
|
|
3
|
+
Version: 0.67.3
|
|
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>
|
|
@@ -128,6 +128,22 @@ We use flake8 to enforce coding style::
|
|
|
128
128
|
flake8 tests
|
|
129
129
|
|
|
130
130
|
|
|
131
|
+
Type Hinting
|
|
132
|
+
~~~~~~~~~~~~
|
|
133
|
+
For type hinting and docstring styling, try to keep the
|
|
134
|
+
Code Reference readable in the documentation website.
|
|
135
|
+
If in doubt just ask, or look at the examples in the codebase.
|
|
136
|
+
|
|
137
|
+
* Simple type combintions such as ``float`` or ``str | pathlib.Path``
|
|
138
|
+
should be included as type hints, but do not need to be included
|
|
139
|
+
in the docstring parameter description.
|
|
140
|
+
* More involved type hints can have extra information in the
|
|
141
|
+
docstring. For example for numpy arrays, ``npt.NDArray[np.bool]`` doesn't
|
|
142
|
+
render in a readable way in the Code Reference, and doesn't include shape.
|
|
143
|
+
Therefore, you can also keep the docstring parameter description with
|
|
144
|
+
the shape and dtype information e.g., ``binary ndarray of shape (M, N)``.
|
|
145
|
+
|
|
146
|
+
|
|
131
147
|
Incrementing version
|
|
132
148
|
~~~~~~~~~~~~~~~~~~~~
|
|
133
149
|
Dclab gets its version from the latest git tag.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
dclab/kde_methods.py,sha256=f0-zDN7ETintvGB3gSzxwgBb53YtT9jZtzI70EAX50g,365
|
|
2
|
-
dclab/_version.py,sha256=
|
|
2
|
+
dclab/_version.py,sha256=C93LipY6MoOvCWHtZWanKa2gAYf8_iZ23C55Gs_peq0,714
|
|
3
3
|
dclab/util.py,sha256=HFT5ZQV6AW8GIIruVMldukbVVdlMyKH50GUfOogAcxI,5860
|
|
4
|
-
dclab/downsampling.pyx,sha256=
|
|
4
|
+
dclab/downsampling.pyx,sha256=b_UAoY-TQyZsMiqV10R2Qss_O7IWmQoiwX1zGqniIxc,7504
|
|
5
5
|
dclab/__init__.py,sha256=wyJWhElQRPcq09vUqUnuquTU_KHgHxv6wQxuxQ988Iw,1583
|
|
6
6
|
dclab/warn.py,sha256=fy2fcZdA0YRMlVFIcOPNZJQOQLkvblJQ8pCfCx1phnw,521
|
|
7
7
|
dclab/cached.py,sha256=eWTYBiI-HQM7JuPH-oxa5LLnhAX32GpRwlYg2kQ3sTA,2917
|
|
8
8
|
dclab/http_utils.py,sha256=XHicbHQts5LY3zSNmYqNgAZpKTktotEiwQgJ8d2sBlk,10912
|
|
9
9
|
dclab/polygon_filter.py,sha256=qexmo-rXe06CUPZhN6EMJy4y4B5gXZeqejdvIB2arOE,13480
|
|
10
|
-
dclab/downsampling.cpython-39-darwin.so,sha256=
|
|
10
|
+
dclab/downsampling.cpython-39-darwin.so,sha256=Nr3zUj4k2CFx-AfYH7oC3bzrRfEc8y-G-5EIEBkb6rw,260992
|
|
11
11
|
dclab/statistics.py,sha256=DWBG_Kj7cn89b_s5mqWYDCMGB881jHcCRFY-KAOBnhE,7598
|
|
12
12
|
dclab/kde_contours.py,sha256=UlU64lrzMQUZH11oZndW7xf7NFCzwP3FcVujwuqXDCI,278
|
|
13
13
|
dclab/isoelastics/iso_LE-2D-FEM-19-volume-deform.txt,sha256=vTcazOlOXo3BQ0NQtGB_IdHKA0neOLXZ_d3JuMU--RE,83358
|
|
@@ -18,22 +18,22 @@ dclab/isoelastics/__init__.py,sha256=d07K8Ab73_vot8Op4ZpNi_YbtlJPM8r53davAEB_zSc
|
|
|
18
18
|
dclab/isoelastics/iso_HE-2D-FEM-22-area_um-deform.txt,sha256=bkRIbEq2UVoc8bzjfg3R9XODdjG4TyCZDLDVv9lNnqY,90298
|
|
19
19
|
dclab/isoelastics/iso_LE-2D-FEM-19-area_um-deform.txt,sha256=lcTjUUnIwj_bVBrG2T2OWBK1ApuLjxJkvL2KAuU51OM,79694
|
|
20
20
|
dclab/isoelastics/iso_HE-3D-FEM-22-volume-deform.txt,sha256=NlaE7yKz7N8yF65ri3H8gvjAQBEfPSXULFJtMhjYgSc,82116
|
|
21
|
-
dclab/features/fl_crosstalk.py,sha256=
|
|
22
|
-
dclab/features/bright_bc.py,sha256=
|
|
21
|
+
dclab/features/fl_crosstalk.py,sha256=RyqcbcALxfSS72WlDbPoIrCYnQkMX0hSfxL9v8hKjpQ,2944
|
|
22
|
+
dclab/features/bright_bc.py,sha256=nhMpVuSZ40q0cmMZ6MbtEDZITyz18sDIE8afQVLIfMM,3428
|
|
23
23
|
dclab/features/__init__.py,sha256=rgFgFdAs9ylviKk-ap8lSlewPcLh5Myib1Xtrk8Oylk,352
|
|
24
|
-
dclab/features/inert_ratio.py,sha256=
|
|
25
|
-
dclab/features/volume.py,sha256=
|
|
26
|
-
dclab/features/bright_perc.py,sha256=
|
|
27
|
-
dclab/features/bright.py,sha256=
|
|
28
|
-
dclab/features/contour.py,sha256=
|
|
24
|
+
dclab/features/inert_ratio.py,sha256=u2WMLHdJgkba40AEtWW6B_a2NPTspiRsPIkaA2iD-uU,12280
|
|
25
|
+
dclab/features/volume.py,sha256=Pht80sbmDcnLhffkT9La6alIhur3nW-K4hdAjK2xnMo,9122
|
|
26
|
+
dclab/features/bright_perc.py,sha256=uyZF4YAF0WhL7_SjUBFY-L0eXio4c_2CzHwGvUOO84A,2387
|
|
27
|
+
dclab/features/bright.py,sha256=I_4LFyQ-3GW9gH7ZtBRhNbsndkKjixDvPRNAbMxIuQk,2665
|
|
28
|
+
dclab/features/contour.py,sha256=aufysNbBW0OhQzTOtZ6nxBzya5AN7g0SexihpF5BLFM,5847
|
|
29
29
|
dclab/features/emodulus/lut_HE-2D-FEM-22.txt,sha256=5bLgd-BBaFW9bAtEyEmlTvaG4EABXRAo73K51gd2UT8,608170
|
|
30
30
|
dclab/features/emodulus/lut_LE-2D-FEM-19.txt,sha256=r36u9Bo7WJF1l1EYezMz-R-xYoxQrYozVHtXIHjwQnU,484422
|
|
31
|
-
dclab/features/emodulus/__init__.py,sha256=
|
|
32
|
-
dclab/features/emodulus/pxcorr.py,sha256=
|
|
33
|
-
dclab/features/emodulus/scale_linear.py,sha256=
|
|
31
|
+
dclab/features/emodulus/__init__.py,sha256=6ckm1PUiveEFmMW5YJv3nHyhKZFlbRHm1m0eihyBRmA,14358
|
|
32
|
+
dclab/features/emodulus/pxcorr.py,sha256=UJcu-dCwxxWopeIQsT24X1BYnBhiUlIhjnGYjfgGax0,5372
|
|
33
|
+
dclab/features/emodulus/scale_linear.py,sha256=vDISUWATvpprmTgbtcN-HxBNPuw9I66tuqhXgYo8hkI,8254
|
|
34
34
|
dclab/features/emodulus/lut_HE-3D-FEM-22.txt,sha256=1Sg4ys0ykT7Q_jFM28XS0uJ85nZd_ha7BDXdN2rsPIA,47248
|
|
35
|
-
dclab/features/emodulus/load.py,sha256=
|
|
36
|
-
dclab/features/emodulus/viscosity.py,sha256=
|
|
35
|
+
dclab/features/emodulus/load.py,sha256=fcc6ds3iE0SvGSXszB-UTIgMDse24E44Zgh_OMZVvYs,8745
|
|
36
|
+
dclab/features/emodulus/viscosity.py,sha256=ZTpFJJ2uz6LcFzCohTYLfodFX0ce3nbwWBuZ8NBaeTQ,9893
|
|
37
37
|
dclab/lme4/lme4_template.R,sha256=CEXQIquvYCla9dCvRYgiBemI6fiVgAKnJTetJA2LAtk,2570
|
|
38
38
|
dclab/lme4/__init__.py,sha256=5WPFMTK-Yia3NJuwZEEBQ3fCyW3DiFgpZFrAwU33TV4,272
|
|
39
39
|
dclab/lme4/rsetup.py,sha256=kH9VFtcK83ZaF9jvh1n5kcmGmPLLsmCPia_ElEHBLes,5890
|
|
@@ -41,16 +41,16 @@ dclab/lme4/wrapr.py,sha256=rdIc2hS8GhgdU9WFA6pLzohJGlBga-mkm60qqqk6VO4,15017
|
|
|
41
41
|
dclab/cli/task_tdms2rtdc.py,sha256=5VBXEnTknaA-qlb9C-px6BTG3RzBg8vmY8iPIraGi8o,8281
|
|
42
42
|
dclab/cli/__init__.py,sha256=84YzzV6aE_NY-o7wvqgvUoxBLvIOEXpSUbkVcGRyzQ0,483
|
|
43
43
|
dclab/cli/task_condense.py,sha256=uNZzm04VuQOXJi6uXPmaLdQCk0g8ONueiO4p67yJv0k,8546
|
|
44
|
-
dclab/cli/task_verify_dataset.py,sha256=
|
|
44
|
+
dclab/cli/task_verify_dataset.py,sha256=IU-A3fTG1F_8JThv-eKn9PqbA15pEjVSHyyX3ieMrOI,2685
|
|
45
45
|
dclab/cli/task_repack.py,sha256=uSY3xCL1pvaqgG27ou6vMSavXk6nOJXkGno2XcaLOCo,3315
|
|
46
46
|
dclab/cli/common.py,sha256=uY0IexcvmScB-5AVIQhM9qMutUcSf7CM9tUrgtuawgU,7224
|
|
47
47
|
dclab/cli/task_join.py,sha256=R04ZmXG2-O82E8le0ywZpy9NzOYoErw8hLx8m4q76ms,9464
|
|
48
48
|
dclab/cli/task_split.py,sha256=dqW3GWkwi4ceDqRVrQx8ADGk4--KSsD3Q1knkD3ZXI4,6060
|
|
49
49
|
dclab/cli/task_compress.py,sha256=LH3j41aKq5regAH-ZFdOgnXImf5DrReDJ7ITwUObUSQ,4100
|
|
50
50
|
dclab/kde/contours.py,sha256=WoRqBj_xK-23FZjtaYly7E2Q8sGZ16q2ILq-DmrlmC8,6742
|
|
51
|
-
dclab/kde/methods.py,sha256=
|
|
51
|
+
dclab/kde/methods.py,sha256=QTOK0qy2w6hcppPyzZlTaOSQCSD9Wb_dKQccJg4TWc0,9801
|
|
52
52
|
dclab/kde/__init__.py,sha256=_WSLPMfxE2su6tmO5mJxUE_9ON16-pqQUQCUlzRtyKI,55
|
|
53
|
-
dclab/kde/base.py,sha256=
|
|
53
|
+
dclab/kde/base.py,sha256=17gu0P63RatGdr-5NzKROaCwVCoA_Cial631bHHOBw0,16405
|
|
54
54
|
dclab/external/__init__.py,sha256=gb0UdzoMymEURPsTXRqVTT1ZJedJ2ubH3jApBIRkwjk,93
|
|
55
55
|
dclab/external/packaging/version.py,sha256=9MLL6_EYHvGA1yCGndwL5ZmmDA_wqQsW15GyKrI6siQ,14685
|
|
56
56
|
dclab/external/packaging/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197
|
|
@@ -65,35 +65,35 @@ dclab/external/statsmodels/nonparametric/kernel_density.py,sha256=3UyzLuZS68TkNT
|
|
|
65
65
|
dclab/external/statsmodels/nonparametric/__init__.py,sha256=-GEWgwsF27ems5WTBvR1zo4SWJ0pRTWyHVagnIYer3g,43
|
|
66
66
|
dclab/external/statsmodels/nonparametric/kernels.py,sha256=fuy4kStFz2ZA9pqgfUb4cly-YBpXLu4TJ9-ZujayuIw,1075
|
|
67
67
|
dclab/external/skimage/measure.py,sha256=y1idCqD9TUxp3-QnOiWR_d674OKaeqBJ4MN2-gVP6ro,247
|
|
68
|
-
dclab/external/skimage/_find_contours_cy.cpython-39-darwin.so,sha256=
|
|
68
|
+
dclab/external/skimage/_find_contours_cy.cpython-39-darwin.so,sha256=a7Lg3OvM36ekhCQqhcTLQalEdJAz-3VZOVb4R0UFWBQ,206456
|
|
69
69
|
dclab/external/skimage/LICENSE,sha256=ivsSBvn3c0R9mOctWRRdza7C7wdZSRYgCVxlVqUdlB8,1452
|
|
70
70
|
dclab/external/skimage/pnpoly.py,sha256=r8hFNiTz5XlUoNZjosqA0iyv1FPn0l7ewbplgFgkdaw,1347
|
|
71
71
|
dclab/external/skimage/_find_contours.py,sha256=16v5eeTZBmevG8SSuXtJ6yUpVPhwfSmtc8pDD0nuuOU,9340
|
|
72
72
|
dclab/external/skimage/__init__.py,sha256=-B2QUKHAFzQuBWuuKvPDC5JIl0Zb-x3OGmbwPaE9VwQ,72
|
|
73
73
|
dclab/external/skimage/_pnpoly.pyx,sha256=Qdn6xPazDschBqbr46DzB75MB2MnqvdnoTSBMK7kUGE,2504
|
|
74
74
|
dclab/external/skimage/_find_contours_cy.pyx,sha256=pZJOBhMHzYEMkcz4WQVyjn7jDNrdjCfet47FU1hRAxk,7161
|
|
75
|
-
dclab/external/skimage/_pnpoly.cpython-39-darwin.so,sha256=
|
|
75
|
+
dclab/external/skimage/_pnpoly.cpython-39-darwin.so,sha256=SxQeGq81yoqjX57TsEse7R-vSC4HimoIbFxFSjc5uIg,226384
|
|
76
76
|
dclab/external/skimage/_shared/geometry.pxd,sha256=kRsu9ifv_rL3kbRIgSLf86p0hn2oTMp6s013lZ9bBZM,346
|
|
77
77
|
dclab/external/skimage/_shared/__init__.py,sha256=2sHZwTtJSlMTa3Q2YSvQW7jrPLMUSqDJQa-ROe5zfcw,37
|
|
78
|
-
dclab/external/skimage/_shared/geometry.cpython-39-darwin.so,sha256=
|
|
78
|
+
dclab/external/skimage/_shared/geometry.cpython-39-darwin.so,sha256=WXjdTXomKxmscHPK46Uob98G6lVw2hheTFfmJVXTwwA,55648
|
|
79
79
|
dclab/external/skimage/_shared/geometry.pyx,sha256=miCHUh6mBDbRRIoaF_0xAER1MRzsCAzFdlYQZhV7RmE,1667
|
|
80
80
|
dclab/definitions/feat_logic.py,sha256=_Rr2vK-nbRNjxk5Kf8Iohs_Q3jzUe9EZJgxB9vMwxwE,5379
|
|
81
81
|
dclab/definitions/meta_parse.py,sha256=YdaTdM8DAMsIFn5ITH9OHYGTXeAOBGWtx22oVjxXcWk,2393
|
|
82
82
|
dclab/definitions/__init__.py,sha256=4OQhbMSfCdmibhMDmttjIlCdrQC9Y0Y_SJjOON8_iWU,2779
|
|
83
83
|
dclab/definitions/meta_const.py,sha256=zqE-SrD2tJMCFWdtp_IenwnbIQg0lulvbQAw9dK0Gho,13125
|
|
84
|
-
dclab/definitions/feat_const.py,sha256=
|
|
84
|
+
dclab/definitions/feat_const.py,sha256=JSCxOVEg86vBPAm_pjHgGYuLExvYc2Z1Rz4ksRps-jw,9746
|
|
85
85
|
dclab/definitions/meta_logic.py,sha256=wCgb7DPRHaR8DCWw_VbwNkpslUnazzWfgX0iS8oEe90,4194
|
|
86
86
|
dclab/rtdc_dataset/config.py,sha256=lcJm13LYDyPqbH1E-TI8fM6B4_G8OkCEl0LXhQGuhf4,17430
|
|
87
87
|
dclab/rtdc_dataset/check.py,sha256=lJNaz4QTe2WNlxik6zSohRHTiAYuP_bKOzSDjPGTUS0,35006
|
|
88
88
|
dclab/rtdc_dataset/meta_table.py,sha256=ucqBNrgI6rDAuQFuMRckY8lp1LpnYAoRgEsLObWTJCE,648
|
|
89
|
-
dclab/rtdc_dataset/feat_basin.py,sha256=
|
|
89
|
+
dclab/rtdc_dataset/feat_basin.py,sha256=vXeNt0eWngEy08anWQttrhfAwtqTRuhGtg4zyQHXJ0A,29509
|
|
90
90
|
dclab/rtdc_dataset/fmt_s3.py,sha256=bU3V_WGyqJhxPCH80X_nlNqq-jXcgoZKv_aUBIqwaL8,11877
|
|
91
91
|
dclab/rtdc_dataset/feat_temp.py,sha256=XbDIS1iUUkRH0Zp9uVlwvK_untJ7hkOnKshK1Drsnt8,3694
|
|
92
92
|
dclab/rtdc_dataset/__init__.py,sha256=MUHSGVQJ4Zc0IyU2lf01dpDWyOyNveHip-UjSkmPNvQ,486
|
|
93
|
-
dclab/rtdc_dataset/core.py,sha256=
|
|
94
|
-
dclab/rtdc_dataset/export.py,sha256=
|
|
93
|
+
dclab/rtdc_dataset/core.py,sha256=mF3cktzJVjXJB2HLqOceiYTjZgOAkPp7BshFH0zxvn4,35075
|
|
94
|
+
dclab/rtdc_dataset/export.py,sha256=RMNRB_PXHnEUi4IpPEM5M3zjnayO-9Y7EoUwH1HMNtg,36751
|
|
95
95
|
dclab/rtdc_dataset/fmt_dict.py,sha256=gumVQOiVVDFUKow_483PY7cxInqo-NiBBnBhIU8s4lg,3009
|
|
96
|
-
dclab/rtdc_dataset/writer.py,sha256=
|
|
96
|
+
dclab/rtdc_dataset/writer.py,sha256=JgqFbc-Ih6qYK-jKMJqDh6P1yw9fj28Y0_ab08ijga4,42965
|
|
97
97
|
dclab/rtdc_dataset/filter.py,sha256=AFPUBzOIi3pqXgUdMQ5CIi9ZeGOKC71rfSZKLMLgtog,10023
|
|
98
98
|
dclab/rtdc_dataset/fmt_http.py,sha256=vXVxRLXZp2_V1v3xk4lu4VUHYXfNHJdsRkVt3trC1RU,3374
|
|
99
99
|
dclab/rtdc_dataset/load.py,sha256=5_xGw2P8Mjs0gW-vGr2Kn28j6Qv3BvvMvguMibC_mM4,2761
|
|
@@ -134,9 +134,9 @@ dclab/rtdc_dataset/fmt_tdms/event_image.py,sha256=-jp7Z-N91e4ieumYQ1huMicj7PMJqw
|
|
|
134
134
|
dclab/rtdc_dataset/fmt_tdms/event_trace.py,sha256=OdKOjW1cXURCWcb89PEcQKnkb0VqV0UA0m74maUu2GU,5213
|
|
135
135
|
dclab/rtdc_dataset/fmt_tdms/exc.py,sha256=WzrMqnyrzp8gsT8Pf7JKqGGv43ewx7d_qgtirURppRI,813
|
|
136
136
|
dclab/rtdc_dataset/fmt_tdms/event_contour.py,sha256=kjo0wJx9F0gmmOOyR0NoLw6VEtSl3h63WXXkcbfnoS8,9627
|
|
137
|
-
dclab-0.67.
|
|
138
|
-
dclab-0.67.
|
|
139
|
-
dclab-0.67.
|
|
140
|
-
dclab-0.67.
|
|
141
|
-
dclab-0.67.
|
|
142
|
-
dclab-0.67.
|
|
137
|
+
dclab-0.67.3.dist-info/RECORD,,
|
|
138
|
+
dclab-0.67.3.dist-info/WHEEL,sha256=3Ay3BV466cqEtozXyfUOiOI0BMlFSRJlC2qfKO6Lfps,135
|
|
139
|
+
dclab-0.67.3.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
|
|
140
|
+
dclab-0.67.3.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
|
|
141
|
+
dclab-0.67.3.dist-info/METADATA,sha256=ZeIAbqeq6aA_N8SqWWs-I0lCVqRf702Ta3IcPzyPZ5M,5724
|
|
142
|
+
dclab-0.67.3.dist-info/licenses/LICENSE,sha256=gLDaVZWRrlnLdyfOrR0qfWjLbOVcjvoJ-kCLUK0fyXA,15360
|
|
File without changes
|
|
File without changes
|
|
File without changes
|