dclab 0.62.10__tar.gz → 0.62.12__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.
- {dclab-0.62.10 → dclab-0.62.12}/.readthedocs.yml +2 -0
- {dclab-0.62.10 → dclab-0.62.12}/CHANGELOG +4 -0
- {dclab-0.62.10 → dclab-0.62.12}/PKG-INFO +2 -2
- {dclab-0.62.10 → dclab-0.62.12}/dclab/_version.py +2 -2
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/viscosity.py +4 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/tables.py +6 -4
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/writer.py +28 -9
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/PKG-INFO +2 -2
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_emodulus_viscosity.py +17 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_copier.py +25 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_export_hdf5.py +21 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_tdms.py +5 -1
- {dclab-0.62.10 → dclab-0.62.12}/.gitignore +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/LICENSE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/MANIFEST.in +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/README.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cached.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/common.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_compress.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_condense.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_join.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_repack.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_split.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_tdms2rtdc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/cli/task_verify_dataset.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/feat_const.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/feat_logic.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/meta_const.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/meta_logic.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/definitions/meta_parse.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/downsampling.pyx +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/LICENSE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/LICENSE.APACHE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/LICENSE.BSD +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/_structures.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/packaging/version.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/LICENSE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_find_contours.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_find_contours_cy.pyx +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_pnpoly.pyx +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_shared/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_shared/geometry.pxd +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/_shared/geometry.pyx +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/measure.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/skimage/pnpoly.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/LICENSE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/nonparametric/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/nonparametric/_kernel_base.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/nonparametric/kernel_density.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/external/statsmodels/nonparametric/kernels.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/bright.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/bright_bc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/bright_perc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/contour.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/load.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/lut_HE-2D-FEM-22.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/lut_HE-3D-FEM-22.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/lut_LE-2D-FEM-19.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/pxcorr.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/emodulus/scale_linear.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/fl_crosstalk.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/inert_ratio.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/features/volume.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/http_utils.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_HE-2D-FEM-22-area_um-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_HE-2D-FEM-22-volume-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_HE-3D-FEM-22-area_um-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_HE-3D-FEM-22-volume-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_LE-2D-FEM-19-area_um-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_LE-2D-FEM-19-volume-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/isoelastics/iso_LE-2D-ana-18-area_um-deform.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/kde_contours.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/kde_methods.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/lme4/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/lme4/lme4_template.R +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/lme4/rsetup.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/lme4/wrapr.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/polygon_filter.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/check.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/config.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/copier.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/core.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/export.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/af_basic.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/af_emodulus.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/af_fl_max_ctc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/af_image_contour.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/af_ml_class.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_core/ancillary_feature.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_ml/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_plugin/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_anc_plugin/plugin_feature.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/feat_temp.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/filter.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/access_token.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/api.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/base.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dcor/logs.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_dict.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/base.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/events.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/feat_defect.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/logs.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hdf5/tables.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hierarchy/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hierarchy/base.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hierarchy/events.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hierarchy/hfilter.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_hierarchy/mapper.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_http.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_s3.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/event_contour.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/event_image.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/event_mask.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/event_trace.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/exc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/fmt_tdms/naming.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/rtdc_dataset/load.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/statistics.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/util.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab/warn.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/SOURCES.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/dependency_links.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/entry_points.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/requires.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/dclab.egg-info/top_level.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/.gitignore +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/README.md +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/conf.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example.poly +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example.rtdc +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example_plugin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example_plugin_metadata.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example_traces.rtdc +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/data/example_video.rtdc +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/dclab.bib +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/extensions/dclab_defs.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/extensions/fancy_include.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/extensions/github_changelog.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/extensions/simple_argparse.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/figures/DCOR_API_Token_website.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/index.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dc_logo.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dc_logo.svg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dclab.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dclab.svg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dclab_large_white.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/dclab_large_white.svg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/favicon.ico +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/logo/favicon.svg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/requirements.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_advanced_usage.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_basins/index.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_dc_io.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_dc_usage.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_dcor.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/.gitignore +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-2D-FEM-22.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-3D-FEM-22.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_LE-2D-FEM-19.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/plot_emodulus_lut.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_emodulus/requirements.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_viscosity/LICENSE +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.pdf +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_emodulus/index.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_feat_plugin.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_feat_temp.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_fluorescence.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_lme4.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_notation.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_s3.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_av_scatter.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_changelog.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_cli.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_code_reference.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_examples.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_getting_started.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/docs/sec_z_bib.rst +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/emodulus_dcor.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/emodulus_dcor.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/generate_example_images.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/isoelastics.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/isoelastics.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/isoelastics_custom.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/isoelastics_custom.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/lme4_glmer_diff.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/lme4_lmer.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/lme4_lmer.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/overview_plot.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/overview_plot.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/plugin_example.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/plugin_usage.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/plugin_usage.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/viscosity_models.jpg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/examples/viscosity_models.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/pyproject.toml +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/.gitignore +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/README.md +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/fem2iso_volume.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/fem2lutiso_std.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/fem2rtdc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/LUT_analytical_linear-elastic_2Daxis.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/README.md +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/__init__.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/common.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/he_2d_fem_22.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/he_3d_fem_22.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/hooks/le_2d_fem_19.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/lut_recipes/lut_processor.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/pixelation_correction.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/pixelation_correction_2020.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/pixelation_correction_2022.png +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/scripts/requirements.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/setup.cfg +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/setup.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/README.md +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/conftest.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/README.md +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/example_access_token.dcor-access +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/example_isoelastics.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/feat_anc_plugin_creative.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_fl-no-contour_2019.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_fl_2017.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_fl_2018.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_fl_wide-channel_2023.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_image-bg_2020.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_image-mask-blood_2021.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_mask-contour_2018.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_polygon_gate_2021.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_raw-cytoshot-exported.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_segfault-compound_2023.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-hdf5_wide-channel_2023.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_2fl-no-image_2017.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_fl-image-bright_2017.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_fl-image-large-fov_2017.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_fl-image_2016.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_fl_2015.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_minimal_2016.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/data/fmt-tdms_shapein-2.0.1-no-image_2017.zip +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/helper_methods.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/requirements.txt +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cache.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_argparse.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_compress.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_condense.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_join.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_repack.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_cli_split.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_config_value_mapping.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_dfn.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_downsampling.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_bright.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_bright_bc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_bright_perc.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_contour.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_emodulus.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_fl_crosstalk.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_inert_ratio.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_feat_volume.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_http_utils.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_isoelastics.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_kde_contours.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_kde_methods.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_lme4.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_lut_he_2d_fem_22.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_lut_he_3d_fem_22.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_polygon_contains.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_polygon_filter.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_check_dataset.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_config.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_core_feat.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_downsampling.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_export.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_export_avi.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_export_fcs.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_export_tsv.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_anc_core.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_anc_ml.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_anc_plugin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_basin_mapped.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_feat_temp.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_filter.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_dcor.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_dcor_access_token.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_dcor_basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_dict.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_hdf5.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_hdf5_basins.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_hdf5_basins_internal.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_hierarchy.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_http.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_http_basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_s3.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_fmt_s3_basin.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_hash.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_kde.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_limit_events.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_rtdc_writer.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_statistics.py +0 -0
- {dclab-0.62.10 → dclab-0.62.12}/tests/test_util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.62.
|
|
3
|
+
Version: 0.62.12
|
|
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>
|
|
@@ -120,6 +120,10 @@ def get_viscosity(medium: str = "0.49% MC-PBS",
|
|
|
120
120
|
if medium == "water":
|
|
121
121
|
# We ignore the `model`, because it's user convenient.
|
|
122
122
|
eta = get_viscosity_water_kestin_1978(temperature=temperature)
|
|
123
|
+
elif not flow_rate:
|
|
124
|
+
# When flow rate is zero, we cannot compute the viscosity for
|
|
125
|
+
# anything other than water above.
|
|
126
|
+
eta = np.nan
|
|
123
127
|
elif medium in ["0.49% MC-PBS", "0.59% MC-PBS", "0.83% MC-PBS"]:
|
|
124
128
|
kwargs = {"medium": medium,
|
|
125
129
|
"temperature": temperature,
|
|
@@ -30,11 +30,13 @@ class DCORTables:
|
|
|
30
30
|
tables = {}
|
|
31
31
|
for key in table_data:
|
|
32
32
|
columns, data = table_data[key]
|
|
33
|
-
ds_dt = np.dtype({'names': columns,
|
|
34
|
-
'formats': [np.float64] * len(columns)})
|
|
35
33
|
tab_data = np.asarray(data)
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
if columns is not None:
|
|
35
|
+
# We have a rec-array (named columns)
|
|
36
|
+
ds_dt = np.dtype({'names': columns,
|
|
37
|
+
'formats': [np.float64] * len(columns)})
|
|
38
|
+
tab_data = np.rec.array(tab_data, dtype=ds_dt)
|
|
39
|
+
tables[key] = tab_data
|
|
38
40
|
|
|
39
41
|
self._tables_cache = tables
|
|
40
42
|
return self._tables_cache
|
|
@@ -616,7 +616,7 @@ class RTDCWriter:
|
|
|
616
616
|
convfunc = dfn.get_config_value_func(sec, ck)
|
|
617
617
|
self.h5file.attrs[idk] = convfunc(value)
|
|
618
618
|
|
|
619
|
-
def store_table(self, name, cmp_array):
|
|
619
|
+
def store_table(self, name, cmp_array, h5_attrs=None):
|
|
620
620
|
"""Store a compound array table
|
|
621
621
|
|
|
622
622
|
Tables are semi-metadata. They may contain information collected
|
|
@@ -629,16 +629,33 @@ class RTDCWriter:
|
|
|
629
629
|
----------
|
|
630
630
|
name: str
|
|
631
631
|
Name of the table
|
|
632
|
-
cmp_array: np.recarray, h5py.Dataset, or dict
|
|
632
|
+
cmp_array: np.recarray, h5py.Dataset, np.ndarray, or dict
|
|
633
633
|
If a np.recarray or h5py.Dataset are provided, then they
|
|
634
634
|
are written as-is to the file. If a dictionary is provided,
|
|
635
635
|
then the dictionary is converted into a numpy recarray.
|
|
636
|
+
If a numpy array is provided, then the array is written
|
|
637
|
+
as a raw table (no column names) to the file.
|
|
638
|
+
h5_attrs: dict, optional
|
|
639
|
+
Attributes to store alongside the corresponding HDF5 dataset
|
|
636
640
|
"""
|
|
637
|
-
if
|
|
641
|
+
if h5_attrs is None:
|
|
642
|
+
h5_attrs = {}
|
|
643
|
+
|
|
644
|
+
if isinstance(cmp_array, np.recarray):
|
|
638
645
|
# A table is a compound array (np.recarray). If we are here,
|
|
639
|
-
# this means that the user passed an instance of np.recarray
|
|
640
|
-
|
|
646
|
+
# this means that the user passed an instance of np.recarray.
|
|
647
|
+
pass
|
|
648
|
+
elif isinstance(cmp_array, h5py.Dataset):
|
|
649
|
+
# An instance of h5py.Dataset (which we trust to be a proper
|
|
641
650
|
# compound dataset at this point). No additional steps needed.
|
|
651
|
+
h5_attrs.update(cmp_array.attrs)
|
|
652
|
+
pass
|
|
653
|
+
elif isinstance(cmp_array, np.ndarray):
|
|
654
|
+
# A numpy array was passed. This usually means we have something
|
|
655
|
+
# that we can look at, so we add image tags.
|
|
656
|
+
h5_attrs['CLASS'] = np.bytes_('IMAGE')
|
|
657
|
+
h5_attrs['IMAGE_VERSION'] = np.bytes_('1.2')
|
|
658
|
+
h5_attrs['IMAGE_SUBCLASS'] = np.bytes_('IMAGE_GRAYSCALE')
|
|
642
659
|
pass
|
|
643
660
|
elif isinstance(cmp_array, dict):
|
|
644
661
|
# The user passed a dict which we now have to convert to a
|
|
@@ -659,16 +676,18 @@ class RTDCWriter:
|
|
|
659
676
|
else:
|
|
660
677
|
raise NotImplementedError(
|
|
661
678
|
f"Cannot convert {type(cmp_array)} to table!")
|
|
679
|
+
|
|
680
|
+
# data
|
|
662
681
|
group = self.h5file.require_group("tables")
|
|
663
682
|
tab = group.create_dataset(
|
|
664
683
|
name,
|
|
665
684
|
data=cmp_array,
|
|
666
685
|
fletcher32=True,
|
|
667
686
|
**self.compression_kwargs)
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
687
|
+
|
|
688
|
+
# metadata
|
|
689
|
+
if h5_attrs:
|
|
690
|
+
tab.attrs.update(h5_attrs)
|
|
672
691
|
|
|
673
692
|
def version_brand(self, old_version=None, write_attribute=True):
|
|
674
693
|
"""Perform version branding
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.62.
|
|
3
|
+
Version: 0.62.12
|
|
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>
|
|
@@ -62,6 +62,15 @@ def test_buyukurganci_cell_carrier():
|
|
|
62
62
|
assert np.allclose(eta, b)
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
def test_buyukurganci_cell_carrier_zero_flow_rate():
|
|
66
|
+
eta = emodulus.viscosity.get_viscosity(medium="0.59% MC-PBS",
|
|
67
|
+
channel_width=20,
|
|
68
|
+
flow_rate=0,
|
|
69
|
+
temperature=21.5,
|
|
70
|
+
model='buyukurganci-2022')
|
|
71
|
+
assert np.isnan(eta)
|
|
72
|
+
|
|
73
|
+
|
|
65
74
|
@pytest.mark.parametrize("medium", ["0.49% MC-PBS", "0.59% MC-PBS"])
|
|
66
75
|
def test_buyukurganci_mcpbs_range(medium):
|
|
67
76
|
# test values
|
|
@@ -166,6 +175,14 @@ def test_kestin_water():
|
|
|
166
175
|
temperature=ref[:, 0])
|
|
167
176
|
assert np.allclose(res, ref[:, 1], rtol=8e-5, atol=0)
|
|
168
177
|
|
|
178
|
+
# Since water viscosity is not dependent on flow rate, setting
|
|
179
|
+
# flow rate to zero should still work.
|
|
180
|
+
res2 = emodulus.viscosity.get_viscosity(medium="water",
|
|
181
|
+
temperature=ref[:, 0],
|
|
182
|
+
flow_rate=0,
|
|
183
|
+
)
|
|
184
|
+
assert np.allclose(res2, ref[:, 1], rtol=8e-5, atol=0)
|
|
185
|
+
|
|
169
186
|
|
|
170
187
|
def test_kestin_water_range():
|
|
171
188
|
# test values
|
|
@@ -457,6 +457,31 @@ def test_copy_tables():
|
|
|
457
457
|
np.pi, 2 * np.pi, 10))
|
|
458
458
|
|
|
459
459
|
|
|
460
|
+
def test_copy_tables_array_only():
|
|
461
|
+
path = retrieve_data("fmt-hdf5_image-bg_2020.zip")
|
|
462
|
+
path_copy = path.with_name("test_copy.rtdc")
|
|
463
|
+
|
|
464
|
+
# generate a table that consists of an array, not a dict-like object
|
|
465
|
+
tab_data = np.random.random((1000, 300))
|
|
466
|
+
|
|
467
|
+
# add table to source file
|
|
468
|
+
with h5py.File(path, "a") as h5:
|
|
469
|
+
h5tab = h5.require_group("tables")
|
|
470
|
+
h5tab.create_dataset(name="random_data",
|
|
471
|
+
data=tab_data)
|
|
472
|
+
assert not is_properly_compressed(h5["tables/random_data"])
|
|
473
|
+
|
|
474
|
+
# copy
|
|
475
|
+
with h5py.File(path) as h5, h5py.File(path_copy, "w") as hc:
|
|
476
|
+
rtdc_copy(src_h5file=h5,
|
|
477
|
+
dst_h5file=hc)
|
|
478
|
+
|
|
479
|
+
# Make sure this worked
|
|
480
|
+
with h5py.File(path_copy) as hc:
|
|
481
|
+
assert is_properly_compressed(hc["tables/random_data"])
|
|
482
|
+
assert np.all(tab_data == hc["tables/random_data"])
|
|
483
|
+
|
|
484
|
+
|
|
460
485
|
def test_copy_tables_hdf5_issue_3214():
|
|
461
486
|
"""Checks for a bug in HDF5
|
|
462
487
|
|
|
@@ -609,6 +609,27 @@ def test_hdf5_tables(tables):
|
|
|
609
609
|
assert "src_iratrax" not in h5.get("tables", {})
|
|
610
610
|
|
|
611
611
|
|
|
612
|
+
def test_hdf5_tables_array_only():
|
|
613
|
+
keys = ["area_um", "deform", "time", "frame", "index_online"]
|
|
614
|
+
ddict = example_data_dict(size=10, keys=keys)
|
|
615
|
+
ds1 = dclab.new_dataset(ddict)
|
|
616
|
+
ds1.config["experiment"]["sample"] = "test"
|
|
617
|
+
ds1.config["experiment"]["run index"] = 1
|
|
618
|
+
ds1.config["imaging"]["frame rate"] = 2000
|
|
619
|
+
|
|
620
|
+
# generate a table that consists of an array, not a dict-like object
|
|
621
|
+
tab_data = np.random.random((1000, 300))
|
|
622
|
+
ds1.tables["iratrax"] = tab_data
|
|
623
|
+
|
|
624
|
+
edest = pathlib.Path(tempfile.mkdtemp())
|
|
625
|
+
f1 = edest / "dclab_test_export_hdf5_1.rtdc"
|
|
626
|
+
ds1.export.hdf5(f1, keys, tables=True)
|
|
627
|
+
with h5py.File(f1, "r") as h5:
|
|
628
|
+
assert "src_iratrax" in h5.get("tables", {})
|
|
629
|
+
assert np.all(h5["tables"]["src_iratrax"] == tab_data)
|
|
630
|
+
assert h5["tables"]["src_iratrax"].attrs["CLASS"] == np.bytes_("IMAGE")
|
|
631
|
+
|
|
632
|
+
|
|
612
633
|
def test_hdf5_trace_from_tdms():
|
|
613
634
|
pytest.importorskip("nptdms")
|
|
614
635
|
ds = new_dataset(retrieve_data("fmt-tdms_2fl-no-image_2017.zip"))
|
|
@@ -263,7 +263,11 @@ def test_image_basic():
|
|
|
263
263
|
# Transition image
|
|
264
264
|
assert np.allclose(ds["image"][0], 0)
|
|
265
265
|
# Real image
|
|
266
|
-
|
|
266
|
+
# 2025-01-23: paulmueller added the atol value, because CI was failing
|
|
267
|
+
# on macOS. Possible reason is underlying ffmpeg build
|
|
268
|
+
# for M1 etc. arm processors :zany_face:
|
|
269
|
+
assert np.allclose(np.average(ds["image"][1]), 45.1490478515625,
|
|
270
|
+
atol=0.5)
|
|
267
271
|
|
|
268
272
|
|
|
269
273
|
@pytest.mark.filterwarnings(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|