Class computing the zigzag persistent homology of a zigzag filtration. Algorithm based on [zigzag].
More...
|
template<typename F > |
| Filtered_zigzag_persistence (F &&stream_interval, unsigned int preallocationSize=0) |
| Constructor.
|
|
template<class BoundaryRange = std::initializer_list<Cell_key>> |
Internal_key | insert_cell (Cell_key cellID, const BoundaryRange &boundary, Dimension dimension, Filtration_value filtrationValue) |
| Updates the zigzag persistence diagram after the insertion of the given cell.
|
|
Internal_key | remove_cell (Cell_key cellID, Filtration_value filtrationValue) |
| Updates the zigzag persistence diagram after the removal of the given cell. preallocationSize.
|
|
Internal_key | apply_identity () |
| To use when a cell is neither inserted nor removed, but the filtration moves along the identity operator on homology level. Useful to keep the birth/death indices aligned when insertions/removals are purposely skipped to avoid useless computation.
|
|
template<typename F > |
void | get_current_infinite_intervals (F &&stream_infinite_interval) |
| Outputs through the given callback method all current infinite bars.
|
|
template<class
FilteredZigzagOptions = Default_filtered_zigzag_options>
class Gudhi::zigzag_persistence::Filtered_zigzag_persistence< FilteredZigzagOptions >
Class computing the zigzag persistent homology of a zigzag filtration. Algorithm based on [zigzag].
After construction of the class, the zigzag filtration should be given in a streaming like way, i.e., call insert_cell, remove_cell or apply_identity for each step of the filtration in order of the filtration. The bars of the diagram are retrieved via the given callback method every time a pair with non-zero length is closed. To retrieve the open/infinite bars, use get_current_infinite_intervals.
Minimalistic example of usage
Includes
Contains the implementation of the Gudhi::zigzag_persistence::Default_filtered_zigzag_options structu...
Useful aliases
Class computing the zigzag persistent homology of a zigzag filtration. Algorithm based on .
Definition filtered_zigzag_persistence.h:442
typename Options::Filtration_value Filtration_value
Definition filtered_zigzag_persistence.h:447
typename Options::Dimension Dimension
Definition filtered_zigzag_persistence.h:448
Construction with default values
std::cout << "[" << dim << "] " << birth << " - " << death << std::endl;
});
Input of the zigzag sequence/filtration
zp.insert_cell(2, {}, 0, 0.1);
zp.insert_cell(4, {}, 0, 0.1);
zp.insert_cell(5, {2, 4}, 1, 0.3);
zp.insert_cell(3, {}, 0, 0.4);
zp.insert_cell(6, {2, 3}, 1, 0.4);
zp.insert_cell(9, {4, 3}, 1, 1.2);
zp.remove_cell(6, 1.5);
zp.remove_cell(5, 2.0);
Finalizations
zp.get_current_infinite_intervals([](
Dimension dim, filtration_value_type birth){
std::cout << "[" << dim << "] " << birth << " - inf" << std::endl;
});
- Template Parameters
-
- Examples
- example_usage_filtered_zigzag_persistence.cpp, example_usage_filtered_zigzag_persistence_with_storage.cpp, example_usage_zigzag_persistence.cpp, and example_zzfiltration_from_file.cpp.