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/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
- g1 = skew(data)
53
- sigma_g1 = np.sqrt(6 * (n - 2) / ((n + 1) * (n + 3)))
54
- k = 1 + np.log2(n) + np.log2(1 + np.abs(g1) / sigma_g1)
55
- acc = (data.max() - data.min()) / k
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
- """Ignores nans and infs from the input data
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 new_kde_method(events_x, events_y, xout=None, yout=None,
102
- *args, **kwargs):
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
- density[~bad_out] = kde_method(ev_x, ev_y,
117
- xo, yo,
118
- *args, **kwargs)
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
- new_kde_method.__doc__ = kde_method.__doc__ + doc_add
136
+ kde_wrapper.__doc__ = kde_method.__doc__ + doc_add
126
137
 
127
- return new_kde_method
138
+ return kde_wrapper
128
139
 
129
140
 
130
141
  @ignore_nan_inf
@@ -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
@@ -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
- # We have to add the indices of the root parent, which
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
- # This is where this basin differs from the basin
527
- # definition in the previous case.
528
- "basin_map": map_indices_child2root(
529
- child=ds,
530
- child_indices=np.arange(len(ds))
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("basin_type") == "internal":
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 not filtered:
548
- # filtering disabled: just copy basins
549
- pass
550
- elif basinmap_orig is None:
551
- # basins with "same" mapping: create new mapping
552
- bn_dict["basin_map"] = np.where(filter_arr)[0]
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
- # mapped basins: correct nested mapping
555
- bn_dict["basin_map"] = basinmap_orig[filter_arr]
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)
@@ -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 than may discontinue to work after
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 KeyError(f"Measurement identifier of basin {self.ds} "
322
- f"({self.get_measurement_identifier()}) does "
323
- f"not match {self.referrer_identifier}!")
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):
@@ -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.0
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=YrLn6YVZXLYQoooUIyEiuJXAqloz6_CdzCIn0buvzN8,714
2
+ dclab/_version.py,sha256=C93LipY6MoOvCWHtZWanKa2gAYf8_iZ23C55Gs_peq0,714
3
3
  dclab/util.py,sha256=HFT5ZQV6AW8GIIruVMldukbVVdlMyKH50GUfOogAcxI,5860
4
- dclab/downsampling.pyx,sha256=OK7zbgGLl5gVyoU8ZBHo9EWwb8C9ChavmLNEvQvC9T0,7258
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=COaPtjdU55eO93pO30WywNhVANxPMPrb4PXeO-83reA,243904
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=842qE5wg4_JJT_6Gdye4Kmzosgre3fM4MBBxYtu8f0w,2684
22
- dclab/features/bright_bc.py,sha256=qs_8906qdTJCQiLVrQVULqRr2Oewk8x6uIi644CJHsw,2985
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=qTfNffQeh-vWShA1ZE2WT-Yb8b9lDj1LwSRTad2VwxM,11936
25
- dclab/features/volume.py,sha256=YW--tTMTPbZN00DkRNIq35GuBvDIbSeu31MXcXNOhBE,8809
26
- dclab/features/bright_perc.py,sha256=QjhSEVXwU7IvsBOkeAka8oLBNKzXb3w_2R4xG1DIy9w,2024
27
- dclab/features/bright.py,sha256=rDQA8ke3B4Bor2X5B8WlhXrrITEGb50U-QjDGxzOIRo,2332
28
- dclab/features/contour.py,sha256=UwQIud9z52WxCpWVqXKImsjmFRfj-U7ksXuhOnzpTo0,5557
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=ZurqvUYmaYghmzyrwb744dcYnF9aLKrCRyRvixCABIY,14163
32
- dclab/features/emodulus/pxcorr.py,sha256=pcLjCUF0vha57YE7v0qeBlMCIOQaLt6zjtQ5qEPdoz8,4837
33
- dclab/features/emodulus/scale_linear.py,sha256=5tZfOpG4QSSEMlwSoA_3XRQuY0tiZ3CSm2HsibZAaMA,7683
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=Q9rII-7Om-f0m183VNeJUxNno7at1reigKtbzdrWgjE,8557
36
- dclab/features/emodulus/viscosity.py,sha256=o5s39fDnal5hkrtG8WqE_zuZG4jJzjOkZMA4MjbG7Jc,9596
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=aqBNCA5pjBL6r9wdEgzmSl5BWPIBEgPAmoQpeFw4Nts,2705
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=8g4lYUKYqt2pdA9efHVRBDCUUzmePmWPp6rljtJ0XD8,9438
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=w0or7ix8hnK-xqtGSyhyn48YUo55WnEEPsBjWrJna9s,16196
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=96zlAA-eHlxREy-a7UgtTCAxOnmbWCDi5mRVMWnnLmg,188792
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=fGvjdLGlFGi1B2p17tPZlMWumKE6XJVABivSk4t58Tg,207136
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=sioLjwBbsmlD7HwmECS9P4ROURmFmxazG-slhkOW3mY,55200
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=YRwR49jt3VVpMI5ctlxhgiTYqZR210_1HE_z6gwBKiY,9632
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=e38J0Ty54xTBCuaelFuRLEzXdtklE_El5CFKjtI3ohc,29365
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=HNRia2qxlDwCK52ypJ9TsOTlTLqszOEvYtAoCH2od3w,34896
94
- dclab/rtdc_dataset/export.py,sha256=B2GViMGOu3bkmocTe-O9_U7UYFaItoVO1iHgYJ48N-k,35211
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=MdqEFf4hpoBjjvNbp120BWCdaP1XjEyS3hxO2WNwApw,42845
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.0.dist-info/RECORD,,
138
- dclab-0.67.0.dist-info/WHEEL,sha256=bDWaFWigpG5bEpqw9IoRiyYs8MvmSFh0OhUAOoi_-KA,134
139
- dclab-0.67.0.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
140
- dclab-0.67.0.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
141
- dclab-0.67.0.dist-info/METADATA,sha256=r6I9pE1qTWf1-zJgx95_itGLi9TcMI3vBpbGIcec8UI,4978
142
- dclab-0.67.0.dist-info/licenses/LICENSE,sha256=gLDaVZWRrlnLdyfOrR0qfWjLbOVcjvoJ-kCLUK0fyXA,15360
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
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-cp39-macosx_11_0_arm64
5
5
  Generator: delocate 0.13.0