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.
Files changed (184) hide show
  1. multipers/.dylibs/libboost_timer.dylib +0 -0
  2. multipers/.dylibs/libc++.1.0.dylib +0 -0
  3. multipers/.dylibs/libtbb.12.17.dylib +0 -0
  4. multipers/__init__.py +33 -0
  5. multipers/_signed_measure_meta.py +426 -0
  6. multipers/_slicer_meta.py +231 -0
  7. multipers/array_api/__init__.py +62 -0
  8. multipers/array_api/numpy.py +124 -0
  9. multipers/array_api/torch.py +133 -0
  10. multipers/data/MOL2.py +458 -0
  11. multipers/data/UCR.py +18 -0
  12. multipers/data/__init__.py +1 -0
  13. multipers/data/graphs.py +466 -0
  14. multipers/data/immuno_regions.py +27 -0
  15. multipers/data/minimal_presentation_to_st_bf.py +0 -0
  16. multipers/data/pytorch2simplextree.py +91 -0
  17. multipers/data/shape3d.py +101 -0
  18. multipers/data/synthetic.py +113 -0
  19. multipers/distances.py +202 -0
  20. multipers/filtration_conversions.pxd +736 -0
  21. multipers/filtration_conversions.pxd.tp +226 -0
  22. multipers/filtrations/__init__.py +21 -0
  23. multipers/filtrations/density.py +529 -0
  24. multipers/filtrations/filtrations.py +480 -0
  25. multipers/filtrations.pxd +534 -0
  26. multipers/filtrations.pxd.tp +332 -0
  27. multipers/function_rips.cpython-312-darwin.so +0 -0
  28. multipers/function_rips.pyx +104 -0
  29. multipers/grids.cpython-312-darwin.so +0 -0
  30. multipers/grids.pyx +538 -0
  31. multipers/gudhi/Persistence_slices_interface.h +213 -0
  32. multipers/gudhi/Simplex_tree_interface.h +274 -0
  33. multipers/gudhi/Simplex_tree_multi_interface.h +648 -0
  34. multipers/gudhi/gudhi/Bitmap_cubical_complex.h +450 -0
  35. multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +1070 -0
  36. multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +579 -0
  37. multipers/gudhi/gudhi/Debug_utils.h +52 -0
  38. multipers/gudhi/gudhi/Degree_rips_bifiltration.h +2307 -0
  39. multipers/gudhi/gudhi/Dynamic_multi_parameter_filtration.h +2524 -0
  40. multipers/gudhi/gudhi/Fields/Multi_field.h +453 -0
  41. multipers/gudhi/gudhi/Fields/Multi_field_operators.h +460 -0
  42. multipers/gudhi/gudhi/Fields/Multi_field_shared.h +444 -0
  43. multipers/gudhi/gudhi/Fields/Multi_field_small.h +584 -0
  44. multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +490 -0
  45. multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +580 -0
  46. multipers/gudhi/gudhi/Fields/Z2_field.h +391 -0
  47. multipers/gudhi/gudhi/Fields/Z2_field_operators.h +389 -0
  48. multipers/gudhi/gudhi/Fields/Zp_field.h +493 -0
  49. multipers/gudhi/gudhi/Fields/Zp_field_operators.h +384 -0
  50. multipers/gudhi/gudhi/Fields/Zp_field_shared.h +492 -0
  51. multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +337 -0
  52. multipers/gudhi/gudhi/Matrix.h +2200 -0
  53. multipers/gudhi/gudhi/Multi_filtration/Multi_parameter_generator.h +1712 -0
  54. multipers/gudhi/gudhi/Multi_filtration/multi_filtration_conversions.h +237 -0
  55. multipers/gudhi/gudhi/Multi_filtration/multi_filtration_utils.h +225 -0
  56. multipers/gudhi/gudhi/Multi_parameter_filtered_complex.h +485 -0
  57. multipers/gudhi/gudhi/Multi_parameter_filtration.h +2643 -0
  58. multipers/gudhi/gudhi/Multi_persistence/Box.h +233 -0
  59. multipers/gudhi/gudhi/Multi_persistence/Line.h +309 -0
  60. multipers/gudhi/gudhi/Multi_persistence/Multi_parameter_filtered_complex_pcoh_interface.h +268 -0
  61. multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_cohomology.h +159 -0
  62. multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_matrix.h +463 -0
  63. multipers/gudhi/gudhi/Multi_persistence/Point.h +853 -0
  64. multipers/gudhi/gudhi/Off_reader.h +173 -0
  65. multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +834 -0
  66. multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +838 -0
  67. multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +833 -0
  68. multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +1367 -0
  69. multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +1157 -0
  70. multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +869 -0
  71. multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +905 -0
  72. multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +122 -0
  73. multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +260 -0
  74. multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +288 -0
  75. multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +170 -0
  76. multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +247 -0
  77. multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +571 -0
  78. multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +182 -0
  79. multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +130 -0
  80. multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +235 -0
  81. multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +312 -0
  82. multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +1092 -0
  83. multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +923 -0
  84. multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +914 -0
  85. multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +930 -0
  86. multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +1071 -0
  87. multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +203 -0
  88. multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +886 -0
  89. multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +984 -0
  90. multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +1213 -0
  91. multipers/gudhi/gudhi/Persistence_matrix/index_mapper.h +58 -0
  92. multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +227 -0
  93. multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +200 -0
  94. multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +166 -0
  95. multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +319 -0
  96. multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +562 -0
  97. multipers/gudhi/gudhi/Persistence_on_a_line.h +152 -0
  98. multipers/gudhi/gudhi/Persistence_on_rectangle.h +617 -0
  99. multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +118 -0
  100. multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +173 -0
  101. multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +128 -0
  102. multipers/gudhi/gudhi/Persistent_cohomology.h +769 -0
  103. multipers/gudhi/gudhi/Points_off_io.h +171 -0
  104. multipers/gudhi/gudhi/Projective_cover_kernel.h +379 -0
  105. multipers/gudhi/gudhi/Simple_object_pool.h +69 -0
  106. multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +559 -0
  107. multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +83 -0
  108. multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +121 -0
  109. multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +277 -0
  110. multipers/gudhi/gudhi/Simplex_tree/filtration_value_utils.h +155 -0
  111. multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +62 -0
  112. multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +27 -0
  113. multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +60 -0
  114. multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +105 -0
  115. multipers/gudhi/gudhi/Simplex_tree.h +3170 -0
  116. multipers/gudhi/gudhi/Slicer.h +848 -0
  117. multipers/gudhi/gudhi/Thread_safe_slicer.h +393 -0
  118. multipers/gudhi/gudhi/distance_functions.h +62 -0
  119. multipers/gudhi/gudhi/graph_simplicial_complex.h +104 -0
  120. multipers/gudhi/gudhi/multi_simplex_tree_helpers.h +147 -0
  121. multipers/gudhi/gudhi/persistence_interval.h +263 -0
  122. multipers/gudhi/gudhi/persistence_matrix_options.h +188 -0
  123. multipers/gudhi/gudhi/reader_utils.h +367 -0
  124. multipers/gudhi/gudhi/simple_mdspan.h +484 -0
  125. multipers/gudhi/gudhi/slicer_helpers.h +779 -0
  126. multipers/gudhi/tmp_h0_pers/mma_interface_h0.h +223 -0
  127. multipers/gudhi/tmp_h0_pers/naive_merge_tree.h +536 -0
  128. multipers/io.cpython-312-darwin.so +0 -0
  129. multipers/io.pyx +472 -0
  130. multipers/ml/__init__.py +0 -0
  131. multipers/ml/accuracies.py +90 -0
  132. multipers/ml/invariants_with_persistable.py +79 -0
  133. multipers/ml/kernels.py +176 -0
  134. multipers/ml/mma.py +713 -0
  135. multipers/ml/one.py +472 -0
  136. multipers/ml/point_clouds.py +352 -0
  137. multipers/ml/signed_measures.py +1667 -0
  138. multipers/ml/sliced_wasserstein.py +461 -0
  139. multipers/ml/tools.py +113 -0
  140. multipers/mma_structures.cpython-312-darwin.so +0 -0
  141. multipers/mma_structures.pxd +134 -0
  142. multipers/mma_structures.pyx +1483 -0
  143. multipers/mma_structures.pyx.tp +1126 -0
  144. multipers/multi_parameter_rank_invariant/diff_helpers.h +85 -0
  145. multipers/multi_parameter_rank_invariant/euler_characteristic.h +95 -0
  146. multipers/multi_parameter_rank_invariant/function_rips.h +317 -0
  147. multipers/multi_parameter_rank_invariant/hilbert_function.h +761 -0
  148. multipers/multi_parameter_rank_invariant/persistence_slices.h +149 -0
  149. multipers/multi_parameter_rank_invariant/rank_invariant.h +350 -0
  150. multipers/multiparameter_edge_collapse.py +41 -0
  151. multipers/multiparameter_module_approximation/approximation.h +2541 -0
  152. multipers/multiparameter_module_approximation/debug.h +107 -0
  153. multipers/multiparameter_module_approximation/format_python-cpp.h +292 -0
  154. multipers/multiparameter_module_approximation/utilities.h +428 -0
  155. multipers/multiparameter_module_approximation.cpython-312-darwin.so +0 -0
  156. multipers/multiparameter_module_approximation.pyx +286 -0
  157. multipers/ops.cpython-312-darwin.so +0 -0
  158. multipers/ops.pyx +231 -0
  159. multipers/pickle.py +89 -0
  160. multipers/plots.py +550 -0
  161. multipers/point_measure.cpython-312-darwin.so +0 -0
  162. multipers/point_measure.pyx +409 -0
  163. multipers/simplex_tree_multi.cpython-312-darwin.so +0 -0
  164. multipers/simplex_tree_multi.pxd +136 -0
  165. multipers/simplex_tree_multi.pyx +11719 -0
  166. multipers/simplex_tree_multi.pyx.tp +2102 -0
  167. multipers/slicer.cpython-312-darwin.so +0 -0
  168. multipers/slicer.pxd +2097 -0
  169. multipers/slicer.pxd.tp +263 -0
  170. multipers/slicer.pyx +13042 -0
  171. multipers/slicer.pyx.tp +1259 -0
  172. multipers/tensor/tensor.h +672 -0
  173. multipers/tensor.pxd +13 -0
  174. multipers/test.pyx +44 -0
  175. multipers/tests/__init__.py +70 -0
  176. multipers/torch/__init__.py +1 -0
  177. multipers/torch/diff_grids.py +240 -0
  178. multipers/torch/rips_density.py +310 -0
  179. multipers/vector_interface.pxd +46 -0
  180. multipers-2.4.0b1.dist-info/METADATA +131 -0
  181. multipers-2.4.0b1.dist-info/RECORD +184 -0
  182. multipers-2.4.0b1.dist-info/WHEEL +6 -0
  183. multipers-2.4.0b1.dist-info/licenses/LICENSE +21 -0
  184. 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)}")