dclab 0.62.17__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.
Files changed (48) hide show
  1. dclab/_version.py +16 -3
  2. dclab/cli/task_tdms2rtdc.py +1 -1
  3. dclab/cli/task_verify_dataset.py +3 -3
  4. dclab/definitions/__init__.py +1 -1
  5. dclab/definitions/feat_const.py +6 -4
  6. dclab/definitions/feat_logic.py +27 -28
  7. dclab/downsampling.cpython-39-darwin.so +0 -0
  8. dclab/downsampling.pyx +12 -7
  9. dclab/external/skimage/_find_contours_cy.cpython-39-darwin.so +0 -0
  10. dclab/external/skimage/_pnpoly.cpython-39-darwin.so +0 -0
  11. dclab/external/skimage/_shared/geometry.cpython-39-darwin.so +0 -0
  12. dclab/features/bright.py +11 -2
  13. dclab/features/bright_bc.py +13 -2
  14. dclab/features/bright_perc.py +10 -2
  15. dclab/features/contour.py +12 -7
  16. dclab/features/emodulus/__init__.py +33 -27
  17. dclab/features/emodulus/load.py +8 -6
  18. dclab/features/emodulus/pxcorr.py +33 -15
  19. dclab/features/emodulus/scale_linear.py +79 -52
  20. dclab/features/emodulus/viscosity.py +31 -19
  21. dclab/features/fl_crosstalk.py +19 -10
  22. dclab/features/inert_ratio.py +18 -11
  23. dclab/features/volume.py +24 -14
  24. dclab/http_utils.py +1 -1
  25. dclab/kde/base.py +238 -14
  26. dclab/kde/methods.py +33 -12
  27. dclab/rtdc_dataset/config.py +1 -1
  28. dclab/rtdc_dataset/core.py +22 -8
  29. dclab/rtdc_dataset/export.py +171 -34
  30. dclab/rtdc_dataset/feat_basin.py +250 -33
  31. dclab/rtdc_dataset/fmt_dcor/api.py +69 -7
  32. dclab/rtdc_dataset/fmt_dcor/base.py +103 -4
  33. dclab/rtdc_dataset/fmt_dcor/logs.py +1 -1
  34. dclab/rtdc_dataset/fmt_dcor/tables.py +1 -1
  35. dclab/rtdc_dataset/fmt_hdf5/events.py +20 -1
  36. dclab/rtdc_dataset/fmt_hierarchy/base.py +1 -1
  37. dclab/rtdc_dataset/fmt_s3.py +29 -10
  38. dclab/rtdc_dataset/fmt_tdms/event_trace.py +1 -1
  39. dclab/rtdc_dataset/fmt_tdms/naming.py +1 -1
  40. dclab/rtdc_dataset/writer.py +43 -11
  41. dclab/statistics.py +27 -4
  42. dclab/warn.py +1 -1
  43. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/METADATA +26 -4
  44. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/RECORD +48 -48
  45. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/WHEEL +1 -1
  46. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/entry_points.txt +0 -0
  47. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/licenses/LICENSE +0 -0
  48. {dclab-0.62.17.dist-info → dclab-0.67.3.dist-info}/top_level.txt +0 -0
@@ -22,5 +22,5 @@ class DCORLogs:
22
22
  @property
23
23
  def _logs(self):
24
24
  if self._logs_cache is None:
25
- self._logs_cache = self.api.get(query="logs")
25
+ self._logs_cache = self.api.get(query="logs", timeout=5)
26
26
  return self._logs_cache
@@ -27,7 +27,7 @@ class DCORTables:
27
27
  @property
28
28
  def _tables(self):
29
29
  if self._tables_cache is None:
30
- table_data = self.api.get(query="tables")
30
+ table_data = self.api.get(query="tables", timeout=13)
31
31
  # assemble the tables
32
32
  tables = {}
33
33
  for key in table_data:
@@ -1,6 +1,7 @@
1
1
  """RT-DC hdf5 format"""
2
2
  from __future__ import annotations
3
3
 
4
+ import pathlib
4
5
  import warnings
5
6
 
6
7
  import numbers
@@ -17,7 +18,17 @@ class H5ContourEvent:
17
18
  self._length = length
18
19
  self.h5group = h5group
19
20
  # for hashing in util.obj2bytes
20
- self.identifier = (h5group.file.filename, h5group["0"].name)
21
+ # path within the HDF5 file
22
+ o_name = h5group["0"].name,
23
+ # filename
24
+ o_filename = h5group.file.filename
25
+ _data = [o_name, o_filename]
26
+ if pathlib.Path(o_filename).exists():
27
+ # when the file was changed
28
+ _data.append(pathlib.Path(h5group.file.filename).stat().st_mtime)
29
+ # size of the file
30
+ _data.append(pathlib.Path(h5group.file.filename).stat().st_size)
31
+ self.identifier = _data
21
32
 
22
33
  def __getitem__(self, key):
23
34
  if not isinstance(key, numbers.Integral):
@@ -168,6 +179,10 @@ class H5MaskEvent:
168
179
  def shape(self):
169
180
  return self.h5dataset.shape
170
181
 
182
+ @property
183
+ def size(self):
184
+ return np.prod(self.shape)
185
+
171
186
 
172
187
  class H5ScalarEvent(np.lib.mixins.NDArrayOperatorsMixin):
173
188
  def __init__(self, h5ds):
@@ -224,6 +239,10 @@ class H5ScalarEvent(np.lib.mixins.NDArrayOperatorsMixin):
224
239
  def shape(self):
225
240
  return self.h5ds.shape
226
241
 
242
+ @property
243
+ def size(self):
244
+ return len(self)
245
+
227
246
 
228
247
  class H5TraceEvent:
229
248
  def __init__(self, h5group):
@@ -29,7 +29,7 @@ class RTDC_Hierarchy(RTDCBase):
29
29
  Children in hierarchies always update their data according to
30
30
  the filtered event data from their parent when `apply_filter`
31
31
  is called. This makes it easier to save and load hierarchy
32
- children with e.g. Shape-Out and it makes the handling of
32
+ children with e.g. DCscope and it makes the handling of
33
33
  hierarchies more intuitive (when the parent changes,
34
34
  the child changes as well).
35
35
 
@@ -42,6 +42,27 @@ S3_ACCESS_KEY_ID = os.environ.get("DCLAB_S3_ACCESS_KEY_ID")
42
42
  S3_SECRET_ACCESS_KEY = os.environ.get("DCLAB_S3_SECRET_ACCESS_KEY")
43
43
 
44
44
 
45
+ @functools.lru_cache(maxsize=1000)
46
+ def get_s3_session_client(access_key_id: str,
47
+ secret_access_key: str,
48
+ use_ssl: bool,
49
+ verify_ssl: bool,
50
+ endpoint_url: str
51
+ ):
52
+ botocore_session = botocore.session.get_session()
53
+ s3_session = boto3.Session(
54
+ aws_access_key_id=access_key_id,
55
+ aws_secret_access_key=secret_access_key,
56
+ botocore_session=botocore_session)
57
+ s3_client = s3_session.client(
58
+ service_name='s3',
59
+ use_ssl=use_ssl,
60
+ verify=verify_ssl,
61
+ endpoint_url=endpoint_url,
62
+ )
63
+ return botocore_session, s3_session, s3_client
64
+
65
+
45
66
  class S3File(HTTPFile):
46
67
  """Monkeypatched `HTTPFile` to support authenticated access to S3"""
47
68
  def __init__(self,
@@ -74,17 +95,15 @@ class S3File(HTTPFile):
74
95
  "not specify the full S3 URL or that you forgot to set "
75
96
  "the `S3_ENDPOINT_URL` environment variable.")
76
97
  endpoint_url = endpoint_url.strip().rstrip("/")
77
- self.botocore_session = botocore.session.get_session()
78
- self.s3_session = boto3.Session(
79
- aws_access_key_id=access_key_id,
80
- aws_secret_access_key=secret_access_key,
81
- botocore_session=self.botocore_session)
82
- self.s3_client = self.s3_session.client(
83
- service_name='s3',
84
- use_ssl=use_ssl,
85
- verify=verify_ssl,
86
- endpoint_url=endpoint_url,
98
+ self.botocore_session, self.s3_session, self.s3_client = \
99
+ get_s3_session_client(
100
+ access_key_id=access_key_id,
101
+ secret_access_key=secret_access_key,
102
+ use_ssl=use_ssl,
103
+ verify_ssl=verify_ssl,
104
+ endpoint_url=endpoint_url,
87
105
  )
106
+
88
107
  # Use a configuration that allows anonymous access
89
108
  # https://stackoverflow.com/a/34866092
90
109
  if not secret_access_key:
@@ -17,7 +17,7 @@ class TraceColumn(object):
17
17
 
18
18
  The trace data is loaded when __getitem__, __len__, or __iter__
19
19
  are called. This saves time and memory when the trace data is
20
- not needed at all, e.g. for batch processing with Shape-Out.
20
+ not needed at all, e.g. for batch processing with DCscope.
21
21
  """
22
22
  self._trace = None
23
23
  self.mname = rtdc_dataset.path
@@ -49,7 +49,7 @@ for kk in dclab2tdms:
49
49
  tdms2dclab[dclab2tdms[kk]] = kk
50
50
 
51
51
  # Add capitalized userdef features as well.
52
- # see https://github.com/ZELLMECHANIK-DRESDEN/ShapeOut/issues/212
52
+ # see https://github.com/DC-analysis/DCscope/issues/212
53
53
  for _i in range(10):
54
54
  tdms2dclab["UserDef{}".format(_i)] = "userdef{}".format(_i)
55
55
 
@@ -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,
@@ -66,8 +70,8 @@ class RTDCWriter:
66
70
  compression_kwargs: dict-like
67
71
  Dictionary with the keys "compression" and "compression_opts"
68
72
  which are passed to :func:`h5py.H5File.create_dataset`. The
69
- default is Zstandard compression with the lowest compression
70
- level `hdf5plugin.Zstd(clevel=1)`. To disable compression, use
73
+ default is Zstandard compression with the compression
74
+ level 5 `hdf5plugin.Zstd(clevel=5)`. To disable compression, use
71
75
  `{"compression": None}`.
72
76
  compression: str or None
73
77
  Compression method used for data storage;
@@ -88,7 +92,7 @@ class RTDCWriter:
88
92
  # be backwards-compatible
89
93
  compression_kwargs = {"compression": compression}
90
94
  if compression_kwargs is None:
91
- compression_kwargs = hdf5plugin.Zstd(clevel=1)
95
+ compression_kwargs = hdf5plugin.Zstd(clevel=5)
92
96
 
93
97
  self.mode = mode
94
98
  self.compression_kwargs = compression_kwargs
@@ -207,8 +211,10 @@ class RTDCWriter:
207
211
  basin_descr: str | None = None,
208
212
  basin_feats: List[str] = None,
209
213
  basin_map: np.ndarray | Tuple[str, np.ndarray] = None,
214
+ basin_id: str = None,
210
215
  internal_data: Dict | h5py.Group = None,
211
216
  verify: bool = True,
217
+ perishable: bool = False,
212
218
  ):
213
219
  """Write basin information
214
220
 
@@ -242,6 +248,12 @@ class RTDCWriter:
242
248
  a case, you may specify a tuple `(feature_name, mapping_array)`
243
249
  where `feature_name` is the explicit mapping name, e.g.
244
250
  `"basinmap3"`.
251
+ basin_id: str
252
+ Identifier of the basin. This is the string returned by
253
+ :meth:`.RTDCBase.get_measurement_identifier`. This is
254
+ a unique string that identifies the data within a basin.
255
+ If not specified and `verify=True`, this value is automatically
256
+ taken from the basin file.
245
257
  internal_data: dict or instance of h5py.Group
246
258
  A dictionary or an `h5py.Group` containing the basin data.
247
259
  The data are copied to the "basin_events" group, if
@@ -249,9 +261,13 @@ class RTDCWriter:
249
261
  This must be specified when storing internal basins, and it
250
262
  must not be specified for any other basin type.
251
263
  verify: bool
252
- whether to verify the basin before storing it; You might have
264
+ Whether to verify the basin before storing it; You might have
253
265
  set this to False if you would like to write a basin that is
254
266
  e.g. temporarily not available
267
+ perishable: bool
268
+ Whether the basin is perishable. If this is True, then a
269
+ warning will be issued, because perishable basins may not be
270
+ accessed (e.g. time-based URL for private S3 data).
255
271
 
256
272
  Returns
257
273
  -------
@@ -261,6 +277,9 @@ class RTDCWriter:
261
277
 
262
278
  .. versionadded:: 0.58.0
263
279
  """
280
+ if perishable:
281
+ warnings.warn(f"Storing perishable basin '{basin_name}'",
282
+ StoringPerishableBasinWarning)
264
283
  if basin_type == "internal":
265
284
  if internal_data is None:
266
285
  raise ValueError(
@@ -303,19 +322,30 @@ class RTDCWriter:
303
322
  # We have to import this here to avoid circular imports
304
323
  from .load import new_dataset
305
324
  # Make sure the basin can be opened by dclab, verify its ID
306
- cur_id = self.h5file.attrs.get("experiment:run identifier")
325
+ ref_id = self.h5file.attrs.get("experiment:run identifier")
307
326
  for loc in basin_locs:
308
327
  with new_dataset(loc) as ds:
309
328
  # We can open the file, which is great.
310
- if cur_id:
311
- # Compare the IDs.
312
- ds_id = ds.get_measurement_identifier()
313
- if not (ds_id == cur_id
329
+ # Compare the IDs.
330
+ bn_id = ds.get_measurement_identifier()
331
+ # Check whether `basin_id` matches the actual basin
332
+ if basin_id:
333
+ if basin_id != bn_id:
334
+ raise ValueError(
335
+ f"Measurement identifier mismatch for "
336
+ f"{loc}: got {bn_id}, expected {basin_id=})!")
337
+ else:
338
+ # If `basin_id` was not specified, set it here for
339
+ # user convenience.
340
+ basin_id = bn_id or None
341
+ # Check whether the referrer ID matches the basin ID.
342
+ if ref_id:
343
+ if not (bn_id == ref_id
314
344
  or (basin_map is not None
315
- and cur_id.startswith(ds_id))):
345
+ and ref_id.startswith(bn_id))):
316
346
  raise ValueError(
317
347
  f"Measurement identifier mismatch between "
318
- f"{self.path} ({cur_id}) and {loc} ({ds_id})!")
348
+ f"{self.path} ({ref_id}) and {loc} ({bn_id})!")
319
349
  if basin_feats:
320
350
  for feat in basin_feats:
321
351
  if not dfn.feature_exists(feat):
@@ -381,6 +411,8 @@ class RTDCWriter:
381
411
  "type": basin_type,
382
412
  "features": None if basin_feats is None else sorted(basin_feats),
383
413
  "mapping": basin_map_name,
414
+ "perishable": perishable,
415
+ "identifier": basin_id,
384
416
  }
385
417
  if basin_type == "file":
386
418
  flocs = []
dclab/statistics.py CHANGED
@@ -86,7 +86,7 @@ def flow_rate(ds):
86
86
  return np.nan
87
87
 
88
88
 
89
- def get_statistics(ds, methods=None, features=None):
89
+ def get_statistics(ds, methods=None, features=None, ret_dict=False):
90
90
  """Compute statistics for an RT-DC dataset
91
91
 
92
92
  Parameters
@@ -96,13 +96,16 @@ def get_statistics(ds, methods=None, features=None):
96
96
  methods: list of str or None
97
97
  The methods wih which to compute the statistics.
98
98
  The list of available methods is given with
99
- `dclab.statistics.Statistics.available_methods.keys()`
99
+ :func:`.available_methods.keys`
100
100
  If set to `None`, statistics for all methods are computed.
101
101
  features: list of str
102
102
  Feature name identifiers are defined by
103
- `dclab.definitions.feature_exists`.
103
+ :func:`dclab.definitions.feature_exists`.
104
104
  If set to `None`, statistics for all scalar features
105
105
  available are computed.
106
+ ret_dict: bool
107
+ Instead of returning ``(header, values)``, return a dictionary
108
+ with headers as keys.
106
109
 
107
110
  Returns
108
111
  -------
@@ -148,7 +151,10 @@ def get_statistics(ds, methods=None, features=None):
148
151
  label = dfn.get_feature_label(ft, rtdc_ds=ds)
149
152
  header.append(" ".join([mt, label]))
150
153
 
151
- return header, values
154
+ if ret_dict:
155
+ return dict(zip(header, values))
156
+ else:
157
+ return header, values
152
158
 
153
159
 
154
160
  def mode(data):
@@ -191,7 +197,24 @@ def mode(data):
191
197
  # Register all the methods
192
198
  # Methods that require an axis
193
199
  Statistics(name="Mean", req_feature=True, method=np.average)
200
+ # Premature-Optimization warning: `np.percentile` also accepts an array
201
+ # of percentiles as the `q` argument, which I would expect to yield better
202
+ # performance than computing percentiles individually. Implementing this
203
+ # would break the way we are defining statistical methods here (One
204
+ # `Statistics` instance per method) and thus requires a considerable
205
+ # amount of work (much more work than writing this text here). It would
206
+ # also make understanding the code more difficult. In addition, computing
207
+ # statistics is not done often and is extremely fast anyway for a few
208
+ # millions of events. Don't optimize this!
209
+ Statistics(name="10th Percentile", req_feature=True,
210
+ method=lambda data: np.percentile(data, 10))
211
+ Statistics(name="25th Percentile", req_feature=True,
212
+ method=lambda data: np.percentile(data, 25))
194
213
  Statistics(name="Median", req_feature=True, method=np.median)
214
+ Statistics(name="75th Percentile", req_feature=True,
215
+ method=lambda data: np.percentile(data, 75))
216
+ Statistics(name="90th Percentile", req_feature=True,
217
+ method=lambda data: np.percentile(data, 90))
195
218
  Statistics(name="Mode", req_feature=True, method=mode)
196
219
  Statistics(name="SD", req_feature=True, method=np.std)
197
220
  # Methods that work on RTDCBase
dclab/warn.py CHANGED
@@ -9,7 +9,7 @@ class PipelineWarning(UserWarning):
9
9
  computation) in his analysis pipeline. All of these
10
10
  warnings should be subclassed from PipelineWarning
11
11
  to allow identifying them in higher-level software
12
- such as Shape-Out and to present them correctly to the
12
+ such as DCscope and to present them correctly to the
13
13
  user.
14
14
  """
15
15
  pass
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dclab
3
- Version: 0.62.17
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>
7
- License: GPL-2.0-or-later
7
+ License-Expression: GPL-2.0-or-later
8
8
  Project-URL: source, https://github.com/DC-Analysis/dclab
9
9
  Project-URL: tracker, https://github.com/DC-Analysis/dclab/issues
10
10
  Project-URL: documentation, https://dclab.readthedocs.io/en/stable/
@@ -14,7 +14,7 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Topic :: Scientific/Engineering :: Visualization
16
16
  Classifier: Intended Audience :: Science/Research
17
- Requires-Python: <4,>=3.8
17
+ Requires-Python: <4,>=3.9
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE
20
20
  Requires-Dist: h5py<4,>=3.0.0
@@ -46,7 +46,13 @@ Dynamic: license-file
46
46
 
47
47
  This is a Python library for the post-measurement analysis of
48
48
  real-time deformability cytometry (RT-DC) datasets; an essential part of
49
- `Shape-Out <https://github.com/ZELLMECHANIK-DRESDEN/ShapeOut2>`__.
49
+ the DC Cosmos (
50
+ `DCscope <https://github.com/DC-analysis/DCscope>`__,
51
+ `DCOR <https://github.com/DCOR-dev/dcor_control>`__,
52
+ `DCOR-Aid <https://github.com/DCOR-dev/DCOR-Aid>`__,
53
+ `DCTag <https://github.com/DC-analysis/DCTag>`__,
54
+ `DCKit <https://github.com/DC-analysis/DCKit>`__,
55
+ ).
50
56
 
51
57
  Documentation
52
58
  -------------
@@ -122,6 +128,22 @@ We use flake8 to enforce coding style::
122
128
  flake8 tests
123
129
 
124
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
+
125
147
  Incrementing version
126
148
  ~~~~~~~~~~~~~~~~~~~~
127
149
  Dclab gets its version from the latest git tag.
@@ -1,14 +1,14 @@
1
1
  dclab/kde_methods.py,sha256=f0-zDN7ETintvGB3gSzxwgBb53YtT9jZtzI70EAX50g,365
2
- dclab/_version.py,sha256=GEa7QH3NrBgvyLi3LNdBdNGUvveY9cblWLa2mkR4bCI,515
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
- dclab/warn.py,sha256=MjJvyQeuvIXFQ2-fHDzbmXJ0scnHqqRJlIxfuLI_utE,523
6
+ dclab/warn.py,sha256=fy2fcZdA0YRMlVFIcOPNZJQOQLkvblJQ8pCfCx1phnw,521
7
7
  dclab/cached.py,sha256=eWTYBiI-HQM7JuPH-oxa5LLnhAX32GpRwlYg2kQ3sTA,2917
8
- dclab/http_utils.py,sha256=YtZHEwB-BBBo2fCvwhlJvlnWvfWFMHclqol3OIJ7atM,10910
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=NPJEDoRkr55DIzm4Xysvs2ozrF5F0rfYf4Z5v4Qk-jQ,258416
11
- dclab/statistics.py,sha256=tJDqPlY_Jw2Hhl-s7ugMBSZAxcRuPu4LQuBAZBXz7t8,6355
10
+ dclab/downsampling.cpython-39-darwin.so,sha256=Nr3zUj4k2CFx-AfYH7oC3bzrRfEc8y-G-5EIEBkb6rw,260992
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
14
14
  dclab/isoelastics/iso_HE-3D-FEM-22-area_um-deform.txt,sha256=IjULG1KO-hClaYPoJJnwPbF2TkS9i9jxF1tbhhQTClY,71350
@@ -18,39 +18,39 @@ 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
40
40
  dclab/lme4/wrapr.py,sha256=rdIc2hS8GhgdU9WFA6pLzohJGlBga-mkm60qqqk6VO4,15017
41
- dclab/cli/task_tdms2rtdc.py,sha256=u0L1Fq9rXIeQG9b72SuUIh_qYC6fG2xXxht9_rcdCao,8283
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=SYlAjoST66hEZnRmsdZ6izMmgfebxQxTfBR5PHhzDkE,9208
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=i6bNYYeQSFlq03Z5CZjhBE-V3xpY6YLWivL3guscsnE,7683
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=Sa1jdwLWzpV-QcrvNqGsFiI_VReCb1x-cwZ4UUVMUx0,204152
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=bLYrznNaDDSbOrMkgebDCwah8KnBtV3BwomN-HXTbX0,221872
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=V8zYYC0Jq8U52iFemzFukvRedvYDYa9mM7NVZaJiCW0,55872
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
- dclab/definitions/feat_logic.py,sha256=SXsSlAusgtE3uXcPu84dQwYZ07zxmV37DmPednA3_dM,5823
80
+ dclab/definitions/feat_logic.py,sha256=_Rr2vK-nbRNjxk5Kf8Iohs_Q3jzUe9EZJgxB9vMwxwE,5379
81
81
  dclab/definitions/meta_parse.py,sha256=YdaTdM8DAMsIFn5ITH9OHYGTXeAOBGWtx22oVjxXcWk,2393
82
- dclab/definitions/__init__.py,sha256=56VL7rNTjP61gpGgN2GEUKicds2aBz_nWNwzfNxO_l8,2781
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=3zii5bXN0d0lMtkiI8dR9ivNlNQYosZASAlOg1UKKPA,9634
84
+ dclab/definitions/feat_const.py,sha256=JSCxOVEg86vBPAm_pjHgGYuLExvYc2Z1Rz4ksRps-jw,9746
85
85
  dclab/definitions/meta_logic.py,sha256=wCgb7DPRHaR8DCWw_VbwNkpslUnazzWfgX0iS8oEe90,4194
86
- dclab/rtdc_dataset/config.py,sha256=MvBteFya3R6Ch3U6UgTakCsJoBgVykTxS_Z25STWPHU,17432
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=ViKdvJcwFM8joysnrBYdZbA5t_wZix-6xn_FsvzpYsQ,21072
90
- dclab/rtdc_dataset/fmt_s3.py,sha256=FVw0q3CwiPwDKmz37EsjK2T5CLr4MsH3pvscu-gToVM,11278
89
+ dclab/rtdc_dataset/feat_basin.py,sha256=vXeNt0eWngEy08anWQttrhfAwtqTRuhGtg4zyQHXJ0A,29509
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=EjNWk9SV-2xBTRtf34XosLCOS164vGWKP5dKKLSOSq4,34441
94
- dclab/rtdc_dataset/export.py,sha256=RPnWNDAPW1m3vPcStjqIX-YnxDOKyWLtQ1HrA38S3Uo,30384
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=jc6ADyxGoujXpoXu1vF2nfZjGFMaO5LbRmoYJZ83JVo,41418
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
@@ -104,10 +104,10 @@ dclab/rtdc_dataset/fmt_hierarchy/events.py,sha256=pRqiFJpBoTwL2krG3asmLw4Fyp7O-v
104
104
  dclab/rtdc_dataset/fmt_hierarchy/mapper.py,sha256=dgGLO1ki2upV9QP6h7DCyNGgcMw45bzFbXc1CyyFAGw,4210
105
105
  dclab/rtdc_dataset/fmt_hierarchy/__init__.py,sha256=0e0lmGjeb9e7skZy1ksfEOFkwKLIu1N6MnuY1aUWkWA,355
106
106
  dclab/rtdc_dataset/fmt_hierarchy/hfilter.py,sha256=niYjYz6R-D2S2zurgmmIqrmsSFJ3tVgAS-UxweImAEU,5852
107
- dclab/rtdc_dataset/fmt_hierarchy/base.py,sha256=TaDFysJYhRMDDKwVpQn9qcpfmPZofHkvpu46TyHGht4,9440
107
+ dclab/rtdc_dataset/fmt_hierarchy/base.py,sha256=gIcUXaO4gfQ1m8KDkY3X2KN7KyjdVPV81ls1TtHZcwk,9438
108
108
  dclab/rtdc_dataset/fmt_hdf5/feat_defect.py,sha256=MeIxPz799x-sljbmSb0n40eVLw_iPnbCfOm07_lTBxo,6540
109
109
  dclab/rtdc_dataset/fmt_hdf5/basin.py,sha256=mJZR92Qoa71EwDVDYAP9KtOcjvRyjtA2wO1DkCBfBQc,792
110
- dclab/rtdc_dataset/fmt_hdf5/events.py,sha256=JUuPviS4lEXMjfNgJE-jkeArAwUVkdA1bmAszJGjPvc,8231
110
+ dclab/rtdc_dataset/fmt_hdf5/events.py,sha256=Us5xdKsmxOgTSDxFjnYSFIzm5kkDj6pTKPT9JcgI1cE,8782
111
111
  dclab/rtdc_dataset/fmt_hdf5/__init__.py,sha256=yWLYK-Fq0EYnp2eYfl1Ze02RBMOWg-iALJWs4dFSxxY,270
112
112
  dclab/rtdc_dataset/fmt_hdf5/logs.py,sha256=-mDewfv_aOeHaJykuJIWsqr9a7-moKhoGhqw9cR4ebg,1004
113
113
  dclab/rtdc_dataset/fmt_hdf5/tables.py,sha256=9Q-9N52BTtOT_9avGObpe71t6MpLAKQDhbJrcETJ4a8,1553
@@ -123,20 +123,20 @@ dclab/rtdc_dataset/feat_anc_ml/__init__.py,sha256=99jZlz17aBCAxI5xx42XINomMy20Hi
123
123
  dclab/rtdc_dataset/fmt_dcor/access_token.py,sha256=jotLQay138RUlv8wbdF2ishRnyE9N0KwGGBlbCL0wRI,2028
124
124
  dclab/rtdc_dataset/fmt_dcor/basin.py,sha256=tQZ4GumqURjS3eppRrSyUq1zBPD0y_8rwznMRDXiDUs,2526
125
125
  dclab/rtdc_dataset/fmt_dcor/__init__.py,sha256=WjO1uM_Vlof15Y7HkhkV5Xv75q9TDIdOBIuS_I38qps,210
126
- dclab/rtdc_dataset/fmt_dcor/api.py,sha256=COPRnPfPBcxbQGxHFEbGxp2CjK-Mgnt3cIu20-Zz04M,4245
127
- dclab/rtdc_dataset/fmt_dcor/logs.py,sha256=1JsMr_4r5j8rkfrrUsiN42_l92GcvDjapYxopZKimnw,583
128
- dclab/rtdc_dataset/fmt_dcor/tables.py,sha256=NaVEwLKmOg7Mz5iAMe2S8C4xRVC_YO3zeT7g5EbQE1M,1682
129
- dclab/rtdc_dataset/fmt_dcor/base.py,sha256=wD127W5LvvhkUy8SvFVVwAR6EEYtzgoWJ4booh45rfA,6588
126
+ dclab/rtdc_dataset/fmt_dcor/api.py,sha256=IhmNpEdVSGHdJUepCkmuyTVOp3fNn1WASPVohAzwhu8,6274
127
+ dclab/rtdc_dataset/fmt_dcor/logs.py,sha256=FHaDGjh4wMd18S2FFr6IVdd23l21S6s3fwZnFbPG83E,594
128
+ dclab/rtdc_dataset/fmt_dcor/tables.py,sha256=a4gMIjH0TgFdz36l_F-xriHTT4LMI64ur-atHyvAp80,1694
129
+ dclab/rtdc_dataset/fmt_dcor/base.py,sha256=cFiZcWG43jOGTY3oNl-E_vdzbm5QZU1CEB7ucrLZP_U,11167
130
130
  dclab/rtdc_dataset/fmt_tdms/event_mask.py,sha256=eZiDHAGG3MCVckEMHsV-YBbL-pETVLomGk1gmpjc8-k,2175
131
- dclab/rtdc_dataset/fmt_tdms/naming.py,sha256=biI9l1EO6BuSYgwZG0deacj4i1fMHQcW78AKXEcm5Wc,5373
131
+ dclab/rtdc_dataset/fmt_tdms/naming.py,sha256=1t_NIHIJhvqkgbUUS27ta6mzId0t3lYhgB4Pz2NV2sU,5363
132
132
  dclab/rtdc_dataset/fmt_tdms/__init__.py,sha256=3Hc6ASVHEmZBW0pCdFiLZcBtNPcEjG6c7eddqeAZRK4,18923
133
133
  dclab/rtdc_dataset/fmt_tdms/event_image.py,sha256=-jp7Z-N91e4ieumYQ1huMicj7PMJqwIr5VsNWE_-EEk,8006
134
- dclab/rtdc_dataset/fmt_tdms/event_trace.py,sha256=Vkym0QKSw2mq1XZl5n8wDkgHXmaZwQGiMAV5AuRSJkE,5215
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.62.17.dist-info/RECORD,,
138
- dclab-0.62.17.dist-info/WHEEL,sha256=HO9mXbqgM4Go8g994JGCRqzrGrswAcuXl8i0pdN2UG8,134
139
- dclab-0.62.17.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
140
- dclab-0.62.17.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
141
- dclab-0.62.17.dist-info/METADATA,sha256=sxoMpN4ygAI9x12l_IsEKUqi32wGJ3o2Tg2OKEx8cKQ,4756
142
- dclab-0.62.17.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 (78.1.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