dclab 0.62.13__tar.gz → 0.62.15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dclab might be problematic. Click here for more details.

Files changed (323) hide show
  1. {dclab-0.62.13 → dclab-0.62.15}/CHANGELOG +5 -0
  2. {dclab-0.62.13 → dclab-0.62.15}/PKG-INFO +1 -1
  3. {dclab-0.62.13 → dclab-0.62.15}/dclab/_version.py +9 -4
  4. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/tables.py +3 -1
  5. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/tables.py +4 -1
  6. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/load.py +5 -0
  7. dclab-0.62.15/dclab/rtdc_dataset/meta_table.py +25 -0
  8. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/writer.py +7 -0
  9. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/PKG-INFO +1 -1
  10. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/SOURCES.txt +1 -0
  11. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_export_hdf5.py +50 -0
  12. {dclab-0.62.13 → dclab-0.62.15}/.gitignore +0 -0
  13. {dclab-0.62.13 → dclab-0.62.15}/.readthedocs.yml +0 -0
  14. {dclab-0.62.13 → dclab-0.62.15}/LICENSE +0 -0
  15. {dclab-0.62.13 → dclab-0.62.15}/MANIFEST.in +0 -0
  16. {dclab-0.62.13 → dclab-0.62.15}/README.rst +0 -0
  17. {dclab-0.62.13 → dclab-0.62.15}/dclab/__init__.py +0 -0
  18. {dclab-0.62.13 → dclab-0.62.15}/dclab/cached.py +0 -0
  19. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/__init__.py +0 -0
  20. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/common.py +0 -0
  21. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_compress.py +0 -0
  22. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_condense.py +0 -0
  23. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_join.py +0 -0
  24. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_repack.py +0 -0
  25. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_split.py +0 -0
  26. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_tdms2rtdc.py +0 -0
  27. {dclab-0.62.13 → dclab-0.62.15}/dclab/cli/task_verify_dataset.py +0 -0
  28. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/__init__.py +0 -0
  29. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/feat_const.py +0 -0
  30. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/feat_logic.py +0 -0
  31. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/meta_const.py +0 -0
  32. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/meta_logic.py +0 -0
  33. {dclab-0.62.13 → dclab-0.62.15}/dclab/definitions/meta_parse.py +0 -0
  34. {dclab-0.62.13 → dclab-0.62.15}/dclab/downsampling.pyx +0 -0
  35. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/__init__.py +0 -0
  36. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/LICENSE +0 -0
  37. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/LICENSE.APACHE +0 -0
  38. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/LICENSE.BSD +0 -0
  39. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/__init__.py +0 -0
  40. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/_structures.py +0 -0
  41. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/packaging/version.py +0 -0
  42. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/LICENSE +0 -0
  43. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/__init__.py +0 -0
  44. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_find_contours.py +0 -0
  45. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_find_contours_cy.pyx +0 -0
  46. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_pnpoly.pyx +0 -0
  47. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_shared/__init__.py +0 -0
  48. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_shared/geometry.pxd +0 -0
  49. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/_shared/geometry.pyx +0 -0
  50. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/measure.py +0 -0
  51. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/skimage/pnpoly.py +0 -0
  52. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/LICENSE +0 -0
  53. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/__init__.py +0 -0
  54. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/nonparametric/__init__.py +0 -0
  55. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/nonparametric/_kernel_base.py +0 -0
  56. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/nonparametric/kernel_density.py +0 -0
  57. {dclab-0.62.13 → dclab-0.62.15}/dclab/external/statsmodels/nonparametric/kernels.py +0 -0
  58. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/__init__.py +0 -0
  59. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/bright.py +0 -0
  60. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/bright_bc.py +0 -0
  61. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/bright_perc.py +0 -0
  62. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/contour.py +0 -0
  63. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/__init__.py +0 -0
  64. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/load.py +0 -0
  65. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/lut_HE-2D-FEM-22.txt +0 -0
  66. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/lut_HE-3D-FEM-22.txt +0 -0
  67. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/lut_LE-2D-FEM-19.txt +0 -0
  68. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/pxcorr.py +0 -0
  69. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/scale_linear.py +0 -0
  70. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/emodulus/viscosity.py +0 -0
  71. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/fl_crosstalk.py +0 -0
  72. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/inert_ratio.py +0 -0
  73. {dclab-0.62.13 → dclab-0.62.15}/dclab/features/volume.py +0 -0
  74. {dclab-0.62.13 → dclab-0.62.15}/dclab/http_utils.py +0 -0
  75. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/__init__.py +0 -0
  76. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_HE-2D-FEM-22-area_um-deform.txt +0 -0
  77. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_HE-2D-FEM-22-volume-deform.txt +0 -0
  78. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_HE-3D-FEM-22-area_um-deform.txt +0 -0
  79. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_HE-3D-FEM-22-volume-deform.txt +0 -0
  80. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_LE-2D-FEM-19-area_um-deform.txt +0 -0
  81. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_LE-2D-FEM-19-volume-deform.txt +0 -0
  82. {dclab-0.62.13 → dclab-0.62.15}/dclab/isoelastics/iso_LE-2D-ana-18-area_um-deform.txt +0 -0
  83. {dclab-0.62.13 → dclab-0.62.15}/dclab/kde_contours.py +0 -0
  84. {dclab-0.62.13 → dclab-0.62.15}/dclab/kde_methods.py +0 -0
  85. {dclab-0.62.13 → dclab-0.62.15}/dclab/lme4/__init__.py +0 -0
  86. {dclab-0.62.13 → dclab-0.62.15}/dclab/lme4/lme4_template.R +0 -0
  87. {dclab-0.62.13 → dclab-0.62.15}/dclab/lme4/rsetup.py +0 -0
  88. {dclab-0.62.13 → dclab-0.62.15}/dclab/lme4/wrapr.py +0 -0
  89. {dclab-0.62.13 → dclab-0.62.15}/dclab/polygon_filter.py +0 -0
  90. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/__init__.py +0 -0
  91. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/check.py +0 -0
  92. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/config.py +0 -0
  93. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/copier.py +0 -0
  94. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/core.py +0 -0
  95. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/export.py +0 -0
  96. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/__init__.py +0 -0
  97. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/af_basic.py +0 -0
  98. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/af_emodulus.py +0 -0
  99. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/af_fl_max_ctc.py +0 -0
  100. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/af_image_contour.py +0 -0
  101. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/af_ml_class.py +0 -0
  102. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_core/ancillary_feature.py +0 -0
  103. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_ml/__init__.py +0 -0
  104. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_plugin/__init__.py +0 -0
  105. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_anc_plugin/plugin_feature.py +0 -0
  106. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_basin.py +0 -0
  107. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/feat_temp.py +0 -0
  108. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/filter.py +0 -0
  109. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/__init__.py +0 -0
  110. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/access_token.py +0 -0
  111. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/api.py +0 -0
  112. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/base.py +0 -0
  113. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/basin.py +0 -0
  114. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dcor/logs.py +0 -0
  115. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_dict.py +0 -0
  116. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/__init__.py +0 -0
  117. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/base.py +0 -0
  118. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/basin.py +0 -0
  119. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/events.py +0 -0
  120. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/feat_defect.py +0 -0
  121. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hdf5/logs.py +0 -0
  122. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hierarchy/__init__.py +0 -0
  123. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hierarchy/base.py +0 -0
  124. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hierarchy/events.py +0 -0
  125. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hierarchy/hfilter.py +0 -0
  126. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_hierarchy/mapper.py +0 -0
  127. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_http.py +0 -0
  128. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_s3.py +0 -0
  129. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/__init__.py +0 -0
  130. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/event_contour.py +0 -0
  131. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/event_image.py +0 -0
  132. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/event_mask.py +0 -0
  133. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/event_trace.py +0 -0
  134. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/exc.py +0 -0
  135. {dclab-0.62.13 → dclab-0.62.15}/dclab/rtdc_dataset/fmt_tdms/naming.py +0 -0
  136. {dclab-0.62.13 → dclab-0.62.15}/dclab/statistics.py +0 -0
  137. {dclab-0.62.13 → dclab-0.62.15}/dclab/util.py +0 -0
  138. {dclab-0.62.13 → dclab-0.62.15}/dclab/warn.py +0 -0
  139. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/dependency_links.txt +0 -0
  140. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/entry_points.txt +0 -0
  141. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/requires.txt +0 -0
  142. {dclab-0.62.13 → dclab-0.62.15}/dclab.egg-info/top_level.txt +0 -0
  143. {dclab-0.62.13 → dclab-0.62.15}/docs/.gitignore +0 -0
  144. {dclab-0.62.13 → dclab-0.62.15}/docs/README.md +0 -0
  145. {dclab-0.62.13 → dclab-0.62.15}/docs/conf.py +0 -0
  146. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example.poly +0 -0
  147. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example.rtdc +0 -0
  148. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example_plugin.py +0 -0
  149. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example_plugin_metadata.py +0 -0
  150. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example_traces.rtdc +0 -0
  151. {dclab-0.62.13 → dclab-0.62.15}/docs/data/example_video.rtdc +0 -0
  152. {dclab-0.62.13 → dclab-0.62.15}/docs/dclab.bib +0 -0
  153. {dclab-0.62.13 → dclab-0.62.15}/docs/extensions/dclab_defs.py +0 -0
  154. {dclab-0.62.13 → dclab-0.62.15}/docs/extensions/fancy_include.py +0 -0
  155. {dclab-0.62.13 → dclab-0.62.15}/docs/extensions/github_changelog.py +0 -0
  156. {dclab-0.62.13 → dclab-0.62.15}/docs/extensions/simple_argparse.py +0 -0
  157. {dclab-0.62.13 → dclab-0.62.15}/docs/figures/DCOR_API_Token_website.png +0 -0
  158. {dclab-0.62.13 → dclab-0.62.15}/docs/index.rst +0 -0
  159. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dc_logo.png +0 -0
  160. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dc_logo.svg +0 -0
  161. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dclab.png +0 -0
  162. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dclab.svg +0 -0
  163. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dclab_large_white.png +0 -0
  164. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/dclab_large_white.svg +0 -0
  165. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/favicon.ico +0 -0
  166. {dclab-0.62.13 → dclab-0.62.15}/docs/logo/favicon.svg +0 -0
  167. {dclab-0.62.13 → dclab-0.62.15}/docs/requirements.txt +0 -0
  168. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_advanced_usage.rst +0 -0
  169. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_basins/index.rst +0 -0
  170. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_dc_io.rst +0 -0
  171. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_dc_usage.rst +0 -0
  172. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_dcor.rst +0 -0
  173. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/.gitignore +0 -0
  174. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-2D-FEM-22.png +0 -0
  175. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-3D-FEM-22.png +0 -0
  176. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_LE-2D-FEM-19.png +0 -0
  177. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/plot_emodulus_lut.py +0 -0
  178. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_emodulus/requirements.txt +0 -0
  179. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_viscosity/LICENSE +0 -0
  180. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.jpg +0 -0
  181. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.pdf +0 -0
  182. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_emodulus/index.rst +0 -0
  183. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_feat_plugin.rst +0 -0
  184. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_feat_temp.rst +0 -0
  185. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_fluorescence.rst +0 -0
  186. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_lme4.rst +0 -0
  187. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_notation.rst +0 -0
  188. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_s3.rst +0 -0
  189. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_av_scatter.rst +0 -0
  190. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_changelog.rst +0 -0
  191. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_cli.rst +0 -0
  192. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_code_reference.rst +0 -0
  193. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_examples.rst +0 -0
  194. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_getting_started.rst +0 -0
  195. {dclab-0.62.13 → dclab-0.62.15}/docs/sec_z_bib.rst +0 -0
  196. {dclab-0.62.13 → dclab-0.62.15}/examples/emodulus_dcor.jpg +0 -0
  197. {dclab-0.62.13 → dclab-0.62.15}/examples/emodulus_dcor.py +0 -0
  198. {dclab-0.62.13 → dclab-0.62.15}/examples/generate_example_images.py +0 -0
  199. {dclab-0.62.13 → dclab-0.62.15}/examples/isoelastics.jpg +0 -0
  200. {dclab-0.62.13 → dclab-0.62.15}/examples/isoelastics.py +0 -0
  201. {dclab-0.62.13 → dclab-0.62.15}/examples/isoelastics_custom.jpg +0 -0
  202. {dclab-0.62.13 → dclab-0.62.15}/examples/isoelastics_custom.py +0 -0
  203. {dclab-0.62.13 → dclab-0.62.15}/examples/lme4_glmer_diff.py +0 -0
  204. {dclab-0.62.13 → dclab-0.62.15}/examples/lme4_lmer.jpg +0 -0
  205. {dclab-0.62.13 → dclab-0.62.15}/examples/lme4_lmer.py +0 -0
  206. {dclab-0.62.13 → dclab-0.62.15}/examples/overview_plot.jpg +0 -0
  207. {dclab-0.62.13 → dclab-0.62.15}/examples/overview_plot.py +0 -0
  208. {dclab-0.62.13 → dclab-0.62.15}/examples/plugin_example.py +0 -0
  209. {dclab-0.62.13 → dclab-0.62.15}/examples/plugin_usage.jpg +0 -0
  210. {dclab-0.62.13 → dclab-0.62.15}/examples/plugin_usage.py +0 -0
  211. {dclab-0.62.13 → dclab-0.62.15}/examples/viscosity_models.jpg +0 -0
  212. {dclab-0.62.13 → dclab-0.62.15}/examples/viscosity_models.py +0 -0
  213. {dclab-0.62.13 → dclab-0.62.15}/pyproject.toml +0 -0
  214. {dclab-0.62.13 → dclab-0.62.15}/scripts/.gitignore +0 -0
  215. {dclab-0.62.13 → dclab-0.62.15}/scripts/README.md +0 -0
  216. {dclab-0.62.13 → dclab-0.62.15}/scripts/fem2iso_volume.py +0 -0
  217. {dclab-0.62.13 → dclab-0.62.15}/scripts/fem2lutiso_std.py +0 -0
  218. {dclab-0.62.13 → dclab-0.62.15}/scripts/fem2rtdc.py +0 -0
  219. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/__init__.py +0 -0
  220. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/LUT_analytical_linear-elastic_2Daxis.txt +0 -0
  221. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/README.md +0 -0
  222. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/__init__.py +0 -0
  223. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/common.py +0 -0
  224. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/he_2d_fem_22.py +0 -0
  225. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/he_3d_fem_22.py +0 -0
  226. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/hooks/le_2d_fem_19.py +0 -0
  227. {dclab-0.62.13 → dclab-0.62.15}/scripts/lut_recipes/lut_processor.py +0 -0
  228. {dclab-0.62.13 → dclab-0.62.15}/scripts/pixelation_correction.py +0 -0
  229. {dclab-0.62.13 → dclab-0.62.15}/scripts/pixelation_correction_2020.png +0 -0
  230. {dclab-0.62.13 → dclab-0.62.15}/scripts/pixelation_correction_2022.png +0 -0
  231. {dclab-0.62.13 → dclab-0.62.15}/scripts/requirements.txt +0 -0
  232. {dclab-0.62.13 → dclab-0.62.15}/setup.cfg +0 -0
  233. {dclab-0.62.13 → dclab-0.62.15}/setup.py +0 -0
  234. {dclab-0.62.13 → dclab-0.62.15}/tests/README.md +0 -0
  235. {dclab-0.62.13 → dclab-0.62.15}/tests/conftest.py +0 -0
  236. {dclab-0.62.13 → dclab-0.62.15}/tests/data/README.md +0 -0
  237. {dclab-0.62.13 → dclab-0.62.15}/tests/data/example_access_token.dcor-access +0 -0
  238. {dclab-0.62.13 → dclab-0.62.15}/tests/data/example_isoelastics.txt +0 -0
  239. {dclab-0.62.13 → dclab-0.62.15}/tests/data/feat_anc_plugin_creative.py +0 -0
  240. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_fl-no-contour_2019.zip +0 -0
  241. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_fl_2017.zip +0 -0
  242. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_fl_2018.zip +0 -0
  243. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_fl_wide-channel_2023.zip +0 -0
  244. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_image-bg_2020.zip +0 -0
  245. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_image-mask-blood_2021.zip +0 -0
  246. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_mask-contour_2018.zip +0 -0
  247. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_polygon_gate_2021.zip +0 -0
  248. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_raw-cytoshot-exported.zip +0 -0
  249. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_segfault-compound_2023.zip +0 -0
  250. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-hdf5_wide-channel_2023.zip +0 -0
  251. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_2fl-no-image_2017.zip +0 -0
  252. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_fl-image-bright_2017.zip +0 -0
  253. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_fl-image-large-fov_2017.zip +0 -0
  254. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_fl-image_2016.zip +0 -0
  255. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_fl_2015.zip +0 -0
  256. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_minimal_2016.zip +0 -0
  257. {dclab-0.62.13 → dclab-0.62.15}/tests/data/fmt-tdms_shapein-2.0.1-no-image_2017.zip +0 -0
  258. {dclab-0.62.13 → dclab-0.62.15}/tests/helper_methods.py +0 -0
  259. {dclab-0.62.13 → dclab-0.62.15}/tests/requirements.txt +0 -0
  260. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cache.py +0 -0
  261. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli.py +0 -0
  262. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_argparse.py +0 -0
  263. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_compress.py +0 -0
  264. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_condense.py +0 -0
  265. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_join.py +0 -0
  266. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_repack.py +0 -0
  267. {dclab-0.62.13 → dclab-0.62.15}/tests/test_cli_split.py +0 -0
  268. {dclab-0.62.13 → dclab-0.62.15}/tests/test_config_value_mapping.py +0 -0
  269. {dclab-0.62.13 → dclab-0.62.15}/tests/test_dfn.py +0 -0
  270. {dclab-0.62.13 → dclab-0.62.15}/tests/test_downsampling.py +0 -0
  271. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_bright.py +0 -0
  272. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_bright_bc.py +0 -0
  273. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_bright_perc.py +0 -0
  274. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_contour.py +0 -0
  275. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_emodulus.py +0 -0
  276. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_emodulus_viscosity.py +0 -0
  277. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_fl_crosstalk.py +0 -0
  278. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_inert_ratio.py +0 -0
  279. {dclab-0.62.13 → dclab-0.62.15}/tests/test_feat_volume.py +0 -0
  280. {dclab-0.62.13 → dclab-0.62.15}/tests/test_http_utils.py +0 -0
  281. {dclab-0.62.13 → dclab-0.62.15}/tests/test_isoelastics.py +0 -0
  282. {dclab-0.62.13 → dclab-0.62.15}/tests/test_kde_contours.py +0 -0
  283. {dclab-0.62.13 → dclab-0.62.15}/tests/test_kde_methods.py +0 -0
  284. {dclab-0.62.13 → dclab-0.62.15}/tests/test_lme4.py +0 -0
  285. {dclab-0.62.13 → dclab-0.62.15}/tests/test_lut_he_2d_fem_22.py +0 -0
  286. {dclab-0.62.13 → dclab-0.62.15}/tests/test_lut_he_3d_fem_22.py +0 -0
  287. {dclab-0.62.13 → dclab-0.62.15}/tests/test_polygon_contains.py +0 -0
  288. {dclab-0.62.13 → dclab-0.62.15}/tests/test_polygon_filter.py +0 -0
  289. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_check_dataset.py +0 -0
  290. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_config.py +0 -0
  291. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_copier.py +0 -0
  292. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_core_feat.py +0 -0
  293. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_downsampling.py +0 -0
  294. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_export.py +0 -0
  295. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_export_avi.py +0 -0
  296. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_export_fcs.py +0 -0
  297. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_export_tsv.py +0 -0
  298. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_anc_core.py +0 -0
  299. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_anc_ml.py +0 -0
  300. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_anc_plugin.py +0 -0
  301. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_basin.py +0 -0
  302. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_basin_mapped.py +0 -0
  303. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_feat_temp.py +0 -0
  304. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_filter.py +0 -0
  305. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_dcor.py +0 -0
  306. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_dcor_access_token.py +0 -0
  307. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_dcor_basin.py +0 -0
  308. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_dict.py +0 -0
  309. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_hdf5.py +0 -0
  310. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_hdf5_basins.py +0 -0
  311. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_hdf5_basins_internal.py +0 -0
  312. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_hierarchy.py +0 -0
  313. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_http.py +0 -0
  314. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_http_basin.py +0 -0
  315. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_s3.py +0 -0
  316. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_s3_basin.py +0 -0
  317. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_fmt_tdms.py +0 -0
  318. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_hash.py +0 -0
  319. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_kde.py +0 -0
  320. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_limit_events.py +0 -0
  321. {dclab-0.62.13 → dclab-0.62.15}/tests/test_rtdc_writer.py +0 -0
  322. {dclab-0.62.13 → dclab-0.62.15}/tests/test_statistics.py +0 -0
  323. {dclab-0.62.13 → dclab-0.62.15}/tests/test_util.py +0 -0
@@ -1,3 +1,8 @@
1
+ 0.62.15
2
+ - fix: support opening files on non-mounted network shares on Windows
3
+ 0.62.14
4
+ - fix: exporting table data broken
5
+ - ref: introduce base class for tables `TableMeta`
1
6
  0.62.13
2
7
  - ref: add custom table class for `hdf5` and `dcor` formats
3
8
  0.62.12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dclab
3
- Version: 0.62.13
3
+ Version: 0.62.15
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,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '0.62.13'
16
- __version_tuple__ = version_tuple = (0, 62, 13)
20
+ __version__ = version = '0.62.15'
21
+ __version_tuple__ = version_tuple = (0, 62, 15)
@@ -1,5 +1,7 @@
1
1
  import numpy as np
2
2
 
3
+ from ..meta_table import MetaTable
4
+
3
5
 
4
6
  class DCORTables:
5
7
  def __init__(self, api):
@@ -35,7 +37,7 @@ class DCORTables:
35
37
  return self._tables_cache
36
38
 
37
39
 
38
- class DCORTable:
40
+ class DCORTable(MetaTable):
39
41
  def __init__(self, table_content):
40
42
  self._columns, data = table_content
41
43
  self._tab_data = np.asarray(data)
@@ -1,3 +1,6 @@
1
+ from ..meta_table import MetaTable
2
+
3
+
1
4
  class H5Tables:
2
5
  def __init__(self, h5):
3
6
  self.h5file = h5
@@ -30,7 +33,7 @@ class H5Tables:
30
33
  return self._cache_keys
31
34
 
32
35
 
33
- class H5Table:
36
+ class H5Table(MetaTable):
34
37
  def __init__(self, h5_ds):
35
38
  self._h5_ds = h5_ds
36
39
  self._keys = None
@@ -61,6 +61,11 @@ def new_dataset(data, identifier=None, **kwargs):
61
61
  return fmt_hierarchy.RTDC_Hierarchy(data, identifier=identifier,
62
62
  **kwargs)
63
63
  elif isinstance(data, (pathlib.Path, str)):
64
+ # If we are given a `file:` specifier, remove it. We might be
65
+ # looking at a network share (not mounted as a drive) on Windows
66
+ # (e.g. "file:\\127.0.0.1\shared\data.rtdc").
67
+ if isinstance(data, str) and data.startswith("file:"):
68
+ data = data[5:]
64
69
  path = pathlib.Path(data).resolve()
65
70
  if not path.exists():
66
71
  raise FileNotFoundError(
@@ -0,0 +1,25 @@
1
+ import abc
2
+
3
+
4
+ class MetaTable(abc.ABC):
5
+ @abc.abstractmethod
6
+ def __array__(self, *args, **kwargs):
7
+ """Return array representation of the table"""
8
+
9
+ @property
10
+ @abc.abstractmethod
11
+ def meta(self):
12
+ """Return metadata of the table (e.g. graph colors)"""
13
+
14
+ @abc.abstractmethod
15
+ def has_graphs(self):
16
+ """Return True when the table has key-based graphs"""
17
+
18
+ @abc.abstractmethod
19
+ def keys(self):
20
+ """Return keys of the graphs, None if `not self.has_graphs()`"""
21
+
22
+ @abc.abstractmethod
23
+ def __getitem__(self, key):
24
+ """Return a graph or otherwise part of the data array"""
25
+ pass
@@ -17,6 +17,7 @@ from ..util import hashobj
17
17
  from .._version import version
18
18
 
19
19
  from .feat_anc_plugin import PlugInFeature
20
+ from .meta_table import MetaTable
20
21
 
21
22
  #: DEPRECATED (use `CHUNK_SIZE_BYTES` instead)
22
23
  CHUNK_SIZE = 100
@@ -641,6 +642,12 @@ class RTDCWriter:
641
642
  if h5_attrs is None:
642
643
  h5_attrs = {}
643
644
 
645
+ # Convert MetaTable to numpy data
646
+ if isinstance(cmp_array, MetaTable):
647
+ h5_attrs.update(cmp_array.meta)
648
+ cmp_array = cmp_array.__array__()
649
+
650
+ # Handle individual cases
644
651
  if isinstance(cmp_array, np.recarray):
645
652
  # A table is a compound array (np.recarray). If we are here,
646
653
  # this means that the user passed an instance of np.recarray.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dclab
3
- Version: 0.62.13
3
+ Version: 0.62.15
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>
@@ -102,6 +102,7 @@ dclab/rtdc_dataset/fmt_dict.py
102
102
  dclab/rtdc_dataset/fmt_http.py
103
103
  dclab/rtdc_dataset/fmt_s3.py
104
104
  dclab/rtdc_dataset/load.py
105
+ dclab/rtdc_dataset/meta_table.py
105
106
  dclab/rtdc_dataset/writer.py
106
107
  dclab/rtdc_dataset/feat_anc_core/__init__.py
107
108
  dclab/rtdc_dataset/feat_anc_core/af_basic.py
@@ -644,6 +644,56 @@ def test_hdf5_tables_array_only():
644
644
  assert ds.tables["src_iratrax"].meta["CLASS"] == np.bytes_("IMAGE")
645
645
 
646
646
 
647
+ def test_hdf5_table_from_file(tmp_path):
648
+ ds = new_dataset(retrieve_data("fmt-hdf5_raw-cytoshot-exported.zip"))
649
+
650
+ f1 = join(tmp_path, "test.rtdc")
651
+ ds.export.hdf5(f1, ["temp"], tables=True)
652
+
653
+ ds2 = new_dataset(f1)
654
+ tab = ds2.tables["src_so2exp_cytoshot_monitor"]
655
+
656
+ assert np.allclose(
657
+ tab["focus"][0],
658
+ 6.241900073522602,
659
+ atol=1e-7, rtol=0)
660
+
661
+ assert tab.meta["COLOR_focus"] == "#a03000"
662
+
663
+
664
+ def test_hdf5_table_from_file_with_unnamed_table(tmp_path):
665
+ path = retrieve_data("fmt-hdf5_raw-cytoshot-exported.zip")
666
+ with RTDCWriter(path) as hw:
667
+ hw.store_table("just_an_array", np.ones((30, 50)),
668
+ h5_attrs={"heinz": "kunz"})
669
+
670
+ # Make sure that worked with tables
671
+ with new_dataset(path) as ds:
672
+ tab = ds.tables["just_an_array"]
673
+ assert not tab.has_graphs()
674
+ assert np.array(tab).shape == (30, 50)
675
+ assert tab.meta["heinz"] == "kunz"
676
+
677
+ with new_dataset(path) as ds:
678
+ f1 = join(tmp_path, "test.rtdc")
679
+ ds.export.hdf5(f1, ["temp"], tables=True)
680
+
681
+ with new_dataset(f1) as ds2:
682
+ tab = ds2.tables["src_so2exp_cytoshot_monitor"]
683
+ assert tab.has_graphs()
684
+ assert np.allclose(
685
+ tab["focus"][0],
686
+ 6.241900073522602,
687
+ atol=1e-7, rtol=0)
688
+
689
+ assert tab.meta["COLOR_focus"] == "#a03000"
690
+
691
+ tab2 = ds2.tables["src_just_an_array"]
692
+ assert not tab2.has_graphs()
693
+ assert np.array(tab2).shape == (30, 50)
694
+ assert tab2.meta["heinz"] == "kunz"
695
+
696
+
647
697
  def test_hdf5_trace_from_tdms():
648
698
  pytest.importorskip("nptdms")
649
699
  ds = new_dataset(retrieve_data("fmt-tdms_2fl-no-image_2017.zip"))
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes