multipers 2.3.3b2__tar.gz → 2.3.3b3__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 multipers might be problematic. Click here for more details.
- {multipers-2.3.3b2/multipers.egg-info → multipers-2.3.3b3}/PKG-INFO +6 -1
- {multipers-2.3.3b2 → multipers-2.3.3b3}/README.md +5 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/signed_measures.py +4 -2
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/plots.py +26 -13
- {multipers-2.3.3b2 → multipers-2.3.3b3/multipers.egg-info}/PKG-INFO +6 -1
- {multipers-2.3.3b2 → multipers-2.3.3b3}/pyproject.toml +1 -1
- {multipers-2.3.3b2 → multipers-2.3.3b3}/LICENSE +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/MANIFEST.in +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/_tempita_grid_gen.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/_signed_measure_meta.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/_slicer_meta.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/array_api/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/array_api/numpy.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/array_api/torch.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/MOL2.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/UCR.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/graphs.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/immuno_regions.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/pytorch2simplextree.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/shape3d.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/data/synthetic.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/distances.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtration_conversions.pxd +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtration_conversions.pxd.tp +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtrations/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtrations/density.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtrations/filtrations.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/filtrations.pxd +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/function_rips.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/grids.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/Persistence_slices_interface.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/Simplex_tree_interface.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/Simplex_tree_multi_interface.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/cubical_to_boundary.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Bitmap_cubical_complex.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Debug_utils.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_operators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_shared.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_small.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Z2_field.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Z2_field_operators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Zp_field.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Zp_field_operators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Zp_field_shared.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Multi_critical_filtration.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Multi_persistence/Box.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Multi_persistence/Line.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Off_reader.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/One_critical_filtration.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/boundary_cell_position_to_id_mapper.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/boundary_face_position_to_id_mapper.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/small_vector_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Points_off_io.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simple_object_pool.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree_multi.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/distance_functions.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/graph_simplicial_complex.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/persistence_interval.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/persistence_matrix_options.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/reader_utils.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/mma_interface_coh.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/mma_interface_h0.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/mma_interface_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/naive_merge_tree.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/scc_io.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/truc.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/io.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/accuracies.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/invariants_with_persistable.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/kernels.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/mma.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/one.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/point_clouds.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/sliced_wasserstein.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/ml/tools.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/mma_structures.pxd +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/mma_structures.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/mma_structures.pyx.tp +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/diff_helpers.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/hilbert_function.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/persistence_slices.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/rank_invariant.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_edge_collapse.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/approximation.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/combinatory.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/debug.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/euler_curves.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/format_python-cpp.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/heap_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/images.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/list_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/list_column_2.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/ru_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/set_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/structure_higher_dim_barcode.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/unordered_set_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/utilities.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/vector_column.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/vector_matrix.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/vineyards.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/vineyards_trajectories.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/pickle.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/point_measure.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/simplex_tree_multi.pxd +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/simplex_tree_multi.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/simplex_tree_multi.pyx.tp +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/slicer.pxd +20 -20
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/slicer.pxd.tp +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/slicer.pyx +18 -18
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/slicer.pyx.tp +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/tensor/tensor.h +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/tensor.pxd +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/test.pyx +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/tests/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/torch/__init__.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/torch/diff_grids.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/torch/rips_density.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers.egg-info/SOURCES.txt +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers.egg-info/dependency_links.txt +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers.egg-info/requires.txt +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/multipers.egg-info/top_level.txt +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/setup.cfg +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/setup.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_diff_helper.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_filtrations.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_hilbert_function.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_mma.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_point_clouds.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_python-cpp_conversion.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_signed_betti.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_signed_measure.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_simplextreemulti.py +0 -0
- {multipers-2.3.3b2 → multipers-2.3.3b3}/tests/test_slicer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: multipers
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3b3
|
|
4
4
|
Summary: Multiparameter Topological Persistence for Machine Learning
|
|
5
5
|
Author-email: David Loiseaux <david.lapous@proton.me>, Hannah Schreiber <hannah.schreiber@inria.fr>
|
|
6
6
|
Maintainer-email: David Loiseaux <david.lapous@proton.me>
|
|
@@ -62,6 +62,11 @@ or
|
|
|
62
62
|
```sh
|
|
63
63
|
conda install multipers -c conda-forge
|
|
64
64
|
```
|
|
65
|
+
Pre-releases are available via
|
|
66
|
+
```sh
|
|
67
|
+
pip install --pre multipers
|
|
68
|
+
```
|
|
69
|
+
These release usually contain small bugfixes or unstable new features.
|
|
65
70
|
|
|
66
71
|
Windows support is experimental, and some core dependencies are not available on Windows.
|
|
67
72
|
We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
|
|
@@ -26,6 +26,11 @@ or
|
|
|
26
26
|
```sh
|
|
27
27
|
conda install multipers -c conda-forge
|
|
28
28
|
```
|
|
29
|
+
Pre-releases are available via
|
|
30
|
+
```sh
|
|
31
|
+
pip install --pre multipers
|
|
32
|
+
```
|
|
33
|
+
These release usually contain small bugfixes or unstable new features.
|
|
29
34
|
|
|
30
35
|
Windows support is experimental, and some core dependencies are not available on Windows.
|
|
31
36
|
We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
|
|
@@ -758,6 +758,8 @@ class SignedMeasureFormatter(BaseEstimator, TransformerMixin):
|
|
|
758
758
|
) = self._get_filtration_bounds(X, axis=ax)
|
|
759
759
|
self._filtrations_bounds.append(filtration_bounds)
|
|
760
760
|
self._normalization_factors.append(normalization_factors)
|
|
761
|
+
self._filtrations_bounds = self._backend.astensor(self._filtrations_bounds)
|
|
762
|
+
self._normalization_factors = self._backend.astensor(self._normalization_factors)
|
|
761
763
|
# else:
|
|
762
764
|
# (
|
|
763
765
|
# self._filtrations_bounds,
|
|
@@ -782,9 +784,9 @@ class SignedMeasureFormatter(BaseEstimator, TransformerMixin):
|
|
|
782
784
|
]
|
|
783
785
|
# axis, filtration_values
|
|
784
786
|
filtration_values = [
|
|
785
|
-
compute_grid(
|
|
787
|
+
self._backend.astensor(compute_grid(
|
|
786
788
|
f_ax.T, resolution=self.resolution, strategy=self.grid_strategy
|
|
787
|
-
)
|
|
789
|
+
))
|
|
788
790
|
for f_ax in filtration_values
|
|
789
791
|
]
|
|
790
792
|
self._infered_grids = filtration_values
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from typing import Optional
|
|
2
|
+
from warnings import warn
|
|
2
3
|
|
|
3
4
|
import matplotlib.pyplot as plt
|
|
4
5
|
import numpy as np
|
|
5
6
|
from numpy.typing import ArrayLike
|
|
6
|
-
from warnings import warn
|
|
7
|
-
from multipers.array_api import to_numpy
|
|
8
7
|
|
|
8
|
+
from multipers.array_api import to_numpy
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def _plot_rectangle(rectangle: np.ndarray, weight, **plt_kwargs):
|
|
@@ -206,9 +206,9 @@ def plot_surface(
|
|
|
206
206
|
|
|
207
207
|
def plot_surfaces(HF, size=4, **plt_args):
|
|
208
208
|
grid, hf = HF
|
|
209
|
-
assert
|
|
210
|
-
|
|
211
|
-
)
|
|
209
|
+
assert (
|
|
210
|
+
hf.ndim == 3
|
|
211
|
+
), f"Found hf.shape = {hf.shape}, expected ndim = 3 : degree, 2-parameter surface."
|
|
212
212
|
num_degrees = hf.shape[0]
|
|
213
213
|
fig, axes = plt.subplots(
|
|
214
214
|
nrows=1, ncols=num_degrees, figsize=(num_degrees * size, size)
|
|
@@ -388,7 +388,19 @@ def plot_simplicial_complex(
|
|
|
388
388
|
return out
|
|
389
389
|
|
|
390
390
|
|
|
391
|
-
def plot_point_cloud(
|
|
391
|
+
def plot_point_cloud(
|
|
392
|
+
pts,
|
|
393
|
+
function,
|
|
394
|
+
x,
|
|
395
|
+
y,
|
|
396
|
+
mma=None,
|
|
397
|
+
degree=None,
|
|
398
|
+
ball_alpha=0.3,
|
|
399
|
+
point_cmap="viridis",
|
|
400
|
+
color_bias=1,
|
|
401
|
+
ball_color=None,
|
|
402
|
+
point_size=20,
|
|
403
|
+
):
|
|
392
404
|
if mma is not None:
|
|
393
405
|
fig, (a, b) = plt.subplots(ncols=2, figsize=(15, 5))
|
|
394
406
|
plt.sca(a)
|
|
@@ -403,22 +415,23 @@ def plot_point_cloud(pts, function, x, y, mma=None, degree=None):
|
|
|
403
415
|
plt.scatter([x], [y], c="r", zorder=10)
|
|
404
416
|
plt.text(x + 0.01 * (b - a), y + 0.01 * (d - c), f"({x},{y})")
|
|
405
417
|
return
|
|
406
|
-
values =
|
|
418
|
+
values = -function
|
|
407
419
|
qs = np.quantile(values, np.linspace(0, 1, 100))
|
|
408
420
|
|
|
409
421
|
def color_idx(d):
|
|
410
|
-
return np.searchsorted(qs, d) / 100
|
|
422
|
+
return np.searchsorted(qs, d * color_bias) / 100
|
|
411
423
|
|
|
412
|
-
from matplotlib.pyplot import get_cmap
|
|
413
424
|
from matplotlib.collections import PatchCollection
|
|
425
|
+
from matplotlib.pyplot import get_cmap
|
|
414
426
|
|
|
415
427
|
def color(d):
|
|
416
|
-
return get_cmap(
|
|
428
|
+
return get_cmap(point_cmap)([0, color_idx(d), 1])[1]
|
|
417
429
|
|
|
430
|
+
_colors = np.array([color(v) for v in values])
|
|
418
431
|
ax = plt.gca()
|
|
419
432
|
idx = function <= y
|
|
420
|
-
circles = [plt.Circle(pt, x
|
|
421
|
-
pc = PatchCollection(circles, alpha=
|
|
433
|
+
circles = [plt.Circle(pt, x) for pt, c in zip(pts[idx], function)]
|
|
434
|
+
pc = PatchCollection(circles, alpha=ball_alpha, color=ball_color)
|
|
422
435
|
ax.add_collection(pc)
|
|
423
|
-
plt.scatter(*pts.T, c
|
|
436
|
+
plt.scatter(*pts.T, c=_colors, s=point_size)
|
|
424
437
|
ax.set_aspect(1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: multipers
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3b3
|
|
4
4
|
Summary: Multiparameter Topological Persistence for Machine Learning
|
|
5
5
|
Author-email: David Loiseaux <david.lapous@proton.me>, Hannah Schreiber <hannah.schreiber@inria.fr>
|
|
6
6
|
Maintainer-email: David Loiseaux <david.lapous@proton.me>
|
|
@@ -62,6 +62,11 @@ or
|
|
|
62
62
|
```sh
|
|
63
63
|
conda install multipers -c conda-forge
|
|
64
64
|
```
|
|
65
|
+
Pre-releases are available via
|
|
66
|
+
```sh
|
|
67
|
+
pip install --pre multipers
|
|
68
|
+
```
|
|
69
|
+
These release usually contain small bugfixes or unstable new features.
|
|
65
70
|
|
|
66
71
|
Windows support is experimental, and some core dependencies are not available on Windows.
|
|
67
72
|
We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_operators.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/base_swap.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/diff_helpers.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/function_rips.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/hilbert_function.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multi_parameter_rank_invariant/rank_invariant.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/combinatory.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/debug.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/euler_curves.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/heap_column.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/images.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/list_column.h
RENAMED
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/ru_matrix.h
RENAMED
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/set_column.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/utilities.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multipers-2.3.3b2 → multipers-2.3.3b3}/multipers/multiparameter_module_approximation/vineyards.h
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2013,51 +2013,51 @@ cdef extern from "multiparameter_module_approximation/approximation.h" namespace
|
|
|
2013
2013
|
|
|
2014
2014
|
import multipers.slicer as mps
|
|
2015
2015
|
from cython.operator cimport dereference
|
|
2016
|
-
cdef inline Module[
|
|
2016
|
+
cdef inline Module[double] _multiparameter_module_approximation_f64(object slicer, One_critical_filtration[double] direction, double max_error, Box[double] box, bool threshold, bool complete, bool verbose):
|
|
2017
2017
|
import multipers.slicer as mps
|
|
2018
2018
|
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
2019
|
-
cdef Module[
|
|
2019
|
+
cdef Module[double] mod
|
|
2020
2020
|
if False:
|
|
2021
2021
|
pass
|
|
2022
|
-
elif isinstance(slicer, mps.
|
|
2022
|
+
elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f64):
|
|
2023
2023
|
with nogil:
|
|
2024
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2024
|
+
mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2025
2025
|
return mod
|
|
2026
|
-
elif isinstance(slicer, mps.
|
|
2026
|
+
elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f64):
|
|
2027
2027
|
with nogil:
|
|
2028
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2028
|
+
mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2029
2029
|
return mod
|
|
2030
|
-
elif isinstance(slicer, mps.
|
|
2030
|
+
elif isinstance(slicer, mps._Slicer_Matrix0_vine_f64):
|
|
2031
2031
|
with nogil:
|
|
2032
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2032
|
+
mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2033
2033
|
return mod
|
|
2034
|
-
elif isinstance(slicer, mps.
|
|
2034
|
+
elif isinstance(slicer, mps._Slicer_Matrix1_vine_f64):
|
|
2035
2035
|
with nogil:
|
|
2036
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2036
|
+
mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2037
2037
|
return mod
|
|
2038
2038
|
else:
|
|
2039
2039
|
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
2040
|
-
cdef inline Module[
|
|
2040
|
+
cdef inline Module[float] _multiparameter_module_approximation_f32(object slicer, One_critical_filtration[float] direction, float max_error, Box[float] box, bool threshold, bool complete, bool verbose):
|
|
2041
2041
|
import multipers.slicer as mps
|
|
2042
2042
|
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
2043
|
-
cdef Module[
|
|
2043
|
+
cdef Module[float] mod
|
|
2044
2044
|
if False:
|
|
2045
2045
|
pass
|
|
2046
|
-
elif isinstance(slicer, mps.
|
|
2046
|
+
elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f32):
|
|
2047
2047
|
with nogil:
|
|
2048
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2048
|
+
mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2049
2049
|
return mod
|
|
2050
|
-
elif isinstance(slicer, mps.
|
|
2050
|
+
elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f32):
|
|
2051
2051
|
with nogil:
|
|
2052
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2052
|
+
mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2053
2053
|
return mod
|
|
2054
|
-
elif isinstance(slicer, mps.
|
|
2054
|
+
elif isinstance(slicer, mps._Slicer_Matrix0_vine_f32):
|
|
2055
2055
|
with nogil:
|
|
2056
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2056
|
+
mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2057
2057
|
return mod
|
|
2058
|
-
elif isinstance(slicer, mps.
|
|
2058
|
+
elif isinstance(slicer, mps._Slicer_Matrix1_vine_f32):
|
|
2059
2059
|
with nogil:
|
|
2060
|
-
mod = multiparameter_module_approximation(dereference(<
|
|
2060
|
+
mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
2061
2061
|
return mod
|
|
2062
2062
|
else:
|
|
2063
2063
|
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
File without changes
|
|
@@ -19876,7 +19876,7 @@ cdef extern from "gudhi/cubical_to_boundary.h" namespace "":
|
|
|
19876
19876
|
void _to_boundary(const vector[unsigned int]&, vector[vector[unsigned int]]&, vector[int]&) except + nogil
|
|
19877
19877
|
void get_vertices(unsigned int, cset[unsigned int]&, const vector[vector[unsigned int]]&) nogil
|
|
19878
19878
|
|
|
19879
|
-
def
|
|
19879
|
+
def _from_bitmapf32(image, **slicer_kwargs):
|
|
19880
19880
|
from multipers import Slicer
|
|
19881
19881
|
dtype = slicer_kwargs.get("dtype", image.dtype)
|
|
19882
19882
|
slicer_kwargs["dtype"] = dtype
|
|
@@ -19894,9 +19894,9 @@ def _from_bitmapi64(image, **slicer_kwargs):
|
|
|
19894
19894
|
cdef cset[unsigned int] vertices
|
|
19895
19895
|
|
|
19896
19896
|
cdef unsigned int num_gens = gen_dims.size()
|
|
19897
|
-
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.
|
|
19898
|
-
cdef
|
|
19899
|
-
cdef
|
|
19897
|
+
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.float32) - _Slicer._inf_value()
|
|
19898
|
+
cdef float[:,:] F = filtration_values
|
|
19899
|
+
cdef float[:,:] c_img = image.reshape(-1,num_parameters)
|
|
19900
19900
|
with nogil:
|
|
19901
19901
|
for i in range(num_gens):
|
|
19902
19902
|
# with gil:
|
|
@@ -19914,7 +19914,7 @@ def _from_bitmapi64(image, **slicer_kwargs):
|
|
|
19914
19914
|
# print(f"F = {np.asarray(F[i])}")
|
|
19915
19915
|
slicer = _Slicer(gen_maps, gen_dims, filtration_values)
|
|
19916
19916
|
return slicer
|
|
19917
|
-
def
|
|
19917
|
+
def _from_bitmapf64(image, **slicer_kwargs):
|
|
19918
19918
|
from multipers import Slicer
|
|
19919
19919
|
dtype = slicer_kwargs.get("dtype", image.dtype)
|
|
19920
19920
|
slicer_kwargs["dtype"] = dtype
|
|
@@ -19932,9 +19932,9 @@ def _from_bitmapf32(image, **slicer_kwargs):
|
|
|
19932
19932
|
cdef cset[unsigned int] vertices
|
|
19933
19933
|
|
|
19934
19934
|
cdef unsigned int num_gens = gen_dims.size()
|
|
19935
|
-
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.
|
|
19936
|
-
cdef
|
|
19937
|
-
cdef
|
|
19935
|
+
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.float64) - _Slicer._inf_value()
|
|
19936
|
+
cdef double[:,:] F = filtration_values
|
|
19937
|
+
cdef double[:,:] c_img = image.reshape(-1,num_parameters)
|
|
19938
19938
|
with nogil:
|
|
19939
19939
|
for i in range(num_gens):
|
|
19940
19940
|
# with gil:
|
|
@@ -19952,7 +19952,7 @@ def _from_bitmapf32(image, **slicer_kwargs):
|
|
|
19952
19952
|
# print(f"F = {np.asarray(F[i])}")
|
|
19953
19953
|
slicer = _Slicer(gen_maps, gen_dims, filtration_values)
|
|
19954
19954
|
return slicer
|
|
19955
|
-
def
|
|
19955
|
+
def _from_bitmapi32(image, **slicer_kwargs):
|
|
19956
19956
|
from multipers import Slicer
|
|
19957
19957
|
dtype = slicer_kwargs.get("dtype", image.dtype)
|
|
19958
19958
|
slicer_kwargs["dtype"] = dtype
|
|
@@ -19970,9 +19970,9 @@ def _from_bitmapf64(image, **slicer_kwargs):
|
|
|
19970
19970
|
cdef cset[unsigned int] vertices
|
|
19971
19971
|
|
|
19972
19972
|
cdef unsigned int num_gens = gen_dims.size()
|
|
19973
|
-
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.
|
|
19974
|
-
cdef
|
|
19975
|
-
cdef
|
|
19973
|
+
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int32) - _Slicer._inf_value()
|
|
19974
|
+
cdef int32_t[:,:] F = filtration_values
|
|
19975
|
+
cdef int32_t[:,:] c_img = image.reshape(-1,num_parameters)
|
|
19976
19976
|
with nogil:
|
|
19977
19977
|
for i in range(num_gens):
|
|
19978
19978
|
# with gil:
|
|
@@ -19990,7 +19990,7 @@ def _from_bitmapf64(image, **slicer_kwargs):
|
|
|
19990
19990
|
# print(f"F = {np.asarray(F[i])}")
|
|
19991
19991
|
slicer = _Slicer(gen_maps, gen_dims, filtration_values)
|
|
19992
19992
|
return slicer
|
|
19993
|
-
def
|
|
19993
|
+
def _from_bitmapi64(image, **slicer_kwargs):
|
|
19994
19994
|
from multipers import Slicer
|
|
19995
19995
|
dtype = slicer_kwargs.get("dtype", image.dtype)
|
|
19996
19996
|
slicer_kwargs["dtype"] = dtype
|
|
@@ -20008,9 +20008,9 @@ def _from_bitmapi32(image, **slicer_kwargs):
|
|
|
20008
20008
|
cdef cset[unsigned int] vertices
|
|
20009
20009
|
|
|
20010
20010
|
cdef unsigned int num_gens = gen_dims.size()
|
|
20011
|
-
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.
|
|
20012
|
-
cdef
|
|
20013
|
-
cdef
|
|
20011
|
+
filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int64) - _Slicer._inf_value()
|
|
20012
|
+
cdef int64_t[:,:] F = filtration_values
|
|
20013
|
+
cdef int64_t[:,:] c_img = image.reshape(-1,num_parameters)
|
|
20014
20014
|
with nogil:
|
|
20015
20015
|
for i in range(num_gens):
|
|
20016
20016
|
# with gil:
|
|
@@ -20031,14 +20031,14 @@ def _from_bitmapi32(image, **slicer_kwargs):
|
|
|
20031
20031
|
|
|
20032
20032
|
def from_bitmap(img, **kwargs):
|
|
20033
20033
|
img = np.asarray(img)
|
|
20034
|
-
if img.dtype == np.int64:
|
|
20035
|
-
return _from_bitmapi64(img, **kwargs)
|
|
20036
20034
|
if img.dtype == np.float32:
|
|
20037
20035
|
return _from_bitmapf32(img, **kwargs)
|
|
20038
20036
|
if img.dtype == np.float64:
|
|
20039
20037
|
return _from_bitmapf64(img, **kwargs)
|
|
20040
20038
|
if img.dtype == np.int32:
|
|
20041
20039
|
return _from_bitmapi32(img, **kwargs)
|
|
20040
|
+
if img.dtype == np.int64:
|
|
20041
|
+
return _from_bitmapi64(img, **kwargs)
|
|
20042
20042
|
raise ValueError(f"Invalid dtype. Got {img.dtype=}, was expecting {available_dtype=}.")
|
|
20043
20043
|
|
|
20044
20044
|
def from_function_delaunay(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|