dclab 0.62.8__tar.gz → 0.62.9__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.8 → dclab-0.62.9}/CHANGELOG +7 -0
- {dclab-0.62.8 → dclab-0.62.9}/PKG-INFO +1 -1
- {dclab-0.62.8 → dclab-0.62.9}/dclab/_version.py +2 -2
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/core.py +12 -2
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_basin.py +9 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/writer.py +2 -2
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/PKG-INFO +1 -1
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_basin.py +57 -0
- {dclab-0.62.8 → dclab-0.62.9}/.gitignore +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/.readthedocs.yml +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/LICENSE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/MANIFEST.in +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/README.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cached.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/common.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_compress.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_condense.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_join.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_repack.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_split.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_tdms2rtdc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/cli/task_verify_dataset.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/feat_const.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/feat_logic.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/meta_const.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/meta_logic.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/definitions/meta_parse.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/downsampling.pyx +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/LICENSE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/LICENSE.APACHE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/LICENSE.BSD +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/_structures.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/packaging/version.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/LICENSE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_find_contours.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_find_contours_cy.pyx +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_pnpoly.pyx +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_shared/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_shared/geometry.pxd +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/_shared/geometry.pyx +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/measure.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/skimage/pnpoly.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/LICENSE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/nonparametric/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/nonparametric/_kernel_base.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/nonparametric/kernel_density.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/external/statsmodels/nonparametric/kernels.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/bright.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/bright_bc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/bright_perc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/contour.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/load.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/lut_HE-2D-FEM-22.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/lut_HE-3D-FEM-22.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/lut_LE-2D-FEM-19.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/pxcorr.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/scale_linear.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/emodulus/viscosity.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/fl_crosstalk.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/inert_ratio.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/features/volume.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/http_utils.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_HE-2D-FEM-22-area_um-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_HE-2D-FEM-22-volume-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_HE-3D-FEM-22-area_um-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_HE-3D-FEM-22-volume-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_LE-2D-FEM-19-area_um-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_LE-2D-FEM-19-volume-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/isoelastics/iso_LE-2D-ana-18-area_um-deform.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/kde_contours.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/kde_methods.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/lme4/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/lme4/lme4_template.R +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/lme4/rsetup.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/lme4/wrapr.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/polygon_filter.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/check.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/config.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/copier.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/export.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/af_basic.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/af_emodulus.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/af_fl_max_ctc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/af_image_contour.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/af_ml_class.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_core/ancillary_feature.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_ml/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_plugin/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_anc_plugin/plugin_feature.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/feat_temp.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/filter.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/access_token.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/api.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/base.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/basin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/logs.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dcor/tables.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_dict.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/base.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/basin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/events.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/feat_defect.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/logs.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hdf5/tables.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hierarchy/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hierarchy/base.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hierarchy/events.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hierarchy/hfilter.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_hierarchy/mapper.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_http.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_s3.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/event_contour.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/event_image.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/event_mask.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/event_trace.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/exc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/fmt_tdms/naming.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/rtdc_dataset/load.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/statistics.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/util.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab/warn.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/SOURCES.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/dependency_links.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/entry_points.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/requires.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/dclab.egg-info/top_level.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/.gitignore +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/README.md +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/conf.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example.poly +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example.rtdc +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example_plugin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example_plugin_metadata.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example_traces.rtdc +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/data/example_video.rtdc +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/dclab.bib +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/extensions/dclab_defs.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/extensions/fancy_include.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/extensions/github_changelog.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/extensions/simple_argparse.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/figures/DCOR_API_Token_website.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/index.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dc_logo.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dc_logo.svg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dclab.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dclab.svg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dclab_large_white.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/dclab_large_white.svg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/favicon.ico +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/logo/favicon.svg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/requirements.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_advanced_usage.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_basins/index.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_dc_io.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_dc_usage.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_dcor.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/.gitignore +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-2D-FEM-22.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_HE-3D-FEM-22.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/emodulus_20um_LE-2D-FEM-19.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/plot_emodulus_lut.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_emodulus/requirements.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_viscosity/LICENSE +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/figures_viscosity/buyukurganci_22_fig3a.pdf +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_emodulus/index.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_feat_plugin.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_feat_temp.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_fluorescence.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_lme4.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_notation.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_s3.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_av_scatter.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_changelog.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_cli.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_code_reference.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_examples.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_getting_started.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/docs/sec_z_bib.rst +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/emodulus_dcor.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/emodulus_dcor.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/generate_example_images.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/isoelastics.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/isoelastics.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/isoelastics_custom.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/isoelastics_custom.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/lme4_glmer_diff.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/lme4_lmer.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/lme4_lmer.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/overview_plot.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/overview_plot.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/plugin_example.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/plugin_usage.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/plugin_usage.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/viscosity_models.jpg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/examples/viscosity_models.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/pyproject.toml +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/.gitignore +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/README.md +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/fem2iso_volume.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/fem2lutiso_std.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/fem2rtdc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/LUT_analytical_linear-elastic_2Daxis.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/README.md +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/__init__.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/common.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/he_2d_fem_22.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/he_3d_fem_22.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/hooks/le_2d_fem_19.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/lut_recipes/lut_processor.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/pixelation_correction.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/pixelation_correction_2020.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/pixelation_correction_2022.png +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/scripts/requirements.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/setup.cfg +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/setup.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/README.md +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/conftest.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/README.md +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/example_access_token.dcor-access +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/example_isoelastics.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/feat_anc_plugin_creative.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_fl-no-contour_2019.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_fl_2017.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_fl_2018.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_fl_wide-channel_2023.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_image-bg_2020.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_image-mask-blood_2021.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_mask-contour_2018.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_polygon_gate_2021.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_raw-cytoshot-exported.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_segfault-compound_2023.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-hdf5_wide-channel_2023.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_2fl-no-image_2017.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_fl-image-bright_2017.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_fl-image-large-fov_2017.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_fl-image_2016.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_fl_2015.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_minimal_2016.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/data/fmt-tdms_shapein-2.0.1-no-image_2017.zip +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/helper_methods.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/requirements.txt +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cache.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_argparse.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_compress.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_condense.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_join.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_repack.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_cli_split.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_config_value_mapping.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_dfn.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_downsampling.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_bright.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_bright_bc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_bright_perc.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_contour.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_emodulus.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_emodulus_viscosity.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_fl_crosstalk.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_inert_ratio.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_feat_volume.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_http_utils.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_isoelastics.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_kde_contours.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_kde_methods.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_lme4.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_lut_he_2d_fem_22.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_lut_he_3d_fem_22.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_polygon_contains.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_polygon_filter.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_check_dataset.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_config.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_copier.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_core_feat.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_downsampling.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_export.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_export_avi.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_export_fcs.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_export_hdf5.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_export_tsv.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_anc_core.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_anc_ml.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_anc_plugin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_basin_mapped.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_feat_temp.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_filter.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_dcor.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_dcor_access_token.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_dcor_basin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_dict.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_hdf5.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_hdf5_basins.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_hdf5_basins_internal.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_hierarchy.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_http.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_http_basin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_s3.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_s3_basin.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_fmt_tdms.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_hash.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_kde.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_limit_events.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_rtdc_writer.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_statistics.py +0 -0
- {dclab-0.62.8 → dclab-0.62.9}/tests/test_util.py +0 -0
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
0.62.9
|
|
2
|
+
- enh: sort basin definition before exporting to JSON; the side-effect
|
|
3
|
+
is that the unique key for a basin changes, possibly resulting in
|
|
4
|
+
duplicated basin definitions for existing datasets
|
|
5
|
+
- enh: make sure every basin can be identified with a key created from
|
|
6
|
+
its definition; important for connecting the basin dictionaries
|
|
7
|
+
with the instantiated basins
|
|
1
8
|
0.62.8
|
|
2
9
|
- fix: metadata of tables not copied by `copier.py`
|
|
3
10
|
- docs: formatting typo (#270)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.62.
|
|
3
|
+
Version: 0.62.9
|
|
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,6 +1,7 @@
|
|
|
1
1
|
"""RT-DC dataset core classes and methods"""
|
|
2
2
|
import abc
|
|
3
3
|
import hashlib
|
|
4
|
+
import json
|
|
4
5
|
import os.path
|
|
5
6
|
import pathlib
|
|
6
7
|
import traceback
|
|
@@ -15,6 +16,7 @@ from .. import definitions as dfn
|
|
|
15
16
|
from .. import downsampling
|
|
16
17
|
from ..polygon_filter import PolygonFilter
|
|
17
18
|
from .. import kde_methods
|
|
19
|
+
from ..util import hashobj
|
|
18
20
|
|
|
19
21
|
from .feat_anc_core import AncillaryFeature, FEATURES_RAPID
|
|
20
22
|
from . import feat_basin
|
|
@@ -825,14 +827,20 @@ class RTDCBase(abc.ABC):
|
|
|
825
827
|
# Sort basins according to priority
|
|
826
828
|
bdicts_srt = sorted(self.basins_get_dicts(),
|
|
827
829
|
key=feat_basin.basin_priority_sorted_key)
|
|
828
|
-
|
|
830
|
+
# complement basin "key"s (we do the same in writer)
|
|
831
|
+
for bdict in bdicts_srt:
|
|
832
|
+
if "key" not in bdict:
|
|
833
|
+
b_dat = json.dumps(bdict, indent=2, sort_keys=True).split("\n")
|
|
834
|
+
bdict["key"] = hashobj(b_dat)
|
|
835
|
+
|
|
836
|
+
bd_keys = [bd["key"] for bd in bdicts_srt]
|
|
829
837
|
bd_keys += self._basins_ignored
|
|
830
838
|
for bdict in bdicts_srt:
|
|
831
839
|
if bdict["format"] not in bc:
|
|
832
840
|
warnings.warn(f"Encountered unsupported basin "
|
|
833
841
|
f"format '{bdict['format']}'!")
|
|
834
842
|
continue
|
|
835
|
-
if
|
|
843
|
+
if bdict["key"] in self._basins_ignored:
|
|
836
844
|
warnings.warn(
|
|
837
845
|
f"Encountered cyclic basin dependency '{bdict['key']}'",
|
|
838
846
|
feat_basin.CyclicBasinDependencyFoundWarning)
|
|
@@ -853,6 +861,8 @@ class RTDCBase(abc.ABC):
|
|
|
853
861
|
"measurement_identifier": self.get_measurement_identifier(),
|
|
854
862
|
# allow to ignore basins
|
|
855
863
|
"ignored_basins": bd_keys,
|
|
864
|
+
# basin key
|
|
865
|
+
"key": bdict["key"],
|
|
856
866
|
}
|
|
857
867
|
|
|
858
868
|
# Check whether this basin is supported and exists
|
|
@@ -9,6 +9,7 @@ import abc
|
|
|
9
9
|
import numbers
|
|
10
10
|
import threading
|
|
11
11
|
from typing import Dict, List, Literal
|
|
12
|
+
import uuid
|
|
12
13
|
import warnings
|
|
13
14
|
import weakref
|
|
14
15
|
|
|
@@ -74,6 +75,7 @@ class Basin(abc.ABC):
|
|
|
74
75
|
] = "same",
|
|
75
76
|
mapping_referrer: Dict = None,
|
|
76
77
|
ignored_basins: List[str] = None,
|
|
78
|
+
key: str = None,
|
|
77
79
|
**kwargs):
|
|
78
80
|
"""
|
|
79
81
|
|
|
@@ -109,6 +111,10 @@ class Basin(abc.ABC):
|
|
|
109
111
|
:class:`.RTDCBase`.
|
|
110
112
|
ignored_basins: list of str
|
|
111
113
|
List of basins to ignore in subsequent basin instantiations
|
|
114
|
+
key: str
|
|
115
|
+
Unique key to identify this basin; normally computed from
|
|
116
|
+
a JSON dump of the basin definition. A random string is used
|
|
117
|
+
if None is specified.
|
|
112
118
|
kwargs:
|
|
113
119
|
Additional keyword arguments passed to the `load_dataset`
|
|
114
120
|
method of the `Basin` subclass.
|
|
@@ -124,6 +130,8 @@ class Basin(abc.ABC):
|
|
|
124
130
|
self.name = name
|
|
125
131
|
#: lengthy description of the basin
|
|
126
132
|
self.description = description
|
|
133
|
+
# defining key of the basin
|
|
134
|
+
self.key = key or str(uuid.uuid4())
|
|
127
135
|
# features this basin provides
|
|
128
136
|
self._features = features
|
|
129
137
|
#: measurement identifier of the referencing dataset
|
|
@@ -367,6 +375,7 @@ class BasinProxy:
|
|
|
367
375
|
dataset to the downstream dataset
|
|
368
376
|
"""
|
|
369
377
|
self.ds = ds
|
|
378
|
+
self.basins_get_dicts = ds.basins_get_dicts
|
|
370
379
|
self.basinmap = basinmap
|
|
371
380
|
self._features = {}
|
|
372
381
|
|
|
@@ -389,7 +389,7 @@ class RTDCWriter:
|
|
|
389
389
|
flocs.append(str(pp.resolve()))
|
|
390
390
|
# Also store the relative path for user convenience.
|
|
391
391
|
# Don't use pathlib.Path.relative_to, because that
|
|
392
|
-
#
|
|
392
|
+
# only has `walk_up` since Python 3.12.
|
|
393
393
|
# Also, just look in subdirectories which simplifies
|
|
394
394
|
# path resolution.
|
|
395
395
|
this_parent = str(self.path.parent) + os.sep
|
|
@@ -408,7 +408,7 @@ class RTDCWriter:
|
|
|
408
408
|
else:
|
|
409
409
|
raise ValueError(f"Unknown basin type '{basin_type}'")
|
|
410
410
|
|
|
411
|
-
b_lines = json.dumps(b_data, indent=2).split("\n")
|
|
411
|
+
b_lines = json.dumps(b_data, indent=2, sort_keys=True).split("\n")
|
|
412
412
|
basins = self.h5file.require_group("basins")
|
|
413
413
|
key = hashobj(b_lines)
|
|
414
414
|
if key not in basins:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dclab
|
|
3
|
-
Version: 0.62.
|
|
3
|
+
Version: 0.62.9
|
|
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>
|
|
@@ -356,6 +356,63 @@ def test_basin_relative_paths(path_sep):
|
|
|
356
356
|
assert "image" in ds
|
|
357
357
|
|
|
358
358
|
|
|
359
|
+
@pytest.mark.filterwarnings(
|
|
360
|
+
"ignore::dclab.rtdc_dataset.config.WrongConfigurationTypeWarning")
|
|
361
|
+
def test_basin_key_reproducible():
|
|
362
|
+
"""Since 0.62.9 we sort basin keys"""
|
|
363
|
+
h5path = retrieve_data("fmt-hdf5_fl_wide-channel_2023.zip")
|
|
364
|
+
h5path_small = h5path.parent / "subdirectory" / "relative.rtdc"
|
|
365
|
+
h5path_small.parent.mkdir()
|
|
366
|
+
h5path_small_2 = h5path_small.with_name("from_writer.rtdc")
|
|
367
|
+
|
|
368
|
+
# Dataset creation
|
|
369
|
+
with h5py.File(h5path) as src, RTDCWriter(h5path_small) as hw:
|
|
370
|
+
# first, copy all the scalar features to the new file
|
|
371
|
+
rtdc_dataset.rtdc_copy(src_h5file=src,
|
|
372
|
+
dst_h5file=hw.h5file,
|
|
373
|
+
features="scalar")
|
|
374
|
+
# Next, store the basin information in the new dataset manually
|
|
375
|
+
bdat = {
|
|
376
|
+
"type": "file",
|
|
377
|
+
"format": "hdf5",
|
|
378
|
+
"features": ["image"],
|
|
379
|
+
"paths": [f"../{h5path.name}"]
|
|
380
|
+
}
|
|
381
|
+
blines = json.dumps(bdat, indent=2).split("\n")
|
|
382
|
+
basins = hw.h5file.require_group("basins")
|
|
383
|
+
hw.write_text(basins, "relative_paths_basin", blines)
|
|
384
|
+
|
|
385
|
+
# When loading a basin, dclab should use the existing key
|
|
386
|
+
# from the input file.
|
|
387
|
+
with dclab.new_dataset(h5path_small) as ds:
|
|
388
|
+
assert len(ds.basins) == 1
|
|
389
|
+
assert ds.basins[0].key == "relative_paths_basin"
|
|
390
|
+
|
|
391
|
+
# By default, dclab should store the basin with a key made from
|
|
392
|
+
# its hash.
|
|
393
|
+
# Dataset creation
|
|
394
|
+
with h5py.File(h5path) as src, RTDCWriter(h5path_small_2) as hw:
|
|
395
|
+
# first, copy all the scalar features to the new file
|
|
396
|
+
rtdc_dataset.rtdc_copy(src_h5file=src,
|
|
397
|
+
dst_h5file=hw.h5file,
|
|
398
|
+
features="scalar")
|
|
399
|
+
# Next, store the basin information in the new dataset with dclab
|
|
400
|
+
hw.store_basin(
|
|
401
|
+
basin_name="relative_paths_basin",
|
|
402
|
+
basin_type="file",
|
|
403
|
+
basin_format="hdf5",
|
|
404
|
+
basin_feats=["image"],
|
|
405
|
+
basin_locs=[f"../{h5path.name}"],
|
|
406
|
+
verify=False,
|
|
407
|
+
)
|
|
408
|
+
# When loading a basin, dclab should use the existing key
|
|
409
|
+
# from the input file.
|
|
410
|
+
with dclab.new_dataset(h5path_small_2) as ds:
|
|
411
|
+
assert len(ds.basins) == 1
|
|
412
|
+
# dclab 0.62.9
|
|
413
|
+
assert ds.basins[0].key == "b8763fad05e17b58407875fe9c28d90b"
|
|
414
|
+
|
|
415
|
+
|
|
359
416
|
def test_basin_sorting_basic():
|
|
360
417
|
bnlist = [
|
|
361
418
|
{"type": "remote", "format": "dcor", "ident": 0},
|
|
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
|
|
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
|