multipers 2.4.0b1__cp312-cp312-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- multipers/.dylibs/libboost_timer.dylib +0 -0
- multipers/.dylibs/libc++.1.0.dylib +0 -0
- multipers/.dylibs/libtbb.12.17.dylib +0 -0
- multipers/__init__.py +33 -0
- multipers/_signed_measure_meta.py +426 -0
- multipers/_slicer_meta.py +231 -0
- multipers/array_api/__init__.py +62 -0
- multipers/array_api/numpy.py +124 -0
- multipers/array_api/torch.py +133 -0
- multipers/data/MOL2.py +458 -0
- multipers/data/UCR.py +18 -0
- multipers/data/__init__.py +1 -0
- multipers/data/graphs.py +466 -0
- multipers/data/immuno_regions.py +27 -0
- multipers/data/minimal_presentation_to_st_bf.py +0 -0
- multipers/data/pytorch2simplextree.py +91 -0
- multipers/data/shape3d.py +101 -0
- multipers/data/synthetic.py +113 -0
- multipers/distances.py +202 -0
- multipers/filtration_conversions.pxd +736 -0
- multipers/filtration_conversions.pxd.tp +226 -0
- multipers/filtrations/__init__.py +21 -0
- multipers/filtrations/density.py +529 -0
- multipers/filtrations/filtrations.py +480 -0
- multipers/filtrations.pxd +534 -0
- multipers/filtrations.pxd.tp +332 -0
- multipers/function_rips.cpython-312-darwin.so +0 -0
- multipers/function_rips.pyx +104 -0
- multipers/grids.cpython-312-darwin.so +0 -0
- multipers/grids.pyx +538 -0
- multipers/gudhi/Persistence_slices_interface.h +213 -0
- multipers/gudhi/Simplex_tree_interface.h +274 -0
- multipers/gudhi/Simplex_tree_multi_interface.h +648 -0
- multipers/gudhi/gudhi/Bitmap_cubical_complex.h +450 -0
- multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +1070 -0
- multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +579 -0
- multipers/gudhi/gudhi/Debug_utils.h +52 -0
- multipers/gudhi/gudhi/Degree_rips_bifiltration.h +2307 -0
- multipers/gudhi/gudhi/Dynamic_multi_parameter_filtration.h +2524 -0
- multipers/gudhi/gudhi/Fields/Multi_field.h +453 -0
- multipers/gudhi/gudhi/Fields/Multi_field_operators.h +460 -0
- multipers/gudhi/gudhi/Fields/Multi_field_shared.h +444 -0
- multipers/gudhi/gudhi/Fields/Multi_field_small.h +584 -0
- multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +490 -0
- multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +580 -0
- multipers/gudhi/gudhi/Fields/Z2_field.h +391 -0
- multipers/gudhi/gudhi/Fields/Z2_field_operators.h +389 -0
- multipers/gudhi/gudhi/Fields/Zp_field.h +493 -0
- multipers/gudhi/gudhi/Fields/Zp_field_operators.h +384 -0
- multipers/gudhi/gudhi/Fields/Zp_field_shared.h +492 -0
- multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +337 -0
- multipers/gudhi/gudhi/Matrix.h +2200 -0
- multipers/gudhi/gudhi/Multi_filtration/Multi_parameter_generator.h +1712 -0
- multipers/gudhi/gudhi/Multi_filtration/multi_filtration_conversions.h +237 -0
- multipers/gudhi/gudhi/Multi_filtration/multi_filtration_utils.h +225 -0
- multipers/gudhi/gudhi/Multi_parameter_filtered_complex.h +485 -0
- multipers/gudhi/gudhi/Multi_parameter_filtration.h +2643 -0
- multipers/gudhi/gudhi/Multi_persistence/Box.h +233 -0
- multipers/gudhi/gudhi/Multi_persistence/Line.h +309 -0
- multipers/gudhi/gudhi/Multi_persistence/Multi_parameter_filtered_complex_pcoh_interface.h +268 -0
- multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_cohomology.h +159 -0
- multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_matrix.h +463 -0
- multipers/gudhi/gudhi/Multi_persistence/Point.h +853 -0
- multipers/gudhi/gudhi/Off_reader.h +173 -0
- multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +834 -0
- multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +838 -0
- multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +833 -0
- multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +1367 -0
- multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +1157 -0
- multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +869 -0
- multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +905 -0
- multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +122 -0
- multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +260 -0
- multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +288 -0
- multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +170 -0
- multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +247 -0
- multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +571 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +182 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +130 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +235 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +312 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +1092 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +923 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +914 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +930 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +1071 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +203 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +886 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +984 -0
- multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +1213 -0
- multipers/gudhi/gudhi/Persistence_matrix/index_mapper.h +58 -0
- multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +227 -0
- multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +200 -0
- multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +166 -0
- multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +319 -0
- multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +562 -0
- multipers/gudhi/gudhi/Persistence_on_a_line.h +152 -0
- multipers/gudhi/gudhi/Persistence_on_rectangle.h +617 -0
- multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +118 -0
- multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +173 -0
- multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +128 -0
- multipers/gudhi/gudhi/Persistent_cohomology.h +769 -0
- multipers/gudhi/gudhi/Points_off_io.h +171 -0
- multipers/gudhi/gudhi/Projective_cover_kernel.h +379 -0
- multipers/gudhi/gudhi/Simple_object_pool.h +69 -0
- multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +559 -0
- multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +83 -0
- multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +121 -0
- multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +277 -0
- multipers/gudhi/gudhi/Simplex_tree/filtration_value_utils.h +155 -0
- multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +62 -0
- multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +27 -0
- multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +60 -0
- multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +105 -0
- multipers/gudhi/gudhi/Simplex_tree.h +3170 -0
- multipers/gudhi/gudhi/Slicer.h +848 -0
- multipers/gudhi/gudhi/Thread_safe_slicer.h +393 -0
- multipers/gudhi/gudhi/distance_functions.h +62 -0
- multipers/gudhi/gudhi/graph_simplicial_complex.h +104 -0
- multipers/gudhi/gudhi/multi_simplex_tree_helpers.h +147 -0
- multipers/gudhi/gudhi/persistence_interval.h +263 -0
- multipers/gudhi/gudhi/persistence_matrix_options.h +188 -0
- multipers/gudhi/gudhi/reader_utils.h +367 -0
- multipers/gudhi/gudhi/simple_mdspan.h +484 -0
- multipers/gudhi/gudhi/slicer_helpers.h +779 -0
- multipers/gudhi/tmp_h0_pers/mma_interface_h0.h +223 -0
- multipers/gudhi/tmp_h0_pers/naive_merge_tree.h +536 -0
- multipers/io.cpython-312-darwin.so +0 -0
- multipers/io.pyx +472 -0
- multipers/ml/__init__.py +0 -0
- multipers/ml/accuracies.py +90 -0
- multipers/ml/invariants_with_persistable.py +79 -0
- multipers/ml/kernels.py +176 -0
- multipers/ml/mma.py +713 -0
- multipers/ml/one.py +472 -0
- multipers/ml/point_clouds.py +352 -0
- multipers/ml/signed_measures.py +1667 -0
- multipers/ml/sliced_wasserstein.py +461 -0
- multipers/ml/tools.py +113 -0
- multipers/mma_structures.cpython-312-darwin.so +0 -0
- multipers/mma_structures.pxd +134 -0
- multipers/mma_structures.pyx +1483 -0
- multipers/mma_structures.pyx.tp +1126 -0
- multipers/multi_parameter_rank_invariant/diff_helpers.h +85 -0
- multipers/multi_parameter_rank_invariant/euler_characteristic.h +95 -0
- multipers/multi_parameter_rank_invariant/function_rips.h +317 -0
- multipers/multi_parameter_rank_invariant/hilbert_function.h +761 -0
- multipers/multi_parameter_rank_invariant/persistence_slices.h +149 -0
- multipers/multi_parameter_rank_invariant/rank_invariant.h +350 -0
- multipers/multiparameter_edge_collapse.py +41 -0
- multipers/multiparameter_module_approximation/approximation.h +2541 -0
- multipers/multiparameter_module_approximation/debug.h +107 -0
- multipers/multiparameter_module_approximation/format_python-cpp.h +292 -0
- multipers/multiparameter_module_approximation/utilities.h +428 -0
- multipers/multiparameter_module_approximation.cpython-312-darwin.so +0 -0
- multipers/multiparameter_module_approximation.pyx +286 -0
- multipers/ops.cpython-312-darwin.so +0 -0
- multipers/ops.pyx +231 -0
- multipers/pickle.py +89 -0
- multipers/plots.py +550 -0
- multipers/point_measure.cpython-312-darwin.so +0 -0
- multipers/point_measure.pyx +409 -0
- multipers/simplex_tree_multi.cpython-312-darwin.so +0 -0
- multipers/simplex_tree_multi.pxd +136 -0
- multipers/simplex_tree_multi.pyx +11719 -0
- multipers/simplex_tree_multi.pyx.tp +2102 -0
- multipers/slicer.cpython-312-darwin.so +0 -0
- multipers/slicer.pxd +2097 -0
- multipers/slicer.pxd.tp +263 -0
- multipers/slicer.pyx +13042 -0
- multipers/slicer.pyx.tp +1259 -0
- multipers/tensor/tensor.h +672 -0
- multipers/tensor.pxd +13 -0
- multipers/test.pyx +44 -0
- multipers/tests/__init__.py +70 -0
- multipers/torch/__init__.py +1 -0
- multipers/torch/diff_grids.py +240 -0
- multipers/torch/rips_density.py +310 -0
- multipers/vector_interface.pxd +46 -0
- multipers-2.4.0b1.dist-info/METADATA +131 -0
- multipers-2.4.0b1.dist-info/RECORD +184 -0
- multipers-2.4.0b1.dist-info/WHEEL +6 -0
- multipers-2.4.0b1.dist-info/licenses/LICENSE +21 -0
- multipers-2.4.0b1.dist-info/top_level.txt +1 -0
multipers/slicer.pxd
ADDED
|
@@ -0,0 +1,2097 @@
|
|
|
1
|
+
|
|
2
|
+
cimport numpy as cnp
|
|
3
|
+
|
|
4
|
+
# SequentialDataset and its two concrete subclasses are (optionally randomized)
|
|
5
|
+
# iterators over the rows of a matrix X and corresponding target values y.
|
|
6
|
+
|
|
7
|
+
from libcpp.utility cimport pair
|
|
8
|
+
from libcpp cimport bool, int, float
|
|
9
|
+
from libcpp.vector cimport vector
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
from libc.stdint cimport intptr_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t
|
|
13
|
+
from cython cimport uint
|
|
14
|
+
|
|
15
|
+
import numpy as np
|
|
16
|
+
python_value_type=np.float32
|
|
17
|
+
from libcpp.string cimport string
|
|
18
|
+
|
|
19
|
+
cdef extern from "Simplex_tree_multi_interface.h" namespace "Gudhi::multiparameter::python_interface":
|
|
20
|
+
cdef cppclass Simplex_tree_multi_interface[F=*, value_type=*]:
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
from multipers.filtrations cimport *
|
|
24
|
+
ctypedef vector[uint] cycle_type ## its the cycle type of matrix
|
|
25
|
+
|
|
26
|
+
cdef extern from "gudhi/Multi_parameter_filtered_complex.h" namespace "Gudhi::multi_persistence":
|
|
27
|
+
cdef cppclass Multi_parameter_filtered_complex[F]:
|
|
28
|
+
Multi_parameter_filtered_complex()
|
|
29
|
+
Multi_parameter_filtered_complex(vector[vector[uint32_t]]&, vector[int]&, vector[F]&)
|
|
30
|
+
#------------------------------------------------------------------------------
|
|
31
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
32
|
+
cdef cppclass Bar[T]:
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
cdef cppclass Barcode[S, T]:
|
|
36
|
+
size_t size()
|
|
37
|
+
Bar[T]* data()
|
|
38
|
+
|
|
39
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
40
|
+
size_t size()
|
|
41
|
+
Barcode[S,T]& operator[](size_t)
|
|
42
|
+
|
|
43
|
+
cdef cppclass C_KFlatSlicer_Matrix0_vine_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
44
|
+
ctypedef int32_t value_type
|
|
45
|
+
|
|
46
|
+
C_KFlatSlicer_Matrix0_vine_i32()
|
|
47
|
+
C_KFlatSlicer_Matrix0_vine_i32(Multi_parameter_filtered_complex[KFlat_i32]&) except +
|
|
48
|
+
|
|
49
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
50
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
51
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
52
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
53
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
54
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
55
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
56
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
57
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
58
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
59
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
60
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
61
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
62
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
63
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
64
|
+
C_KFlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
65
|
+
|
|
66
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
67
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
68
|
+
vector[uint32_t] get_current_order() nogil
|
|
69
|
+
void vineyard_update() nogil
|
|
70
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
71
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
72
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
73
|
+
pair[KFlat_i32, KFlat_i32] get_bounding_box() except + nogil
|
|
74
|
+
vector[KFlat_i32]& get_filtrations "get_filtration_values"() nogil
|
|
75
|
+
vector[int] get_dimensions() nogil
|
|
76
|
+
int get_dimension(uint32_t) nogil
|
|
77
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
78
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
79
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
80
|
+
void push_to(const Line[int32_t]&) nogil
|
|
81
|
+
int prune_above_dimension(int) except + nogil
|
|
82
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
83
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
84
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
85
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
86
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
87
|
+
string slicer_to_str(C_KFlatSlicer_Matrix0_vine_i32&) nogil #to_str
|
|
88
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_vine_i32&, vector[uint32_t]&) except + nogil #permute
|
|
89
|
+
pair[C_KFlatSlicer_Matrix0_vine_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_vine_i32&) except + nogil #colexical_rearange
|
|
90
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KFlatSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
91
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KFlatSlicer_Matrix0_vine_i32&, int) except + nogil #projective_cover_kernel
|
|
92
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KFlatSlicer_Matrix0_vine_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
93
|
+
|
|
94
|
+
#------------------------------------------------------------------------------
|
|
95
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
96
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_scc_file_C_KFlatSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
97
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
98
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
99
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
100
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
101
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
102
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
103
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
104
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
105
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_from_bitmap_C_KFlatSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[KFlat_i32], vector[unsigned int]) except + nogil
|
|
106
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, int32_t, int, true>"(C_KFlatSlicer_Matrix0_vine_i32&, int32_t*, int, bool) except + nogil
|
|
107
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_KFlatSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
108
|
+
|
|
109
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_vine_i32(const Barcode[C_KFlatSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
110
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
111
|
+
if size == 0:
|
|
112
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
113
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
114
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
115
|
+
return np.array(view).reshape((-1, 2))
|
|
116
|
+
|
|
117
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_vine_i32(const Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
118
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
119
|
+
return [_b2np_C_KFlatSlicer_Matrix0_vine_i32(barcode[i]) for i in range(dims)]
|
|
120
|
+
|
|
121
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_vine_i32_idx(const Barcode[C_KFlatSlicer_Matrix0_vine_i32, int]& barcode):
|
|
122
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
123
|
+
if size == 0:
|
|
124
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
125
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
126
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
127
|
+
return np.array(view).reshape((-1, 2))
|
|
128
|
+
|
|
129
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_vine_i32_idx(const Dim_barcode[C_KFlatSlicer_Matrix0_vine_i32, int]& barcode):
|
|
130
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
131
|
+
return [_b2np_C_KFlatSlicer_Matrix0_vine_i32_idx(barcode[i]) for i in range(dims)]
|
|
132
|
+
#------------------------------------------------------------------------------
|
|
133
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
134
|
+
cdef cppclass Bar[T]:
|
|
135
|
+
pass
|
|
136
|
+
|
|
137
|
+
cdef cppclass Barcode[S, T]:
|
|
138
|
+
size_t size()
|
|
139
|
+
Bar[T]* data()
|
|
140
|
+
|
|
141
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
142
|
+
size_t size()
|
|
143
|
+
Barcode[S,T]& operator[](size_t)
|
|
144
|
+
|
|
145
|
+
cdef cppclass C_KContiguousSlicer_Matrix0_vine_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
146
|
+
ctypedef int32_t value_type
|
|
147
|
+
|
|
148
|
+
C_KContiguousSlicer_Matrix0_vine_i32()
|
|
149
|
+
C_KContiguousSlicer_Matrix0_vine_i32(Multi_parameter_filtered_complex[KContiguous_i32]&) except +
|
|
150
|
+
|
|
151
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
152
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
153
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
154
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
155
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
156
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
157
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
158
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
159
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
160
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
161
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
162
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
163
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
164
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
165
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
166
|
+
C_KContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
167
|
+
|
|
168
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
169
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
170
|
+
vector[uint32_t] get_current_order() nogil
|
|
171
|
+
void vineyard_update() nogil
|
|
172
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
173
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
174
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
175
|
+
pair[KContiguous_i32, KContiguous_i32] get_bounding_box() except + nogil
|
|
176
|
+
vector[KContiguous_i32]& get_filtrations "get_filtration_values"() nogil
|
|
177
|
+
vector[int] get_dimensions() nogil
|
|
178
|
+
int get_dimension(uint32_t) nogil
|
|
179
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
180
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
181
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
182
|
+
void push_to(const Line[int32_t]&) nogil
|
|
183
|
+
int prune_above_dimension(int) except + nogil
|
|
184
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
185
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
186
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
187
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
188
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
189
|
+
string slicer_to_str(C_KContiguousSlicer_Matrix0_vine_i32&) nogil #to_str
|
|
190
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_vine_i32&, vector[uint32_t]&) except + nogil #permute
|
|
191
|
+
pair[C_KContiguousSlicer_Matrix0_vine_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil #colexical_rearange
|
|
192
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KContiguousSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
193
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KContiguousSlicer_Matrix0_vine_i32&, int) except + nogil #projective_cover_kernel
|
|
194
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KContiguousSlicer_Matrix0_vine_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
195
|
+
|
|
196
|
+
#------------------------------------------------------------------------------
|
|
197
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
198
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_scc_file_C_KContiguousSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
199
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
200
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
201
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
202
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
203
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
204
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
205
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
206
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
207
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_from_bitmap_C_KContiguousSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[KContiguous_i32], vector[unsigned int]) except + nogil
|
|
208
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, int32_t, int, true>"(C_KContiguousSlicer_Matrix0_vine_i32&, int32_t*, int, bool) except + nogil
|
|
209
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_KContiguousSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
210
|
+
|
|
211
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_vine_i32(const Barcode[C_KContiguousSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
212
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
213
|
+
if size == 0:
|
|
214
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
215
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
216
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
217
|
+
return np.array(view).reshape((-1, 2))
|
|
218
|
+
|
|
219
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_vine_i32(const Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
220
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
221
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_vine_i32(barcode[i]) for i in range(dims)]
|
|
222
|
+
|
|
223
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_vine_i32_idx(const Barcode[C_KContiguousSlicer_Matrix0_vine_i32, int]& barcode):
|
|
224
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
225
|
+
if size == 0:
|
|
226
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
227
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
228
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
229
|
+
return np.array(view).reshape((-1, 2))
|
|
230
|
+
|
|
231
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_vine_i32_idx(const Dim_barcode[C_KContiguousSlicer_Matrix0_vine_i32, int]& barcode):
|
|
232
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
233
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_vine_i32_idx(barcode[i]) for i in range(dims)]
|
|
234
|
+
#------------------------------------------------------------------------------
|
|
235
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
236
|
+
cdef cppclass Bar[T]:
|
|
237
|
+
pass
|
|
238
|
+
|
|
239
|
+
cdef cppclass Barcode[S, T]:
|
|
240
|
+
size_t size()
|
|
241
|
+
Bar[T]* data()
|
|
242
|
+
|
|
243
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
244
|
+
size_t size()
|
|
245
|
+
Barcode[S,T]& operator[](size_t)
|
|
246
|
+
|
|
247
|
+
cdef cppclass C_KFlatSlicer_Matrix0_vine_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
248
|
+
ctypedef double value_type
|
|
249
|
+
|
|
250
|
+
C_KFlatSlicer_Matrix0_vine_f64()
|
|
251
|
+
C_KFlatSlicer_Matrix0_vine_f64(Multi_parameter_filtered_complex[KFlat_f64]&) except +
|
|
252
|
+
|
|
253
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
254
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
255
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
256
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
257
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
258
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
259
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
260
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
261
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
262
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
263
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
264
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
265
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
266
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
267
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
268
|
+
C_KFlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
269
|
+
|
|
270
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
271
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
272
|
+
vector[uint32_t] get_current_order() nogil
|
|
273
|
+
void vineyard_update() nogil
|
|
274
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
275
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
276
|
+
vector[double] get_one_filtration "get_slice"()
|
|
277
|
+
pair[KFlat_f64, KFlat_f64] get_bounding_box() except + nogil
|
|
278
|
+
vector[KFlat_f64]& get_filtrations "get_filtration_values"() nogil
|
|
279
|
+
vector[int] get_dimensions() nogil
|
|
280
|
+
int get_dimension(uint32_t) nogil
|
|
281
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
282
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
283
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
284
|
+
void push_to(const Line[double]&) nogil
|
|
285
|
+
int prune_above_dimension(int) except + nogil
|
|
286
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
287
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
288
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
289
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
290
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
291
|
+
string slicer_to_str(C_KFlatSlicer_Matrix0_vine_f64&) nogil #to_str
|
|
292
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_vine_f64&, vector[uint32_t]&) except + nogil #permute
|
|
293
|
+
pair[C_KFlatSlicer_Matrix0_vine_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_vine_f64&) except + nogil #colexical_rearange
|
|
294
|
+
C_KFlatSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KFlatSlicer_Matrix0_vine_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
295
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KFlatSlicer_Matrix0_vine_f64&, int) except + nogil #projective_cover_kernel
|
|
296
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KFlatSlicer_Matrix0_vine_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
297
|
+
|
|
298
|
+
#------------------------------------------------------------------------------
|
|
299
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
300
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_scc_file_C_KFlatSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
301
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
302
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
303
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
304
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
305
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
306
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
307
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
308
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_vine_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
309
|
+
C_KFlatSlicer_Matrix0_vine_f64 build_slicer_from_bitmap_C_KFlatSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[KFlat_f64], vector[unsigned int]) except + nogil
|
|
310
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, double, int, true>"(C_KFlatSlicer_Matrix0_vine_f64&, double*, int, bool) except + nogil
|
|
311
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, double]] persistence_on_lines "persistence_on_slices"(C_KFlatSlicer_Matrix0_vine_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
312
|
+
|
|
313
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_vine_f64(const Barcode[C_KFlatSlicer_Matrix0_vine_f64, double]& barcode):
|
|
314
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
315
|
+
if size == 0:
|
|
316
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
317
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
318
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
319
|
+
return np.array(view).reshape((-1, 2))
|
|
320
|
+
|
|
321
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_vine_f64(const Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, double]& barcode):
|
|
322
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
323
|
+
return [_b2np_C_KFlatSlicer_Matrix0_vine_f64(barcode[i]) for i in range(dims)]
|
|
324
|
+
|
|
325
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_vine_f64_idx(const Barcode[C_KFlatSlicer_Matrix0_vine_f64, int]& barcode):
|
|
326
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
327
|
+
if size == 0:
|
|
328
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
329
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
330
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
331
|
+
return np.array(view).reshape((-1, 2))
|
|
332
|
+
|
|
333
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_vine_f64_idx(const Dim_barcode[C_KFlatSlicer_Matrix0_vine_f64, int]& barcode):
|
|
334
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
335
|
+
return [_b2np_C_KFlatSlicer_Matrix0_vine_f64_idx(barcode[i]) for i in range(dims)]
|
|
336
|
+
#------------------------------------------------------------------------------
|
|
337
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
338
|
+
cdef cppclass Bar[T]:
|
|
339
|
+
pass
|
|
340
|
+
|
|
341
|
+
cdef cppclass Barcode[S, T]:
|
|
342
|
+
size_t size()
|
|
343
|
+
Bar[T]* data()
|
|
344
|
+
|
|
345
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
346
|
+
size_t size()
|
|
347
|
+
Barcode[S,T]& operator[](size_t)
|
|
348
|
+
|
|
349
|
+
cdef cppclass C_KContiguousSlicer_Matrix0_vine_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
350
|
+
ctypedef double value_type
|
|
351
|
+
|
|
352
|
+
C_KContiguousSlicer_Matrix0_vine_f64()
|
|
353
|
+
C_KContiguousSlicer_Matrix0_vine_f64(Multi_parameter_filtered_complex[KContiguous_f64]&) except +
|
|
354
|
+
|
|
355
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
356
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
357
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
358
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
359
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
360
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
361
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
362
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
363
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
364
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
365
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
366
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
367
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
368
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
369
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
370
|
+
C_KContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
371
|
+
|
|
372
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
373
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
374
|
+
vector[uint32_t] get_current_order() nogil
|
|
375
|
+
void vineyard_update() nogil
|
|
376
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
377
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
378
|
+
vector[double] get_one_filtration "get_slice"()
|
|
379
|
+
pair[KContiguous_f64, KContiguous_f64] get_bounding_box() except + nogil
|
|
380
|
+
vector[KContiguous_f64]& get_filtrations "get_filtration_values"() nogil
|
|
381
|
+
vector[int] get_dimensions() nogil
|
|
382
|
+
int get_dimension(uint32_t) nogil
|
|
383
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
384
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
385
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
386
|
+
void push_to(const Line[double]&) nogil
|
|
387
|
+
int prune_above_dimension(int) except + nogil
|
|
388
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
389
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
390
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
391
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
392
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
393
|
+
string slicer_to_str(C_KContiguousSlicer_Matrix0_vine_f64&) nogil #to_str
|
|
394
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_vine_f64&, vector[uint32_t]&) except + nogil #permute
|
|
395
|
+
pair[C_KContiguousSlicer_Matrix0_vine_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil #colexical_rearange
|
|
396
|
+
C_KContiguousSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KContiguousSlicer_Matrix0_vine_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
397
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KContiguousSlicer_Matrix0_vine_f64&, int) except + nogil #projective_cover_kernel
|
|
398
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KContiguousSlicer_Matrix0_vine_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
399
|
+
|
|
400
|
+
#------------------------------------------------------------------------------
|
|
401
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
402
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_scc_file_C_KContiguousSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
403
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
404
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
405
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
406
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
407
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
408
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
409
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
410
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_vine_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
411
|
+
C_KContiguousSlicer_Matrix0_vine_f64 build_slicer_from_bitmap_C_KContiguousSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[KContiguous_f64], vector[unsigned int]) except + nogil
|
|
412
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, double, int, true>"(C_KContiguousSlicer_Matrix0_vine_f64&, double*, int, bool) except + nogil
|
|
413
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, double]] persistence_on_lines "persistence_on_slices"(C_KContiguousSlicer_Matrix0_vine_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
414
|
+
|
|
415
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_vine_f64(const Barcode[C_KContiguousSlicer_Matrix0_vine_f64, double]& barcode):
|
|
416
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
417
|
+
if size == 0:
|
|
418
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
419
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
420
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
421
|
+
return np.array(view).reshape((-1, 2))
|
|
422
|
+
|
|
423
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_vine_f64(const Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, double]& barcode):
|
|
424
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
425
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_vine_f64(barcode[i]) for i in range(dims)]
|
|
426
|
+
|
|
427
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_vine_f64_idx(const Barcode[C_KContiguousSlicer_Matrix0_vine_f64, int]& barcode):
|
|
428
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
429
|
+
if size == 0:
|
|
430
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
431
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
432
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
433
|
+
return np.array(view).reshape((-1, 2))
|
|
434
|
+
|
|
435
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_vine_f64_idx(const Dim_barcode[C_KContiguousSlicer_Matrix0_vine_f64, int]& barcode):
|
|
436
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
437
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_vine_f64_idx(barcode[i]) for i in range(dims)]
|
|
438
|
+
#------------------------------------------------------------------------------
|
|
439
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
440
|
+
cdef cppclass Bar[T]:
|
|
441
|
+
pass
|
|
442
|
+
|
|
443
|
+
cdef cppclass Barcode[S, T]:
|
|
444
|
+
size_t size()
|
|
445
|
+
Bar[T]* data()
|
|
446
|
+
|
|
447
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
448
|
+
size_t size()
|
|
449
|
+
Barcode[S,T]& operator[](size_t)
|
|
450
|
+
|
|
451
|
+
cdef cppclass C_FlatSlicer_Matrix0_vine_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
452
|
+
ctypedef int32_t value_type
|
|
453
|
+
|
|
454
|
+
C_FlatSlicer_Matrix0_vine_i32()
|
|
455
|
+
C_FlatSlicer_Matrix0_vine_i32(Multi_parameter_filtered_complex[Flat_i32]&) except +
|
|
456
|
+
|
|
457
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
458
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
459
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
460
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
461
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
462
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
463
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
464
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
465
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
466
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
467
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
468
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
469
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
470
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
471
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
472
|
+
C_FlatSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
473
|
+
|
|
474
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
475
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
476
|
+
vector[uint32_t] get_current_order() nogil
|
|
477
|
+
void vineyard_update() nogil
|
|
478
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
479
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
480
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
481
|
+
pair[Flat_i32, Flat_i32] get_bounding_box() except + nogil
|
|
482
|
+
vector[Flat_i32]& get_filtrations "get_filtration_values"() nogil
|
|
483
|
+
vector[int] get_dimensions() nogil
|
|
484
|
+
int get_dimension(uint32_t) nogil
|
|
485
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
486
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
487
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
488
|
+
void push_to(const Line[int32_t]&) nogil
|
|
489
|
+
int prune_above_dimension(int) except + nogil
|
|
490
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
491
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
492
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
493
|
+
Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
494
|
+
Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
495
|
+
string slicer_to_str(C_FlatSlicer_Matrix0_vine_i32&) nogil #to_str
|
|
496
|
+
C_FlatSlicer_Matrix0_vine_i32 build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_vine_i32&, vector[uint32_t]&) except + nogil #permute
|
|
497
|
+
pair[C_FlatSlicer_Matrix0_vine_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_vine_i32&) except + nogil #colexical_rearange
|
|
498
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_FlatSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
499
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_FlatSlicer_Matrix0_vine_i32&, int) except + nogil #projective_cover_kernel
|
|
500
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_FlatSlicer_Matrix0_vine_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
501
|
+
|
|
502
|
+
#------------------------------------------------------------------------------
|
|
503
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
504
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_scc_file_C_FlatSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
505
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
506
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
507
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
508
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
509
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
510
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
511
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
512
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
513
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_from_bitmap_C_FlatSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[Flat_i32], vector[unsigned int]) except + nogil
|
|
514
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, int32_t, int, true>"(C_FlatSlicer_Matrix0_vine_i32&, int32_t*, int, bool) except + nogil
|
|
515
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_FlatSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
516
|
+
|
|
517
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_vine_i32(const Barcode[C_FlatSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
518
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
519
|
+
if size == 0:
|
|
520
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
521
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
522
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
523
|
+
return np.array(view).reshape((-1, 2))
|
|
524
|
+
|
|
525
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_vine_i32(const Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
526
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
527
|
+
return [_b2np_C_FlatSlicer_Matrix0_vine_i32(barcode[i]) for i in range(dims)]
|
|
528
|
+
|
|
529
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_vine_i32_idx(const Barcode[C_FlatSlicer_Matrix0_vine_i32, int]& barcode):
|
|
530
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
531
|
+
if size == 0:
|
|
532
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
533
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
534
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
535
|
+
return np.array(view).reshape((-1, 2))
|
|
536
|
+
|
|
537
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_vine_i32_idx(const Dim_barcode[C_FlatSlicer_Matrix0_vine_i32, int]& barcode):
|
|
538
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
539
|
+
return [_b2np_C_FlatSlicer_Matrix0_vine_i32_idx(barcode[i]) for i in range(dims)]
|
|
540
|
+
#------------------------------------------------------------------------------
|
|
541
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
542
|
+
cdef cppclass Bar[T]:
|
|
543
|
+
pass
|
|
544
|
+
|
|
545
|
+
cdef cppclass Barcode[S, T]:
|
|
546
|
+
size_t size()
|
|
547
|
+
Bar[T]* data()
|
|
548
|
+
|
|
549
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
550
|
+
size_t size()
|
|
551
|
+
Barcode[S,T]& operator[](size_t)
|
|
552
|
+
|
|
553
|
+
cdef cppclass C_ContiguousSlicer_Matrix0_vine_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
554
|
+
ctypedef int32_t value_type
|
|
555
|
+
|
|
556
|
+
C_ContiguousSlicer_Matrix0_vine_i32()
|
|
557
|
+
C_ContiguousSlicer_Matrix0_vine_i32(Multi_parameter_filtered_complex[Contiguous_i32]&) except +
|
|
558
|
+
|
|
559
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
560
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
561
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
562
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
563
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
564
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
565
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
566
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
567
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
568
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
569
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
570
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
571
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
572
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
573
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
574
|
+
C_ContiguousSlicer_Matrix0_vine_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
575
|
+
|
|
576
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
577
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
578
|
+
vector[uint32_t] get_current_order() nogil
|
|
579
|
+
void vineyard_update() nogil
|
|
580
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
581
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
582
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
583
|
+
pair[Contiguous_i32, Contiguous_i32] get_bounding_box() except + nogil
|
|
584
|
+
vector[Contiguous_i32]& get_filtrations "get_filtration_values"() nogil
|
|
585
|
+
vector[int] get_dimensions() nogil
|
|
586
|
+
int get_dimension(uint32_t) nogil
|
|
587
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
588
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
589
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
590
|
+
void push_to(const Line[int32_t]&) nogil
|
|
591
|
+
int prune_above_dimension(int) except + nogil
|
|
592
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
593
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
594
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
595
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
596
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
597
|
+
string slicer_to_str(C_ContiguousSlicer_Matrix0_vine_i32&) nogil #to_str
|
|
598
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_vine_i32&, vector[uint32_t]&) except + nogil #permute
|
|
599
|
+
pair[C_ContiguousSlicer_Matrix0_vine_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil #colexical_rearange
|
|
600
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_ContiguousSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
601
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_ContiguousSlicer_Matrix0_vine_i32&, int) except + nogil #projective_cover_kernel
|
|
602
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_ContiguousSlicer_Matrix0_vine_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
603
|
+
|
|
604
|
+
#------------------------------------------------------------------------------
|
|
605
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
606
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_scc_file_C_ContiguousSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
607
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
608
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
609
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
610
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
611
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
612
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
613
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
614
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
615
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_from_bitmap_C_ContiguousSlicer_Matrix0_vine_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[Contiguous_i32], vector[unsigned int]) except + nogil
|
|
616
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, int32_t, int, true>"(C_ContiguousSlicer_Matrix0_vine_i32&, int32_t*, int, bool) except + nogil
|
|
617
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_ContiguousSlicer_Matrix0_vine_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
618
|
+
|
|
619
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_vine_i32(const Barcode[C_ContiguousSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
620
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
621
|
+
if size == 0:
|
|
622
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
623
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
624
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
625
|
+
return np.array(view).reshape((-1, 2))
|
|
626
|
+
|
|
627
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_vine_i32(const Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int32_t]& barcode):
|
|
628
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
629
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_vine_i32(barcode[i]) for i in range(dims)]
|
|
630
|
+
|
|
631
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_vine_i32_idx(const Barcode[C_ContiguousSlicer_Matrix0_vine_i32, int]& barcode):
|
|
632
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
633
|
+
if size == 0:
|
|
634
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
635
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
636
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
637
|
+
return np.array(view).reshape((-1, 2))
|
|
638
|
+
|
|
639
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_vine_i32_idx(const Dim_barcode[C_ContiguousSlicer_Matrix0_vine_i32, int]& barcode):
|
|
640
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
641
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_vine_i32_idx(barcode[i]) for i in range(dims)]
|
|
642
|
+
#------------------------------------------------------------------------------
|
|
643
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
644
|
+
cdef cppclass Bar[T]:
|
|
645
|
+
pass
|
|
646
|
+
|
|
647
|
+
cdef cppclass Barcode[S, T]:
|
|
648
|
+
size_t size()
|
|
649
|
+
Bar[T]* data()
|
|
650
|
+
|
|
651
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
652
|
+
size_t size()
|
|
653
|
+
Barcode[S,T]& operator[](size_t)
|
|
654
|
+
|
|
655
|
+
cdef cppclass C_FlatSlicer_Matrix0_vine_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
656
|
+
ctypedef double value_type
|
|
657
|
+
|
|
658
|
+
C_FlatSlicer_Matrix0_vine_f64()
|
|
659
|
+
C_FlatSlicer_Matrix0_vine_f64(Multi_parameter_filtered_complex[Flat_f64]&) except +
|
|
660
|
+
|
|
661
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
662
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
663
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
664
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
665
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
666
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
667
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
668
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
669
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
670
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
671
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
672
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
673
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
674
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
675
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
676
|
+
C_FlatSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
677
|
+
|
|
678
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
679
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
680
|
+
vector[uint32_t] get_current_order() nogil
|
|
681
|
+
void vineyard_update() nogil
|
|
682
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
683
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
684
|
+
vector[double] get_one_filtration "get_slice"()
|
|
685
|
+
pair[Flat_f64, Flat_f64] get_bounding_box() except + nogil
|
|
686
|
+
vector[Flat_f64]& get_filtrations "get_filtration_values"() nogil
|
|
687
|
+
vector[int] get_dimensions() nogil
|
|
688
|
+
int get_dimension(uint32_t) nogil
|
|
689
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
690
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
691
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
692
|
+
void push_to(const Line[double]&) nogil
|
|
693
|
+
int prune_above_dimension(int) except + nogil
|
|
694
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
695
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
696
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
697
|
+
Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
698
|
+
Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
699
|
+
string slicer_to_str(C_FlatSlicer_Matrix0_vine_f64&) nogil #to_str
|
|
700
|
+
C_FlatSlicer_Matrix0_vine_f64 build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_vine_f64&, vector[uint32_t]&) except + nogil #permute
|
|
701
|
+
pair[C_FlatSlicer_Matrix0_vine_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_vine_f64&) except + nogil #colexical_rearange
|
|
702
|
+
C_FlatSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_FlatSlicer_Matrix0_vine_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
703
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_FlatSlicer_Matrix0_vine_f64&, int) except + nogil #projective_cover_kernel
|
|
704
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_FlatSlicer_Matrix0_vine_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
705
|
+
|
|
706
|
+
#------------------------------------------------------------------------------
|
|
707
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
708
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_scc_file_C_FlatSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
709
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
710
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
711
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
712
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
713
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
714
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
715
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
716
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_vine_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
717
|
+
C_FlatSlicer_Matrix0_vine_f64 build_slicer_from_bitmap_C_FlatSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[Flat_f64], vector[unsigned int]) except + nogil
|
|
718
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, double, int, true>"(C_FlatSlicer_Matrix0_vine_f64&, double*, int, bool) except + nogil
|
|
719
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, double]] persistence_on_lines "persistence_on_slices"(C_FlatSlicer_Matrix0_vine_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
720
|
+
|
|
721
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_vine_f64(const Barcode[C_FlatSlicer_Matrix0_vine_f64, double]& barcode):
|
|
722
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
723
|
+
if size == 0:
|
|
724
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
725
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
726
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
727
|
+
return np.array(view).reshape((-1, 2))
|
|
728
|
+
|
|
729
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_vine_f64(const Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, double]& barcode):
|
|
730
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
731
|
+
return [_b2np_C_FlatSlicer_Matrix0_vine_f64(barcode[i]) for i in range(dims)]
|
|
732
|
+
|
|
733
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_vine_f64_idx(const Barcode[C_FlatSlicer_Matrix0_vine_f64, int]& barcode):
|
|
734
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
735
|
+
if size == 0:
|
|
736
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
737
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
738
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
739
|
+
return np.array(view).reshape((-1, 2))
|
|
740
|
+
|
|
741
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_vine_f64_idx(const Dim_barcode[C_FlatSlicer_Matrix0_vine_f64, int]& barcode):
|
|
742
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
743
|
+
return [_b2np_C_FlatSlicer_Matrix0_vine_f64_idx(barcode[i]) for i in range(dims)]
|
|
744
|
+
#------------------------------------------------------------------------------
|
|
745
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
746
|
+
cdef cppclass Bar[T]:
|
|
747
|
+
pass
|
|
748
|
+
|
|
749
|
+
cdef cppclass Barcode[S, T]:
|
|
750
|
+
size_t size()
|
|
751
|
+
Bar[T]* data()
|
|
752
|
+
|
|
753
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
754
|
+
size_t size()
|
|
755
|
+
Barcode[S,T]& operator[](size_t)
|
|
756
|
+
|
|
757
|
+
cdef cppclass C_ContiguousSlicer_Matrix0_vine_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
758
|
+
ctypedef double value_type
|
|
759
|
+
|
|
760
|
+
C_ContiguousSlicer_Matrix0_vine_f64()
|
|
761
|
+
C_ContiguousSlicer_Matrix0_vine_f64(Multi_parameter_filtered_complex[Contiguous_f64]&) except +
|
|
762
|
+
|
|
763
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
764
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
765
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
766
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
767
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
768
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
769
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
770
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
771
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
772
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
773
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
774
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
775
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
776
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
777
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
778
|
+
C_ContiguousSlicer_Matrix0_vine_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
779
|
+
|
|
780
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
781
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
782
|
+
vector[uint32_t] get_current_order() nogil
|
|
783
|
+
void vineyard_update() nogil
|
|
784
|
+
vector[vector[vector[uint32_t]]] get_representative_cycles(bool) nogil
|
|
785
|
+
vector[uint32_t] get_most_persistent_cycle(int, bool) nogil
|
|
786
|
+
vector[double] get_one_filtration "get_slice"()
|
|
787
|
+
pair[Contiguous_f64, Contiguous_f64] get_bounding_box() except + nogil
|
|
788
|
+
vector[Contiguous_f64]& get_filtrations "get_filtration_values"() nogil
|
|
789
|
+
vector[int] get_dimensions() nogil
|
|
790
|
+
int get_dimension(uint32_t) nogil
|
|
791
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
792
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
793
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
794
|
+
void push_to(const Line[double]&) nogil
|
|
795
|
+
int prune_above_dimension(int) except + nogil
|
|
796
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
797
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
798
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
799
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
800
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
801
|
+
string slicer_to_str(C_ContiguousSlicer_Matrix0_vine_f64&) nogil #to_str
|
|
802
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_vine_f64&, vector[uint32_t]&) except + nogil #permute
|
|
803
|
+
pair[C_ContiguousSlicer_Matrix0_vine_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil #colexical_rearange
|
|
804
|
+
C_ContiguousSlicer_Matrix0_vine_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_ContiguousSlicer_Matrix0_vine_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
805
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_ContiguousSlicer_Matrix0_vine_f64&, int) except + nogil #projective_cover_kernel
|
|
806
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_ContiguousSlicer_Matrix0_vine_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
807
|
+
|
|
808
|
+
#------------------------------------------------------------------------------
|
|
809
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
810
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_scc_file_C_ContiguousSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
811
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
812
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
813
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
814
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
815
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
816
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
817
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
818
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_vine_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
819
|
+
C_ContiguousSlicer_Matrix0_vine_f64 build_slicer_from_bitmap_C_ContiguousSlicer_Matrix0_vine_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[Contiguous_f64], vector[unsigned int]) except + nogil
|
|
820
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,true,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, double, int, true>"(C_ContiguousSlicer_Matrix0_vine_f64&, double*, int, bool) except + nogil
|
|
821
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, double]] persistence_on_lines "persistence_on_slices"(C_ContiguousSlicer_Matrix0_vine_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
822
|
+
|
|
823
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_vine_f64(const Barcode[C_ContiguousSlicer_Matrix0_vine_f64, double]& barcode):
|
|
824
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
825
|
+
if size == 0:
|
|
826
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
827
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
828
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
829
|
+
return np.array(view).reshape((-1, 2))
|
|
830
|
+
|
|
831
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_vine_f64(const Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, double]& barcode):
|
|
832
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
833
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_vine_f64(barcode[i]) for i in range(dims)]
|
|
834
|
+
|
|
835
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_vine_f64_idx(const Barcode[C_ContiguousSlicer_Matrix0_vine_f64, int]& barcode):
|
|
836
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
837
|
+
if size == 0:
|
|
838
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
839
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
840
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
841
|
+
return np.array(view).reshape((-1, 2))
|
|
842
|
+
|
|
843
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_vine_f64_idx(const Dim_barcode[C_ContiguousSlicer_Matrix0_vine_f64, int]& barcode):
|
|
844
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
845
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_vine_f64_idx(barcode[i]) for i in range(dims)]
|
|
846
|
+
#------------------------------------------------------------------------------
|
|
847
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
848
|
+
cdef cppclass Bar[T]:
|
|
849
|
+
pass
|
|
850
|
+
|
|
851
|
+
cdef cppclass Barcode[S, T]:
|
|
852
|
+
size_t size()
|
|
853
|
+
Bar[T]* data()
|
|
854
|
+
|
|
855
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
856
|
+
size_t size()
|
|
857
|
+
Barcode[S,T]& operator[](size_t)
|
|
858
|
+
|
|
859
|
+
cdef cppclass C_KFlatSlicer_Matrix0_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
860
|
+
ctypedef int32_t value_type
|
|
861
|
+
|
|
862
|
+
C_KFlatSlicer_Matrix0_i32()
|
|
863
|
+
C_KFlatSlicer_Matrix0_i32(Multi_parameter_filtered_complex[KFlat_i32]&) except +
|
|
864
|
+
|
|
865
|
+
C_KFlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
866
|
+
C_KFlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
867
|
+
C_KFlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
868
|
+
C_KFlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
869
|
+
C_KFlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
870
|
+
C_KFlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
871
|
+
C_KFlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
872
|
+
C_KFlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
873
|
+
C_KFlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
874
|
+
C_KFlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
875
|
+
C_KFlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
876
|
+
C_KFlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
877
|
+
C_KFlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
878
|
+
C_KFlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
879
|
+
C_KFlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
880
|
+
C_KFlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
881
|
+
|
|
882
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
883
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
884
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
885
|
+
pair[KFlat_i32, KFlat_i32] get_bounding_box() except + nogil
|
|
886
|
+
vector[KFlat_i32]& get_filtrations "get_filtration_values"() nogil
|
|
887
|
+
vector[int] get_dimensions() nogil
|
|
888
|
+
int get_dimension(uint32_t) nogil
|
|
889
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
890
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
891
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
892
|
+
void push_to(const Line[int32_t]&) nogil
|
|
893
|
+
int prune_above_dimension(int) except + nogil
|
|
894
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
895
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
896
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
897
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
898
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
899
|
+
string slicer_to_str(C_KFlatSlicer_Matrix0_i32&) nogil #to_str
|
|
900
|
+
C_KFlatSlicer_Matrix0_i32 build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_i32&, vector[uint32_t]&) except + nogil #permute
|
|
901
|
+
pair[C_KFlatSlicer_Matrix0_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_i32&) except + nogil #colexical_rearange
|
|
902
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KFlatSlicer_Matrix0_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
903
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KFlatSlicer_Matrix0_i32&, int) except + nogil #projective_cover_kernel
|
|
904
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KFlatSlicer_Matrix0_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
905
|
+
|
|
906
|
+
#------------------------------------------------------------------------------
|
|
907
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
908
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_scc_file_C_KFlatSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
909
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
910
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
911
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
912
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
913
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
914
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
915
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
916
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
917
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_from_bitmap_C_KFlatSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[KFlat_i32], vector[unsigned int]) except + nogil
|
|
918
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, int32_t, int, true>"(C_KFlatSlicer_Matrix0_i32&, int32_t*, int, bool) except + nogil
|
|
919
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_KFlatSlicer_Matrix0_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
920
|
+
|
|
921
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_i32(const Barcode[C_KFlatSlicer_Matrix0_i32, int32_t]& barcode):
|
|
922
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
923
|
+
if size == 0:
|
|
924
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
925
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
926
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
927
|
+
return np.array(view).reshape((-1, 2))
|
|
928
|
+
|
|
929
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_i32(const Dim_barcode[C_KFlatSlicer_Matrix0_i32, int32_t]& barcode):
|
|
930
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
931
|
+
return [_b2np_C_KFlatSlicer_Matrix0_i32(barcode[i]) for i in range(dims)]
|
|
932
|
+
|
|
933
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_i32_idx(const Barcode[C_KFlatSlicer_Matrix0_i32, int]& barcode):
|
|
934
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
935
|
+
if size == 0:
|
|
936
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
937
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
938
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
939
|
+
return np.array(view).reshape((-1, 2))
|
|
940
|
+
|
|
941
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_i32_idx(const Dim_barcode[C_KFlatSlicer_Matrix0_i32, int]& barcode):
|
|
942
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
943
|
+
return [_b2np_C_KFlatSlicer_Matrix0_i32_idx(barcode[i]) for i in range(dims)]
|
|
944
|
+
#------------------------------------------------------------------------------
|
|
945
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
946
|
+
cdef cppclass Bar[T]:
|
|
947
|
+
pass
|
|
948
|
+
|
|
949
|
+
cdef cppclass Barcode[S, T]:
|
|
950
|
+
size_t size()
|
|
951
|
+
Bar[T]* data()
|
|
952
|
+
|
|
953
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
954
|
+
size_t size()
|
|
955
|
+
Barcode[S,T]& operator[](size_t)
|
|
956
|
+
|
|
957
|
+
cdef cppclass C_KContiguousSlicer_Matrix0_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
958
|
+
ctypedef int32_t value_type
|
|
959
|
+
|
|
960
|
+
C_KContiguousSlicer_Matrix0_i32()
|
|
961
|
+
C_KContiguousSlicer_Matrix0_i32(Multi_parameter_filtered_complex[KContiguous_i32]&) except +
|
|
962
|
+
|
|
963
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
964
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
965
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
966
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
967
|
+
C_KContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
968
|
+
C_KContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
969
|
+
C_KContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
970
|
+
C_KContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
971
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
972
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
973
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
974
|
+
C_KContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
975
|
+
C_KContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
976
|
+
C_KContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
977
|
+
C_KContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
978
|
+
C_KContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
979
|
+
|
|
980
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
981
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
982
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
983
|
+
pair[KContiguous_i32, KContiguous_i32] get_bounding_box() except + nogil
|
|
984
|
+
vector[KContiguous_i32]& get_filtrations "get_filtration_values"() nogil
|
|
985
|
+
vector[int] get_dimensions() nogil
|
|
986
|
+
int get_dimension(uint32_t) nogil
|
|
987
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
988
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
989
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
990
|
+
void push_to(const Line[int32_t]&) nogil
|
|
991
|
+
int prune_above_dimension(int) except + nogil
|
|
992
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
993
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
994
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
995
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
996
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
997
|
+
string slicer_to_str(C_KContiguousSlicer_Matrix0_i32&) nogil #to_str
|
|
998
|
+
C_KContiguousSlicer_Matrix0_i32 build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_i32&, vector[uint32_t]&) except + nogil #permute
|
|
999
|
+
pair[C_KContiguousSlicer_Matrix0_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_i32&) except + nogil #colexical_rearange
|
|
1000
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KContiguousSlicer_Matrix0_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
1001
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KContiguousSlicer_Matrix0_i32&, int) except + nogil #projective_cover_kernel
|
|
1002
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KContiguousSlicer_Matrix0_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1003
|
+
|
|
1004
|
+
#------------------------------------------------------------------------------
|
|
1005
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1006
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_scc_file_C_KContiguousSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1007
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1008
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1009
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1010
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1011
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1012
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1013
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1014
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1015
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_from_bitmap_C_KContiguousSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[KContiguous_i32], vector[unsigned int]) except + nogil
|
|
1016
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, int32_t, int, true>"(C_KContiguousSlicer_Matrix0_i32&, int32_t*, int, bool) except + nogil
|
|
1017
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_KContiguousSlicer_Matrix0_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
1018
|
+
|
|
1019
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_i32(const Barcode[C_KContiguousSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1020
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1021
|
+
if size == 0:
|
|
1022
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
1023
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
1024
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1025
|
+
return np.array(view).reshape((-1, 2))
|
|
1026
|
+
|
|
1027
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_i32(const Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1028
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1029
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_i32(barcode[i]) for i in range(dims)]
|
|
1030
|
+
|
|
1031
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_i32_idx(const Barcode[C_KContiguousSlicer_Matrix0_i32, int]& barcode):
|
|
1032
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1033
|
+
if size == 0:
|
|
1034
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1035
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1036
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1037
|
+
return np.array(view).reshape((-1, 2))
|
|
1038
|
+
|
|
1039
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_i32_idx(const Dim_barcode[C_KContiguousSlicer_Matrix0_i32, int]& barcode):
|
|
1040
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1041
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_i32_idx(barcode[i]) for i in range(dims)]
|
|
1042
|
+
#------------------------------------------------------------------------------
|
|
1043
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1044
|
+
cdef cppclass Bar[T]:
|
|
1045
|
+
pass
|
|
1046
|
+
|
|
1047
|
+
cdef cppclass Barcode[S, T]:
|
|
1048
|
+
size_t size()
|
|
1049
|
+
Bar[T]* data()
|
|
1050
|
+
|
|
1051
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1052
|
+
size_t size()
|
|
1053
|
+
Barcode[S,T]& operator[](size_t)
|
|
1054
|
+
|
|
1055
|
+
cdef cppclass C_KFlatSlicer_Matrix0_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
1056
|
+
ctypedef double value_type
|
|
1057
|
+
|
|
1058
|
+
C_KFlatSlicer_Matrix0_f64()
|
|
1059
|
+
C_KFlatSlicer_Matrix0_f64(Multi_parameter_filtered_complex[KFlat_f64]&) except +
|
|
1060
|
+
|
|
1061
|
+
C_KFlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1062
|
+
C_KFlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1063
|
+
C_KFlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1064
|
+
C_KFlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1065
|
+
C_KFlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1066
|
+
C_KFlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1067
|
+
C_KFlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1068
|
+
C_KFlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1069
|
+
C_KFlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1070
|
+
C_KFlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1071
|
+
C_KFlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1072
|
+
C_KFlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1073
|
+
C_KFlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1074
|
+
C_KFlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1075
|
+
C_KFlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1076
|
+
C_KFlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1077
|
+
|
|
1078
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1079
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1080
|
+
vector[double] get_one_filtration "get_slice"()
|
|
1081
|
+
pair[KFlat_f64, KFlat_f64] get_bounding_box() except + nogil
|
|
1082
|
+
vector[KFlat_f64]& get_filtrations "get_filtration_values"() nogil
|
|
1083
|
+
vector[int] get_dimensions() nogil
|
|
1084
|
+
int get_dimension(uint32_t) nogil
|
|
1085
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1086
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1087
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
1088
|
+
void push_to(const Line[double]&) nogil
|
|
1089
|
+
int prune_above_dimension(int) except + nogil
|
|
1090
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
1091
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1092
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1093
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
1094
|
+
Dim_barcode[C_KFlatSlicer_Matrix0_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1095
|
+
string slicer_to_str(C_KFlatSlicer_Matrix0_f64&) nogil #to_str
|
|
1096
|
+
C_KFlatSlicer_Matrix0_f64 build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_f64&, vector[uint32_t]&) except + nogil #permute
|
|
1097
|
+
pair[C_KFlatSlicer_Matrix0_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KFlatSlicer_Matrix0_f64&) except + nogil #colexical_rearange
|
|
1098
|
+
C_KFlatSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KFlatSlicer_Matrix0_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
1099
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KFlatSlicer_Matrix0_f64&, int) except + nogil #projective_cover_kernel
|
|
1100
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KFlatSlicer_Matrix0_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1101
|
+
|
|
1102
|
+
#------------------------------------------------------------------------------
|
|
1103
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1104
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_scc_file_C_KFlatSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1105
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1106
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1107
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1108
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1109
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1110
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1111
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1112
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KFlatSlicer_Matrix0_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1113
|
+
C_KFlatSlicer_Matrix0_f64 build_slicer_from_bitmap_C_KFlatSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[KFlat_f64], vector[unsigned int]) except + nogil
|
|
1114
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, double, int, true>"(C_KFlatSlicer_Matrix0_f64&, double*, int, bool) except + nogil
|
|
1115
|
+
vector[Dim_barcode[C_KFlatSlicer_Matrix0_f64, double]] persistence_on_lines "persistence_on_slices"(C_KFlatSlicer_Matrix0_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
1116
|
+
|
|
1117
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_f64(const Barcode[C_KFlatSlicer_Matrix0_f64, double]& barcode):
|
|
1118
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1119
|
+
if size == 0:
|
|
1120
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
1121
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
1122
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1123
|
+
return np.array(view).reshape((-1, 2))
|
|
1124
|
+
|
|
1125
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_f64(const Dim_barcode[C_KFlatSlicer_Matrix0_f64, double]& barcode):
|
|
1126
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1127
|
+
return [_b2np_C_KFlatSlicer_Matrix0_f64(barcode[i]) for i in range(dims)]
|
|
1128
|
+
|
|
1129
|
+
cdef inline _b2np_C_KFlatSlicer_Matrix0_f64_idx(const Barcode[C_KFlatSlicer_Matrix0_f64, int]& barcode):
|
|
1130
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1131
|
+
if size == 0:
|
|
1132
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1133
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1134
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1135
|
+
return np.array(view).reshape((-1, 2))
|
|
1136
|
+
|
|
1137
|
+
cdef inline _db2np_C_KFlatSlicer_Matrix0_f64_idx(const Dim_barcode[C_KFlatSlicer_Matrix0_f64, int]& barcode):
|
|
1138
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1139
|
+
return [_b2np_C_KFlatSlicer_Matrix0_f64_idx(barcode[i]) for i in range(dims)]
|
|
1140
|
+
#------------------------------------------------------------------------------
|
|
1141
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1142
|
+
cdef cppclass Bar[T]:
|
|
1143
|
+
pass
|
|
1144
|
+
|
|
1145
|
+
cdef cppclass Barcode[S, T]:
|
|
1146
|
+
size_t size()
|
|
1147
|
+
Bar[T]* data()
|
|
1148
|
+
|
|
1149
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1150
|
+
size_t size()
|
|
1151
|
+
Barcode[S,T]& operator[](size_t)
|
|
1152
|
+
|
|
1153
|
+
cdef cppclass C_KContiguousSlicer_Matrix0_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
1154
|
+
ctypedef double value_type
|
|
1155
|
+
|
|
1156
|
+
C_KContiguousSlicer_Matrix0_f64()
|
|
1157
|
+
C_KContiguousSlicer_Matrix0_f64(Multi_parameter_filtered_complex[KContiguous_f64]&) except +
|
|
1158
|
+
|
|
1159
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1160
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1161
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1162
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1163
|
+
C_KContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1164
|
+
C_KContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1165
|
+
C_KContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1166
|
+
C_KContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1167
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1168
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1169
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1170
|
+
C_KContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1171
|
+
C_KContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1172
|
+
C_KContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1173
|
+
C_KContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1174
|
+
C_KContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1175
|
+
|
|
1176
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1177
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1178
|
+
vector[double] get_one_filtration "get_slice"()
|
|
1179
|
+
pair[KContiguous_f64, KContiguous_f64] get_bounding_box() except + nogil
|
|
1180
|
+
vector[KContiguous_f64]& get_filtrations "get_filtration_values"() nogil
|
|
1181
|
+
vector[int] get_dimensions() nogil
|
|
1182
|
+
int get_dimension(uint32_t) nogil
|
|
1183
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1184
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1185
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
1186
|
+
void push_to(const Line[double]&) nogil
|
|
1187
|
+
int prune_above_dimension(int) except + nogil
|
|
1188
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
1189
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1190
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1191
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
1192
|
+
Dim_barcode[C_KContiguousSlicer_Matrix0_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1193
|
+
string slicer_to_str(C_KContiguousSlicer_Matrix0_f64&) nogil #to_str
|
|
1194
|
+
C_KContiguousSlicer_Matrix0_f64 build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_f64&, vector[uint32_t]&) except + nogil #permute
|
|
1195
|
+
pair[C_KContiguousSlicer_Matrix0_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_KContiguousSlicer_Matrix0_f64&) except + nogil #colexical_rearange
|
|
1196
|
+
C_KContiguousSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_KContiguousSlicer_Matrix0_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
1197
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_KContiguousSlicer_Matrix0_f64&, int) except + nogil #projective_cover_kernel
|
|
1198
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_KContiguousSlicer_Matrix0_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1199
|
+
|
|
1200
|
+
#------------------------------------------------------------------------------
|
|
1201
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1202
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_scc_file_C_KContiguousSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1203
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1204
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1205
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1206
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1207
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1208
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1209
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1210
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_KContiguousSlicer_Matrix0_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1211
|
+
C_KContiguousSlicer_Matrix0_f64 build_slicer_from_bitmap_C_KContiguousSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[KContiguous_f64], vector[unsigned int]) except + nogil
|
|
1212
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,true,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, double, int, true>"(C_KContiguousSlicer_Matrix0_f64&, double*, int, bool) except + nogil
|
|
1213
|
+
vector[Dim_barcode[C_KContiguousSlicer_Matrix0_f64, double]] persistence_on_lines "persistence_on_slices"(C_KContiguousSlicer_Matrix0_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
1214
|
+
|
|
1215
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_f64(const Barcode[C_KContiguousSlicer_Matrix0_f64, double]& barcode):
|
|
1216
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1217
|
+
if size == 0:
|
|
1218
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
1219
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
1220
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1221
|
+
return np.array(view).reshape((-1, 2))
|
|
1222
|
+
|
|
1223
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_f64(const Dim_barcode[C_KContiguousSlicer_Matrix0_f64, double]& barcode):
|
|
1224
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1225
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_f64(barcode[i]) for i in range(dims)]
|
|
1226
|
+
|
|
1227
|
+
cdef inline _b2np_C_KContiguousSlicer_Matrix0_f64_idx(const Barcode[C_KContiguousSlicer_Matrix0_f64, int]& barcode):
|
|
1228
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1229
|
+
if size == 0:
|
|
1230
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1231
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1232
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1233
|
+
return np.array(view).reshape((-1, 2))
|
|
1234
|
+
|
|
1235
|
+
cdef inline _db2np_C_KContiguousSlicer_Matrix0_f64_idx(const Dim_barcode[C_KContiguousSlicer_Matrix0_f64, int]& barcode):
|
|
1236
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1237
|
+
return [_b2np_C_KContiguousSlicer_Matrix0_f64_idx(barcode[i]) for i in range(dims)]
|
|
1238
|
+
#------------------------------------------------------------------------------
|
|
1239
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1240
|
+
cdef cppclass Bar[T]:
|
|
1241
|
+
pass
|
|
1242
|
+
|
|
1243
|
+
cdef cppclass Barcode[S, T]:
|
|
1244
|
+
size_t size()
|
|
1245
|
+
Bar[T]* data()
|
|
1246
|
+
|
|
1247
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1248
|
+
size_t size()
|
|
1249
|
+
Barcode[S,T]& operator[](size_t)
|
|
1250
|
+
|
|
1251
|
+
cdef cppclass C_FlatSlicer_Matrix0_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
1252
|
+
ctypedef int32_t value_type
|
|
1253
|
+
|
|
1254
|
+
C_FlatSlicer_Matrix0_i32()
|
|
1255
|
+
C_FlatSlicer_Matrix0_i32(Multi_parameter_filtered_complex[Flat_i32]&) except +
|
|
1256
|
+
|
|
1257
|
+
C_FlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1258
|
+
C_FlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1259
|
+
C_FlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1260
|
+
C_FlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1261
|
+
C_FlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1262
|
+
C_FlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1263
|
+
C_FlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1264
|
+
C_FlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1265
|
+
C_FlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1266
|
+
C_FlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1267
|
+
C_FlatSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1268
|
+
C_FlatSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1269
|
+
C_FlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1270
|
+
C_FlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1271
|
+
C_FlatSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1272
|
+
C_FlatSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1273
|
+
|
|
1274
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1275
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1276
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
1277
|
+
pair[Flat_i32, Flat_i32] get_bounding_box() except + nogil
|
|
1278
|
+
vector[Flat_i32]& get_filtrations "get_filtration_values"() nogil
|
|
1279
|
+
vector[int] get_dimensions() nogil
|
|
1280
|
+
int get_dimension(uint32_t) nogil
|
|
1281
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1282
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1283
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
1284
|
+
void push_to(const Line[int32_t]&) nogil
|
|
1285
|
+
int prune_above_dimension(int) except + nogil
|
|
1286
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
1287
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1288
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1289
|
+
Dim_barcode[C_FlatSlicer_Matrix0_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
1290
|
+
Dim_barcode[C_FlatSlicer_Matrix0_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1291
|
+
string slicer_to_str(C_FlatSlicer_Matrix0_i32&) nogil #to_str
|
|
1292
|
+
C_FlatSlicer_Matrix0_i32 build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_i32&, vector[uint32_t]&) except + nogil #permute
|
|
1293
|
+
pair[C_FlatSlicer_Matrix0_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_i32&) except + nogil #colexical_rearange
|
|
1294
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_FlatSlicer_Matrix0_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
1295
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_FlatSlicer_Matrix0_i32&, int) except + nogil #projective_cover_kernel
|
|
1296
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_FlatSlicer_Matrix0_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1297
|
+
|
|
1298
|
+
#------------------------------------------------------------------------------
|
|
1299
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1300
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_scc_file_C_FlatSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1301
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1302
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1303
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1304
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1305
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1306
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1307
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1308
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1309
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_from_bitmap_C_FlatSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[Flat_i32], vector[unsigned int]) except + nogil
|
|
1310
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, int32_t, int, true>"(C_FlatSlicer_Matrix0_i32&, int32_t*, int, bool) except + nogil
|
|
1311
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_FlatSlicer_Matrix0_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
1312
|
+
|
|
1313
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_i32(const Barcode[C_FlatSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1314
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1315
|
+
if size == 0:
|
|
1316
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
1317
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
1318
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1319
|
+
return np.array(view).reshape((-1, 2))
|
|
1320
|
+
|
|
1321
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_i32(const Dim_barcode[C_FlatSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1322
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1323
|
+
return [_b2np_C_FlatSlicer_Matrix0_i32(barcode[i]) for i in range(dims)]
|
|
1324
|
+
|
|
1325
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_i32_idx(const Barcode[C_FlatSlicer_Matrix0_i32, int]& barcode):
|
|
1326
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1327
|
+
if size == 0:
|
|
1328
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1329
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1330
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1331
|
+
return np.array(view).reshape((-1, 2))
|
|
1332
|
+
|
|
1333
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_i32_idx(const Dim_barcode[C_FlatSlicer_Matrix0_i32, int]& barcode):
|
|
1334
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1335
|
+
return [_b2np_C_FlatSlicer_Matrix0_i32_idx(barcode[i]) for i in range(dims)]
|
|
1336
|
+
#------------------------------------------------------------------------------
|
|
1337
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1338
|
+
cdef cppclass Bar[T]:
|
|
1339
|
+
pass
|
|
1340
|
+
|
|
1341
|
+
cdef cppclass Barcode[S, T]:
|
|
1342
|
+
size_t size()
|
|
1343
|
+
Bar[T]* data()
|
|
1344
|
+
|
|
1345
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1346
|
+
size_t size()
|
|
1347
|
+
Barcode[S,T]& operator[](size_t)
|
|
1348
|
+
|
|
1349
|
+
cdef cppclass C_ContiguousSlicer_Matrix0_i32 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
1350
|
+
ctypedef int32_t value_type
|
|
1351
|
+
|
|
1352
|
+
C_ContiguousSlicer_Matrix0_i32()
|
|
1353
|
+
C_ContiguousSlicer_Matrix0_i32(Multi_parameter_filtered_complex[Contiguous_i32]&) except +
|
|
1354
|
+
|
|
1355
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1356
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1357
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1358
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1359
|
+
C_ContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1360
|
+
C_ContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1361
|
+
C_ContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1362
|
+
C_ContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1363
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1364
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1365
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1366
|
+
C_ContiguousSlicer_Matrix0_i32(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1367
|
+
C_ContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1368
|
+
C_ContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1369
|
+
C_ContiguousSlicer_Matrix0_i32(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1370
|
+
C_ContiguousSlicer_Matrix0_i32(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1371
|
+
|
|
1372
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1373
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1374
|
+
vector[int32_t] get_one_filtration "get_slice"()
|
|
1375
|
+
pair[Contiguous_i32, Contiguous_i32] get_bounding_box() except + nogil
|
|
1376
|
+
vector[Contiguous_i32]& get_filtrations "get_filtration_values"() nogil
|
|
1377
|
+
vector[int] get_dimensions() nogil
|
|
1378
|
+
int get_dimension(uint32_t) nogil
|
|
1379
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1380
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1381
|
+
void set_one_filtration "set_slice"(const vector[int32_t]&) nogil
|
|
1382
|
+
void push_to(const Line[int32_t]&) nogil
|
|
1383
|
+
int prune_above_dimension(int) except + nogil
|
|
1384
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[int32_t]], bool) nogil
|
|
1385
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1386
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1387
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int32_t] get_barcode "get_flat_barcode<true, int32_t, false>"() nogil
|
|
1388
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1389
|
+
string slicer_to_str(C_ContiguousSlicer_Matrix0_i32&) nogil #to_str
|
|
1390
|
+
C_ContiguousSlicer_Matrix0_i32 build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_i32&, vector[uint32_t]&) except + nogil #permute
|
|
1391
|
+
pair[C_ContiguousSlicer_Matrix0_i32, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_i32&) except + nogil #colexical_rearange
|
|
1392
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_ContiguousSlicer_Matrix0_i32&, vector[vector[int32_t]]&) nogil #coarsen_on_grid
|
|
1393
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_ContiguousSlicer_Matrix0_i32&, int) except + nogil #projective_cover_kernel
|
|
1394
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_ContiguousSlicer_Matrix0_i32&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1395
|
+
|
|
1396
|
+
#------------------------------------------------------------------------------
|
|
1397
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1398
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_scc_file_C_ContiguousSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1399
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1400
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1401
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1402
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1403
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1404
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1405
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1406
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_i32_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1407
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_from_bitmap_C_ContiguousSlicer_Matrix0_i32 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[Contiguous_i32], vector[unsigned int]) except + nogil
|
|
1408
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,int32_t,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, int32_t, int, true>"(C_ContiguousSlicer_Matrix0_i32&, int32_t*, int, bool) except + nogil
|
|
1409
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int32_t]] persistence_on_lines "persistence_on_slices"(C_ContiguousSlicer_Matrix0_i32&, vector[vector[int32_t]]&, vector[vector[int32_t]]&, bool) except + nogil
|
|
1410
|
+
|
|
1411
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_i32(const Barcode[C_ContiguousSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1412
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1413
|
+
if size == 0:
|
|
1414
|
+
return np.empty(shape=(0, 2), dtype=np.int32)
|
|
1415
|
+
cdef int32_t[:] view = <int32_t[:size]>(<int32_t*>(barcode.data()))
|
|
1416
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1417
|
+
return np.array(view).reshape((-1, 2))
|
|
1418
|
+
|
|
1419
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_i32(const Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int32_t]& barcode):
|
|
1420
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1421
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_i32(barcode[i]) for i in range(dims)]
|
|
1422
|
+
|
|
1423
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_i32_idx(const Barcode[C_ContiguousSlicer_Matrix0_i32, int]& barcode):
|
|
1424
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1425
|
+
if size == 0:
|
|
1426
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1427
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1428
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1429
|
+
return np.array(view).reshape((-1, 2))
|
|
1430
|
+
|
|
1431
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_i32_idx(const Dim_barcode[C_ContiguousSlicer_Matrix0_i32, int]& barcode):
|
|
1432
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1433
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_i32_idx(barcode[i]) for i in range(dims)]
|
|
1434
|
+
#------------------------------------------------------------------------------
|
|
1435
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1436
|
+
cdef cppclass Bar[T]:
|
|
1437
|
+
pass
|
|
1438
|
+
|
|
1439
|
+
cdef cppclass Barcode[S, T]:
|
|
1440
|
+
size_t size()
|
|
1441
|
+
Bar[T]* data()
|
|
1442
|
+
|
|
1443
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1444
|
+
size_t size()
|
|
1445
|
+
Barcode[S,T]& operator[](size_t)
|
|
1446
|
+
|
|
1447
|
+
cdef cppclass C_FlatSlicer_Matrix0_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>":
|
|
1448
|
+
ctypedef double value_type
|
|
1449
|
+
|
|
1450
|
+
C_FlatSlicer_Matrix0_f64()
|
|
1451
|
+
C_FlatSlicer_Matrix0_f64(Multi_parameter_filtered_complex[Flat_f64]&) except +
|
|
1452
|
+
|
|
1453
|
+
C_FlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1454
|
+
C_FlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1455
|
+
C_FlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1456
|
+
C_FlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1457
|
+
C_FlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1458
|
+
C_FlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1459
|
+
C_FlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1460
|
+
C_FlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1461
|
+
C_FlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1462
|
+
C_FlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1463
|
+
C_FlatSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1464
|
+
C_FlatSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1465
|
+
C_FlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1466
|
+
C_FlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1467
|
+
C_FlatSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1468
|
+
C_FlatSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1469
|
+
|
|
1470
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1471
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1472
|
+
vector[double] get_one_filtration "get_slice"()
|
|
1473
|
+
pair[Flat_f64, Flat_f64] get_bounding_box() except + nogil
|
|
1474
|
+
vector[Flat_f64]& get_filtrations "get_filtration_values"() nogil
|
|
1475
|
+
vector[int] get_dimensions() nogil
|
|
1476
|
+
int get_dimension(uint32_t) nogil
|
|
1477
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1478
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1479
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
1480
|
+
void push_to(const Line[double]&) nogil
|
|
1481
|
+
int prune_above_dimension(int) except + nogil
|
|
1482
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
1483
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1484
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1485
|
+
Dim_barcode[C_FlatSlicer_Matrix0_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
1486
|
+
Dim_barcode[C_FlatSlicer_Matrix0_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1487
|
+
string slicer_to_str(C_FlatSlicer_Matrix0_f64&) nogil #to_str
|
|
1488
|
+
C_FlatSlicer_Matrix0_f64 build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_f64&, vector[uint32_t]&) except + nogil #permute
|
|
1489
|
+
pair[C_FlatSlicer_Matrix0_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_FlatSlicer_Matrix0_f64&) except + nogil #colexical_rearange
|
|
1490
|
+
C_FlatSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_FlatSlicer_Matrix0_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
1491
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_FlatSlicer_Matrix0_f64&, int) except + nogil #projective_cover_kernel
|
|
1492
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_FlatSlicer_Matrix0_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1493
|
+
|
|
1494
|
+
#------------------------------------------------------------------------------
|
|
1495
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1496
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_scc_file_C_FlatSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1497
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1498
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1499
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1500
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1501
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1502
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1503
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1504
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_FlatSlicer_Matrix0_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1505
|
+
C_FlatSlicer_Matrix0_f64 build_slicer_from_bitmap_C_FlatSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>>"(vector[Flat_f64], vector[unsigned int]) except + nogil
|
|
1506
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Degree_rips_bifiltration>, double, int, true>"(C_FlatSlicer_Matrix0_f64&, double*, int, bool) except + nogil
|
|
1507
|
+
vector[Dim_barcode[C_FlatSlicer_Matrix0_f64, double]] persistence_on_lines "persistence_on_slices"(C_FlatSlicer_Matrix0_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
1508
|
+
|
|
1509
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_f64(const Barcode[C_FlatSlicer_Matrix0_f64, double]& barcode):
|
|
1510
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1511
|
+
if size == 0:
|
|
1512
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
1513
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
1514
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1515
|
+
return np.array(view).reshape((-1, 2))
|
|
1516
|
+
|
|
1517
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_f64(const Dim_barcode[C_FlatSlicer_Matrix0_f64, double]& barcode):
|
|
1518
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1519
|
+
return [_b2np_C_FlatSlicer_Matrix0_f64(barcode[i]) for i in range(dims)]
|
|
1520
|
+
|
|
1521
|
+
cdef inline _b2np_C_FlatSlicer_Matrix0_f64_idx(const Barcode[C_FlatSlicer_Matrix0_f64, int]& barcode):
|
|
1522
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1523
|
+
if size == 0:
|
|
1524
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1525
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1526
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1527
|
+
return np.array(view).reshape((-1, 2))
|
|
1528
|
+
|
|
1529
|
+
cdef inline _db2np_C_FlatSlicer_Matrix0_f64_idx(const Dim_barcode[C_FlatSlicer_Matrix0_f64, int]& barcode):
|
|
1530
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1531
|
+
return [_b2np_C_FlatSlicer_Matrix0_f64_idx(barcode[i]) for i in range(dims)]
|
|
1532
|
+
#------------------------------------------------------------------------------
|
|
1533
|
+
cdef extern from "Persistence_slices_interface.h" namespace "multipers::tmp_interface":
|
|
1534
|
+
cdef cppclass Bar[T]:
|
|
1535
|
+
pass
|
|
1536
|
+
|
|
1537
|
+
cdef cppclass Barcode[S, T]:
|
|
1538
|
+
size_t size()
|
|
1539
|
+
Bar[T]* data()
|
|
1540
|
+
|
|
1541
|
+
cdef cppclass Dim_barcode[S, T]:
|
|
1542
|
+
size_t size()
|
|
1543
|
+
Barcode[S,T]& operator[](size_t)
|
|
1544
|
+
|
|
1545
|
+
cdef cppclass C_ContiguousSlicer_Matrix0_f64 "multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>":
|
|
1546
|
+
ctypedef double value_type
|
|
1547
|
+
|
|
1548
|
+
C_ContiguousSlicer_Matrix0_f64()
|
|
1549
|
+
C_ContiguousSlicer_Matrix0_f64(Multi_parameter_filtered_complex[Contiguous_f64]&) except +
|
|
1550
|
+
|
|
1551
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1552
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1553
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1554
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1555
|
+
C_ContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_i32&) except + nogil
|
|
1556
|
+
C_ContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_i32&) except + nogil
|
|
1557
|
+
C_ContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_vine_f64&) except + nogil
|
|
1558
|
+
C_ContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_vine_f64&) except + nogil
|
|
1559
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_i32&) except + nogil
|
|
1560
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1561
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KFlatSlicer_Matrix0_f64&) except + nogil
|
|
1562
|
+
C_ContiguousSlicer_Matrix0_f64(const C_KContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1563
|
+
C_ContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_i32&) except + nogil
|
|
1564
|
+
C_ContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_i32&) except + nogil
|
|
1565
|
+
C_ContiguousSlicer_Matrix0_f64(const C_FlatSlicer_Matrix0_f64&) except + nogil
|
|
1566
|
+
C_ContiguousSlicer_Matrix0_f64(const C_ContiguousSlicer_Matrix0_f64&) except + nogil
|
|
1567
|
+
|
|
1568
|
+
uint32_t num_generators "get_number_of_cycle_generators"() nogil
|
|
1569
|
+
uint32_t num_parameters "get_number_of_parameters"() nogil
|
|
1570
|
+
vector[double] get_one_filtration "get_slice"()
|
|
1571
|
+
pair[Contiguous_f64, Contiguous_f64] get_bounding_box() except + nogil
|
|
1572
|
+
vector[Contiguous_f64]& get_filtrations "get_filtration_values"() nogil
|
|
1573
|
+
vector[int] get_dimensions() nogil
|
|
1574
|
+
int get_dimension(uint32_t) nogil
|
|
1575
|
+
const vector[vector[uint32_t]]& get_boundaries() nogil
|
|
1576
|
+
vector[uint32_t] get_boundary(uint32_t) nogil
|
|
1577
|
+
void set_one_filtration "set_slice"(const vector[double]&) nogil
|
|
1578
|
+
void push_to(const Line[double]&) nogil
|
|
1579
|
+
int prune_above_dimension(int) except + nogil
|
|
1580
|
+
void coarsen_on_grid_inplace "coarsen_on_grid"(vector[vector[double]], bool) nogil
|
|
1581
|
+
void initialize_persistence_computation(bool) except+ nogil
|
|
1582
|
+
void initialize_persistence_computation() except+ nogil # ignore_inf = true
|
|
1583
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_f64, double] get_barcode "get_flat_barcode<true, double, false>"() nogil
|
|
1584
|
+
Dim_barcode[C_ContiguousSlicer_Matrix0_f64, int] get_barcode_idx "get_flat_barcode<true, int, true>"() nogil
|
|
1585
|
+
string slicer_to_str(C_ContiguousSlicer_Matrix0_f64&) nogil #to_str
|
|
1586
|
+
C_ContiguousSlicer_Matrix0_f64 build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_f64&, vector[uint32_t]&) except + nogil #permute
|
|
1587
|
+
pair[C_ContiguousSlicer_Matrix0_f64, vector[uint32_t]] build_permuted_slicer "build_permuted_slicer"(C_ContiguousSlicer_Matrix0_f64&) except + nogil #colexical_rearange
|
|
1588
|
+
C_ContiguousSlicer_Matrix0_i32 build_slicer_coarsen_on_grid "build_slicer_coarsen_on_grid"(C_ContiguousSlicer_Matrix0_f64&, vector[vector[double]]&) nogil #coarsen_on_grid
|
|
1589
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_projective_cover_kernel "build_slicer_from_projective_cover_kernel"(C_ContiguousSlicer_Matrix0_f64&, int) except + nogil #projective_cover_kernel
|
|
1590
|
+
void write_slicer_to_scc_file "write_slicer_to_scc_file"(string&, C_ContiguousSlicer_Matrix0_f64&, int, bool, bool, bool, bool) nogil #write_to_scc_file
|
|
1591
|
+
|
|
1592
|
+
#------------------------------------------------------------------------------
|
|
1593
|
+
cdef extern from "gudhi/slicer_helpers.h" namespace "Gudhi::multi_persistence":
|
|
1594
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_scc_file_C_ContiguousSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_scc_file<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(string&, bool, bool, int) except + nogil #build_from_scc_file
|
|
1595
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_KFlat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_i32, int32_t]&) except + nogil
|
|
1596
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_KContiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_i32, int32_t]&) except + nogil
|
|
1597
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_KFlat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KFlat_f64, double]&) except + nogil
|
|
1598
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_KContiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[KContiguous_f64, double]&) except + nogil
|
|
1599
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_Flat_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_i32, int32_t]&) except + nogil
|
|
1600
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_Contiguous_i32 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_i32, int32_t]&) except + nogil
|
|
1601
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_Flat_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Flat_f64, double]&) except + nogil
|
|
1602
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_simplex_tree_C_ContiguousSlicer_Matrix0_f64_Contiguous_f64 "Gudhi::multi_persistence::build_slicer_from_simplex_tree<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(Simplex_tree_multi_interface[Contiguous_f64, double]&) except + nogil
|
|
1603
|
+
C_ContiguousSlicer_Matrix0_f64 build_slicer_from_bitmap_C_ContiguousSlicer_Matrix0_f64 "Gudhi::multi_persistence::build_slicer_from_bitmap<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>>"(vector[Contiguous_f64], vector[unsigned int]) except + nogil
|
|
1604
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_f64, int]] custom_persistences "persistence_on_slices<multipers::tmp_interface::TrucPythonInterface<multipers::tmp_interface::BackendsEnum::Matrix,false,false,double,multipers::tmp_interface::Available_columns::INTRUSIVE_SET,multipers::tmp_interface::Filtration_containers_strs::Multi_parameter_filtration>, double, int, true>"(C_ContiguousSlicer_Matrix0_f64&, double*, int, bool) except + nogil
|
|
1605
|
+
vector[Dim_barcode[C_ContiguousSlicer_Matrix0_f64, double]] persistence_on_lines "persistence_on_slices"(C_ContiguousSlicer_Matrix0_f64&, vector[vector[double]]&, vector[vector[double]]&, bool) except + nogil
|
|
1606
|
+
|
|
1607
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_f64(const Barcode[C_ContiguousSlicer_Matrix0_f64, double]& barcode):
|
|
1608
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1609
|
+
if size == 0:
|
|
1610
|
+
return np.empty(shape=(0, 2), dtype=np.float64)
|
|
1611
|
+
cdef double[:] view = <double[:size]>(<double*>(barcode.data()))
|
|
1612
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1613
|
+
return np.array(view).reshape((-1, 2))
|
|
1614
|
+
|
|
1615
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_f64(const Dim_barcode[C_ContiguousSlicer_Matrix0_f64, double]& barcode):
|
|
1616
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1617
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_f64(barcode[i]) for i in range(dims)]
|
|
1618
|
+
|
|
1619
|
+
cdef inline _b2np_C_ContiguousSlicer_Matrix0_f64_idx(const Barcode[C_ContiguousSlicer_Matrix0_f64, int]& barcode):
|
|
1620
|
+
cdef Py_ssize_t size = barcode.size() * 2
|
|
1621
|
+
if size == 0:
|
|
1622
|
+
return np.empty(shape=(0, 2), dtype=np.dtype(int))
|
|
1623
|
+
cdef int[:] view = <int[:size]>(<int*>(barcode.data()))
|
|
1624
|
+
#copy as the barcode will very probably be destroyed afterwards
|
|
1625
|
+
return np.array(view).reshape((-1, 2))
|
|
1626
|
+
|
|
1627
|
+
cdef inline _db2np_C_ContiguousSlicer_Matrix0_f64_idx(const Dim_barcode[C_ContiguousSlicer_Matrix0_f64, int]& barcode):
|
|
1628
|
+
cdef Py_ssize_t dims = barcode.size()
|
|
1629
|
+
return [_b2np_C_ContiguousSlicer_Matrix0_f64_idx(barcode[i]) for i in range(dims)]
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
#### MMA Stuff
|
|
1633
|
+
|
|
1634
|
+
from multipers.mma_structures cimport Module
|
|
1635
|
+
cdef extern from "multiparameter_module_approximation/approximation.h" namespace "Gudhi::multiparameter::mma":
|
|
1636
|
+
Module[double] multiparameter_module_approximation(C_KFlatSlicer_Matrix0_vine_f64&, vector[double]&, double, Box[double]&, bool, bool, bool) except + nogil
|
|
1637
|
+
Module[double] multiparameter_module_approximation(C_KContiguousSlicer_Matrix0_vine_f64&, vector[double]&, double, Box[double]&, bool, bool, bool) except + nogil
|
|
1638
|
+
Module[double] multiparameter_module_approximation(C_FlatSlicer_Matrix0_vine_f64&, vector[double]&, double, Box[double]&, bool, bool, bool) except + nogil
|
|
1639
|
+
Module[double] multiparameter_module_approximation(C_ContiguousSlicer_Matrix0_vine_f64&, vector[double]&, double, Box[double]&, bool, bool, bool) except + nogil
|
|
1640
|
+
pass
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
import multipers.slicer as mps
|
|
1646
|
+
from cython.operator cimport dereference
|
|
1647
|
+
cdef inline Module[double] _multiparameter_module_approximation_f64(object slicer, vector[double] direction, double max_error, Box[double] box, bool threshold, bool complete, bool verbose):
|
|
1648
|
+
import multipers.slicer as mps
|
|
1649
|
+
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
1650
|
+
cdef Module[double] mod
|
|
1651
|
+
if False:
|
|
1652
|
+
pass
|
|
1653
|
+
elif isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_f64):
|
|
1654
|
+
with nogil:
|
|
1655
|
+
mod = multiparameter_module_approximation(dereference(<C_KFlatSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
1656
|
+
return mod
|
|
1657
|
+
elif isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_f64):
|
|
1658
|
+
with nogil:
|
|
1659
|
+
mod = multiparameter_module_approximation(dereference(<C_KContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
1660
|
+
return mod
|
|
1661
|
+
elif isinstance(slicer, mps._FlatSlicer_Matrix0_vine_f64):
|
|
1662
|
+
with nogil:
|
|
1663
|
+
mod = multiparameter_module_approximation(dereference(<C_FlatSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
1664
|
+
return mod
|
|
1665
|
+
elif isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_f64):
|
|
1666
|
+
with nogil:
|
|
1667
|
+
mod = multiparameter_module_approximation(dereference(<C_ContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
|
|
1668
|
+
return mod
|
|
1669
|
+
else:
|
|
1670
|
+
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
1671
|
+
cdef inline Module[float] _multiparameter_module_approximation_f32(object slicer, vector[float] direction, float max_error, Box[float] box, bool threshold, bool complete, bool verbose):
|
|
1672
|
+
import multipers.slicer as mps
|
|
1673
|
+
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
1674
|
+
cdef Module[float] mod
|
|
1675
|
+
if False:
|
|
1676
|
+
pass
|
|
1677
|
+
else:
|
|
1678
|
+
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
1679
|
+
|
|
1680
|
+
###### RANK INVARIANT
|
|
1681
|
+
from libc.stdint cimport intptr_t, uint16_t, uint32_t, int32_t, int16_t, int8_t
|
|
1682
|
+
ctypedef int32_t tensor_dtype
|
|
1683
|
+
ctypedef int32_t indices_type
|
|
1684
|
+
python_indices_type=np.int32
|
|
1685
|
+
python_tensor_dtype = np.int32
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
ctypedef pair[vector[vector[indices_type]], vector[tensor_dtype]] signed_measure_type
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
|
|
1693
|
+
cdef extern from "multi_parameter_rank_invariant/rank_invariant.h" namespace "Gudhi::multiparameter::rank_invariant":
|
|
1694
|
+
## from slicers
|
|
1695
|
+
void compute_rank_invariant_python(C_KFlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1696
|
+
signed_measure_type compute_rank_signed_measure(C_KFlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1697
|
+
void compute_rank_invariant_python(C_KContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1698
|
+
signed_measure_type compute_rank_signed_measure(C_KContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1699
|
+
void compute_rank_invariant_python(C_KFlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1700
|
+
signed_measure_type compute_rank_signed_measure(C_KFlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1701
|
+
void compute_rank_invariant_python(C_KContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1702
|
+
signed_measure_type compute_rank_signed_measure(C_KContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1703
|
+
void compute_rank_invariant_python(C_FlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1704
|
+
signed_measure_type compute_rank_signed_measure(C_FlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1705
|
+
void compute_rank_invariant_python(C_ContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1706
|
+
signed_measure_type compute_rank_signed_measure(C_ContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1707
|
+
void compute_rank_invariant_python(C_FlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1708
|
+
signed_measure_type compute_rank_signed_measure(C_FlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1709
|
+
void compute_rank_invariant_python(C_ContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1710
|
+
signed_measure_type compute_rank_signed_measure(C_ContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1711
|
+
void compute_rank_invariant_python(C_KFlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1712
|
+
signed_measure_type compute_rank_signed_measure(C_KFlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1713
|
+
void compute_rank_invariant_python(C_KContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1714
|
+
signed_measure_type compute_rank_signed_measure(C_KContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1715
|
+
void compute_rank_invariant_python(C_KFlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1716
|
+
signed_measure_type compute_rank_signed_measure(C_KFlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1717
|
+
void compute_rank_invariant_python(C_KContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1718
|
+
signed_measure_type compute_rank_signed_measure(C_KContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1719
|
+
void compute_rank_invariant_python(C_FlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1720
|
+
signed_measure_type compute_rank_signed_measure(C_FlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1721
|
+
void compute_rank_invariant_python(C_ContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1722
|
+
signed_measure_type compute_rank_signed_measure(C_ContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1723
|
+
void compute_rank_invariant_python(C_FlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1724
|
+
signed_measure_type compute_rank_signed_measure(C_FlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1725
|
+
void compute_rank_invariant_python(C_ContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool ignore_inf) except + nogil
|
|
1726
|
+
signed_measure_type compute_rank_signed_measure(C_ContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], indices_type, bool verbose, bool ignore_inf) except + nogil
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
|
|
1731
|
+
|
|
1732
|
+
cdef inline void _compute_rank_invariant(object slicer, tensor_dtype* container_ptr, vector[indices_type] c_grid_shape, vector[indices_type] degrees, int n_jobs, bool ignore_inf):
|
|
1733
|
+
import multipers.slicer as mps
|
|
1734
|
+
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
1735
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_i32):
|
|
1736
|
+
with nogil:
|
|
1737
|
+
compute_rank_invariant_python(dereference(<C_KFlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1738
|
+
return
|
|
1739
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_i32):
|
|
1740
|
+
with nogil:
|
|
1741
|
+
compute_rank_invariant_python(dereference(<C_KContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1742
|
+
return
|
|
1743
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_f64):
|
|
1744
|
+
with nogil:
|
|
1745
|
+
compute_rank_invariant_python(dereference(<C_KFlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1746
|
+
return
|
|
1747
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_f64):
|
|
1748
|
+
with nogil:
|
|
1749
|
+
compute_rank_invariant_python(dereference(<C_KContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1750
|
+
return
|
|
1751
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_i32):
|
|
1752
|
+
with nogil:
|
|
1753
|
+
compute_rank_invariant_python(dereference(<C_FlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1754
|
+
return
|
|
1755
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_i32):
|
|
1756
|
+
with nogil:
|
|
1757
|
+
compute_rank_invariant_python(dereference(<C_ContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1758
|
+
return
|
|
1759
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_f64):
|
|
1760
|
+
with nogil:
|
|
1761
|
+
compute_rank_invariant_python(dereference(<C_FlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1762
|
+
return
|
|
1763
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_f64):
|
|
1764
|
+
with nogil:
|
|
1765
|
+
compute_rank_invariant_python(dereference(<C_ContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1766
|
+
return
|
|
1767
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_i32):
|
|
1768
|
+
with nogil:
|
|
1769
|
+
compute_rank_invariant_python(dereference(<C_KFlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1770
|
+
return
|
|
1771
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_i32):
|
|
1772
|
+
with nogil:
|
|
1773
|
+
compute_rank_invariant_python(dereference(<C_KContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1774
|
+
return
|
|
1775
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_f64):
|
|
1776
|
+
with nogil:
|
|
1777
|
+
compute_rank_invariant_python(dereference(<C_KFlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1778
|
+
return
|
|
1779
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_f64):
|
|
1780
|
+
with nogil:
|
|
1781
|
+
compute_rank_invariant_python(dereference(<C_KContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1782
|
+
return
|
|
1783
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_i32):
|
|
1784
|
+
with nogil:
|
|
1785
|
+
compute_rank_invariant_python(dereference(<C_FlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1786
|
+
return
|
|
1787
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_i32):
|
|
1788
|
+
with nogil:
|
|
1789
|
+
compute_rank_invariant_python(dereference(<C_ContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1790
|
+
return
|
|
1791
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_f64):
|
|
1792
|
+
with nogil:
|
|
1793
|
+
compute_rank_invariant_python(dereference(<C_FlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1794
|
+
return
|
|
1795
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_f64):
|
|
1796
|
+
with nogil:
|
|
1797
|
+
compute_rank_invariant_python(dereference(<C_ContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs,ignore_inf)
|
|
1798
|
+
return
|
|
1799
|
+
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
1800
|
+
|
|
1801
|
+
|
|
1802
|
+
|
|
1803
|
+
cdef inline _compute_rank_sm(object slicer, tensor_dtype* container_ptr, vector[indices_type] c_grid_shape, vector[indices_type] degrees, int n_jobs, bool verbose, bool ignore_inf):
|
|
1804
|
+
import multipers.slicer as mps
|
|
1805
|
+
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
1806
|
+
cdef signed_measure_type sm
|
|
1807
|
+
cdef cnp.ndarray[indices_type, ndim=2] pts
|
|
1808
|
+
cdef cnp.ndarray[tensor_dtype, ndim=1] weights
|
|
1809
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_i32):
|
|
1810
|
+
with nogil:
|
|
1811
|
+
sm = compute_rank_signed_measure(dereference(<C_KFlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1812
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1813
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1814
|
+
return (pts,weights)
|
|
1815
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_i32):
|
|
1816
|
+
with nogil:
|
|
1817
|
+
sm = compute_rank_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1818
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1819
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1820
|
+
return (pts,weights)
|
|
1821
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_f64):
|
|
1822
|
+
with nogil:
|
|
1823
|
+
sm = compute_rank_signed_measure(dereference(<C_KFlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1824
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1825
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1826
|
+
return (pts,weights)
|
|
1827
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_f64):
|
|
1828
|
+
with nogil:
|
|
1829
|
+
sm = compute_rank_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1830
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1831
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1832
|
+
return (pts,weights)
|
|
1833
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_i32):
|
|
1834
|
+
with nogil:
|
|
1835
|
+
sm = compute_rank_signed_measure(dereference(<C_FlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1836
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1837
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1838
|
+
return (pts,weights)
|
|
1839
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_i32):
|
|
1840
|
+
with nogil:
|
|
1841
|
+
sm = compute_rank_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1842
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1843
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1844
|
+
return (pts,weights)
|
|
1845
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_f64):
|
|
1846
|
+
with nogil:
|
|
1847
|
+
sm = compute_rank_signed_measure(dereference(<C_FlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1848
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1849
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1850
|
+
return (pts,weights)
|
|
1851
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_f64):
|
|
1852
|
+
with nogil:
|
|
1853
|
+
sm = compute_rank_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1854
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1855
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1856
|
+
return (pts,weights)
|
|
1857
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_i32):
|
|
1858
|
+
with nogil:
|
|
1859
|
+
sm = compute_rank_signed_measure(dereference(<C_KFlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1860
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1861
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1862
|
+
return (pts,weights)
|
|
1863
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_i32):
|
|
1864
|
+
with nogil:
|
|
1865
|
+
sm = compute_rank_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1866
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1867
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1868
|
+
return (pts,weights)
|
|
1869
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_f64):
|
|
1870
|
+
with nogil:
|
|
1871
|
+
sm = compute_rank_signed_measure(dereference(<C_KFlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1872
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1873
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1874
|
+
return (pts,weights)
|
|
1875
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_f64):
|
|
1876
|
+
with nogil:
|
|
1877
|
+
sm = compute_rank_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1878
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1879
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1880
|
+
return (pts,weights)
|
|
1881
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_i32):
|
|
1882
|
+
with nogil:
|
|
1883
|
+
sm = compute_rank_signed_measure(dereference(<C_FlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1884
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1885
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1886
|
+
return (pts,weights)
|
|
1887
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_i32):
|
|
1888
|
+
with nogil:
|
|
1889
|
+
sm = compute_rank_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1890
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1891
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1892
|
+
return (pts,weights)
|
|
1893
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_f64):
|
|
1894
|
+
with nogil:
|
|
1895
|
+
sm = compute_rank_signed_measure(dereference(<C_FlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1896
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1897
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1898
|
+
return (pts,weights)
|
|
1899
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_f64):
|
|
1900
|
+
with nogil:
|
|
1901
|
+
sm = compute_rank_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, n_jobs, verbose, ignore_inf)
|
|
1902
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1903
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1904
|
+
return (pts,weights)
|
|
1905
|
+
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|
|
1906
|
+
|
|
1907
|
+
|
|
1908
|
+
|
|
1909
|
+
#### Hilbert Function
|
|
1910
|
+
|
|
1911
|
+
cdef extern from "multi_parameter_rank_invariant/hilbert_function.h" namespace "Gudhi::multiparameter::hilbert_function":
|
|
1912
|
+
## from slicers
|
|
1913
|
+
signed_measure_type get_hilbert_signed_measure(C_KFlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1914
|
+
signed_measure_type get_hilbert_signed_measure(C_KContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1915
|
+
signed_measure_type get_hilbert_signed_measure(C_KFlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1916
|
+
signed_measure_type get_hilbert_signed_measure(C_KContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1917
|
+
signed_measure_type get_hilbert_signed_measure(C_FlatSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1918
|
+
signed_measure_type get_hilbert_signed_measure(C_ContiguousSlicer_Matrix0_vine_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1919
|
+
signed_measure_type get_hilbert_signed_measure(C_FlatSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1920
|
+
signed_measure_type get_hilbert_signed_measure(C_ContiguousSlicer_Matrix0_vine_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1921
|
+
signed_measure_type get_hilbert_signed_measure(C_KFlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1922
|
+
signed_measure_type get_hilbert_signed_measure(C_KContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1923
|
+
signed_measure_type get_hilbert_signed_measure(C_KFlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1924
|
+
signed_measure_type get_hilbert_signed_measure(C_KContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1925
|
+
signed_measure_type get_hilbert_signed_measure(C_FlatSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1926
|
+
signed_measure_type get_hilbert_signed_measure(C_ContiguousSlicer_Matrix0_i32&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1927
|
+
signed_measure_type get_hilbert_signed_measure(C_FlatSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1928
|
+
signed_measure_type get_hilbert_signed_measure(C_ContiguousSlicer_Matrix0_f64&, tensor_dtype* , const vector[indices_type], const vector[indices_type], bool zero_pad,indices_type n_jobs, bool verbose, bool ignore_inf) except + nogil
|
|
1929
|
+
cdef inline _compute_hilbert_sm(slicer, tensor_dtype* container_ptr, vector[indices_type] c_grid_shape, vector[indices_type] degrees, int n_jobs, bool verbose,bool zero_pad, bool ignore_inf):
|
|
1930
|
+
import multipers.slicer as mps
|
|
1931
|
+
if len(slicer) == 0:
|
|
1932
|
+
return (np.empty(shape=(0, 1), dtype=slicer.dtype), np.empty(shape=(0), dtype=int))
|
|
1933
|
+
cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
|
|
1934
|
+
cdef signed_measure_type sm
|
|
1935
|
+
cdef cnp.ndarray[indices_type, ndim=2] pts
|
|
1936
|
+
cdef cnp.ndarray[tensor_dtype, ndim=1] weights
|
|
1937
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_i32):
|
|
1938
|
+
with nogil:
|
|
1939
|
+
sm = get_hilbert_signed_measure(dereference(<C_KFlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1940
|
+
if len(sm.first) == 0:
|
|
1941
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1942
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1943
|
+
else:
|
|
1944
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1945
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1946
|
+
return (pts,weights)
|
|
1947
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_i32):
|
|
1948
|
+
with nogil:
|
|
1949
|
+
sm = get_hilbert_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1950
|
+
if len(sm.first) == 0:
|
|
1951
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1952
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1953
|
+
else:
|
|
1954
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1955
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1956
|
+
return (pts,weights)
|
|
1957
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_vine_f64):
|
|
1958
|
+
with nogil:
|
|
1959
|
+
sm = get_hilbert_signed_measure(dereference(<C_KFlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1960
|
+
if len(sm.first) == 0:
|
|
1961
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1962
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1963
|
+
else:
|
|
1964
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1965
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1966
|
+
return (pts,weights)
|
|
1967
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_vine_f64):
|
|
1968
|
+
with nogil:
|
|
1969
|
+
sm = get_hilbert_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1970
|
+
if len(sm.first) == 0:
|
|
1971
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1972
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1973
|
+
else:
|
|
1974
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1975
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1976
|
+
return (pts,weights)
|
|
1977
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_i32):
|
|
1978
|
+
with nogil:
|
|
1979
|
+
sm = get_hilbert_signed_measure(dereference(<C_FlatSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1980
|
+
if len(sm.first) == 0:
|
|
1981
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1982
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1983
|
+
else:
|
|
1984
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1985
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1986
|
+
return (pts,weights)
|
|
1987
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_i32):
|
|
1988
|
+
with nogil:
|
|
1989
|
+
sm = get_hilbert_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_vine_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
1990
|
+
if len(sm.first) == 0:
|
|
1991
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
1992
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
1993
|
+
else:
|
|
1994
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
1995
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
1996
|
+
return (pts,weights)
|
|
1997
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_vine_f64):
|
|
1998
|
+
with nogil:
|
|
1999
|
+
sm = get_hilbert_signed_measure(dereference(<C_FlatSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2000
|
+
if len(sm.first) == 0:
|
|
2001
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2002
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2003
|
+
else:
|
|
2004
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2005
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2006
|
+
return (pts,weights)
|
|
2007
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_vine_f64):
|
|
2008
|
+
with nogil:
|
|
2009
|
+
sm = get_hilbert_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_vine_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2010
|
+
if len(sm.first) == 0:
|
|
2011
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2012
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2013
|
+
else:
|
|
2014
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2015
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2016
|
+
return (pts,weights)
|
|
2017
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_i32):
|
|
2018
|
+
with nogil:
|
|
2019
|
+
sm = get_hilbert_signed_measure(dereference(<C_KFlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2020
|
+
if len(sm.first) == 0:
|
|
2021
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2022
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2023
|
+
else:
|
|
2024
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2025
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2026
|
+
return (pts,weights)
|
|
2027
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_i32):
|
|
2028
|
+
with nogil:
|
|
2029
|
+
sm = get_hilbert_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2030
|
+
if len(sm.first) == 0:
|
|
2031
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2032
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2033
|
+
else:
|
|
2034
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2035
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2036
|
+
return (pts,weights)
|
|
2037
|
+
if isinstance(slicer, mps._KFlatSlicer_Matrix0_f64):
|
|
2038
|
+
with nogil:
|
|
2039
|
+
sm = get_hilbert_signed_measure(dereference(<C_KFlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2040
|
+
if len(sm.first) == 0:
|
|
2041
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2042
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2043
|
+
else:
|
|
2044
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2045
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2046
|
+
return (pts,weights)
|
|
2047
|
+
if isinstance(slicer, mps._KContiguousSlicer_Matrix0_f64):
|
|
2048
|
+
with nogil:
|
|
2049
|
+
sm = get_hilbert_signed_measure(dereference(<C_KContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2050
|
+
if len(sm.first) == 0:
|
|
2051
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2052
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2053
|
+
else:
|
|
2054
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2055
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2056
|
+
return (pts,weights)
|
|
2057
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_i32):
|
|
2058
|
+
with nogil:
|
|
2059
|
+
sm = get_hilbert_signed_measure(dereference(<C_FlatSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2060
|
+
if len(sm.first) == 0:
|
|
2061
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2062
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2063
|
+
else:
|
|
2064
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2065
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2066
|
+
return (pts,weights)
|
|
2067
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_i32):
|
|
2068
|
+
with nogil:
|
|
2069
|
+
sm = get_hilbert_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_i32*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2070
|
+
if len(sm.first) == 0:
|
|
2071
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2072
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2073
|
+
else:
|
|
2074
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2075
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2076
|
+
return (pts,weights)
|
|
2077
|
+
if isinstance(slicer, mps._FlatSlicer_Matrix0_f64):
|
|
2078
|
+
with nogil:
|
|
2079
|
+
sm = get_hilbert_signed_measure(dereference(<C_FlatSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2080
|
+
if len(sm.first) == 0:
|
|
2081
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2082
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2083
|
+
else:
|
|
2084
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2085
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2086
|
+
return (pts,weights)
|
|
2087
|
+
if isinstance(slicer, mps._ContiguousSlicer_Matrix0_f64):
|
|
2088
|
+
with nogil:
|
|
2089
|
+
sm = get_hilbert_signed_measure(dereference(<C_ContiguousSlicer_Matrix0_f64*>(slicer_ptr)),container_ptr, c_grid_shape,degrees, zero_pad, n_jobs, verbose, ignore_inf)
|
|
2090
|
+
if len(sm.first) == 0:
|
|
2091
|
+
pts = np.empty(shape=(0, slicer.num_parameters), dtype=python_indices_type)
|
|
2092
|
+
weights = np.empty(shape=(0), dtype=python_tensor_dtype)
|
|
2093
|
+
else:
|
|
2094
|
+
pts = np.asarray(sm.first,dtype=python_indices_type)
|
|
2095
|
+
weights = np.asarray(sm.second,dtype=python_tensor_dtype)
|
|
2096
|
+
return (pts,weights)
|
|
2097
|
+
raise ValueError(f"Unsupported slicer type {type(slicer)}")
|