Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex > Class Template Reference

Analysis of a Morse Smale Witten chain complex. More...

#include <Morse_theory_based_analyzer.hpp>

Constructors / Destructors


 T_Morse_theory_based_analyzer (MorseSmaleWittenChainComplex &complex)
 

Critical points and connexions


template<class OutputIterator >
OutputIterator get_paths (OutputIterator out) const
 Returns the set of paths between pairs of 0-saddle points through a 1-saddle point. More...
 

Stable manifolds


template<class OutputIterator >
OutputIterator get_stable_manifold_partition (OutputIterator out, bool skip_saddle_SM) const
 Returns the partition of stable manifolds for each critical vertex. The data type for stable manifolds is determined by the MorseSmaleWittenChainComplex data structure and is by default a list of points. More...
 

Disconnectivity Forest Methods


const Disconnectivity_forest & get_disconnectivity_forest (void) const
 Returns the disconnectivity forest. More...
 
FT get_Morse_function_value (Disconnectivity_vertex u) const
 Returns the value associated to a vertex in the disconnectivity forest. More...
 
const Point & get_point (Disconnectivity_vertex u) const
 Returns the point associated to a vertex in the disconnectivity forest. More...
 
template<class OutputIterator >
OutputIterator get_connected_component (Disconnectivity_vertex u, const FT &threshold, OutputIterator out) const
 Returns the set of points under the input threshold in the same component as the input vertex. More...
 
template<class OutputIterator >
OutputIterator get_connected_component (Disconnectivity_vertex u, Disconnectivity_vertex v, const FT &threshold, OutputIterator out) const
 Returns the set of points in the component born with u and dead with v. More...
 
template<class OutputIterator >
OutputIterator get_connected_component_before_death (Disconnectivity_vertex u, Disconnectivity_vertex v, OutputIterator out) const
 Same as before but the threshold is set to the upper bound of the stable manifold of u. More...
 

Persistence


template<class OutputIterator >
OutputIterator get_infinite_persistent_critical_vertices (OutputIterator out) const
 Returns the set of 0-saddle vertices with an infinite persistence. More...
 
const Persistence_diagram & get_persistence_diagram (void) const
 
template<class OutputIterator >
OutputIterator get_persistence_diagram (OutputIterator out) const
 Same as before but copy it in an output container. More...
 
template<class OutputIterator >
OutputIterator get_persistence_intervals (OutputIterator out)
 Returns the persistence intervals associated to the pairs of vertices in the persistence diagram. More...
 

Sublevelsets assignment


template<class OutputIterator >
OutputIterator get_sublevelsets_connected_components (const FT &threshold, OutputIterator out) const
 Returns the all sub-level sets at a given threshold, that are the connected components of points having a value below the input threshold. More...
 

Simplifications


void simplify (const FT &persistence)
 Eliminates the saddles with a persistence below the input threshold by removing them from the MSW chain complex (this operation requires recomputing the disconnectivity forest and the persistence diagram) More...
 

Detailed Description

template<class MorseSmaleWittenChainComplex>
class SBL::GT::T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex >

Analysis of a Morse Smale Witten chain complex.

Template Parameters
MorseSmaleWittenChainComplexHasse diagram representing the Morse Smale Witten chain complex.

Member Function Documentation

◆ get_connected_component() [1/2]

OutputIterator get_connected_component ( Disconnectivity_vertex  u,
const FT &  threshold,
OutputIterator  out 
) const
inline

Returns the set of points under the input threshold in the same component as the input vertex.

◆ get_connected_component() [2/2]

OutputIterator get_connected_component ( Disconnectivity_vertex  u,
Disconnectivity_vertex  v,
const FT &  threshold,
OutputIterator  out 
) const
inline

Returns the set of points in the component born with u and dead with v.

◆ get_connected_component_before_death()

OutputIterator get_connected_component_before_death ( Disconnectivity_vertex  u,
Disconnectivity_vertex  v,
OutputIterator  out 
) const
inline

Same as before but the threshold is set to the upper bound of the stable manifold of u.

◆ get_disconnectivity_forest()

const T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex >::Disconnectivity_forest & get_disconnectivity_forest ( void  ) const
inline

Returns the disconnectivity forest.

◆ get_infinite_persistent_critical_vertices()

OutputIterator get_infinite_persistent_critical_vertices ( OutputIterator  out) const
inline

Returns the set of 0-saddle vertices with an infinite persistence.

◆ get_Morse_function_value()

T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex >::FT get_Morse_function_value ( Disconnectivity_vertex  u) const
inline

Returns the value associated to a vertex in the disconnectivity forest.

◆ get_paths()

OutputIterator get_paths ( OutputIterator  out) const
inline

Returns the set of paths between pairs of 0-saddle points through a 1-saddle point.

◆ get_persistence_diagram() [1/2]

OutputIterator get_persistence_diagram ( OutputIterator  out) const
inline

Same as before but copy it in an output container.

◆ get_persistence_diagram() [2/2]

const T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex >::Persistence_diagram & get_persistence_diagram ( void  ) const
inline

Returns the persistence diagram as a sorted set of pairs of vertices (0-saddle, 1-saddle) in the disconnectivity forest

◆ get_persistence_intervals()

OutputIterator get_persistence_intervals ( OutputIterator  out)
inline

Returns the persistence intervals associated to the pairs of vertices in the persistence diagram.

◆ get_point()

const T_Morse_theory_based_analyzer< MorseSmaleWittenChainComplex >::Point & get_point ( Disconnectivity_vertex  u) const
inline

Returns the point associated to a vertex in the disconnectivity forest.

◆ get_stable_manifold_partition()

OutputIterator get_stable_manifold_partition ( OutputIterator  out,
bool  skip_saddle_SM 
) const
inline

Returns the partition of stable manifolds for each critical vertex. The data type for stable manifolds is determined by the MorseSmaleWittenChainComplex data structure and is by default a list of points.

◆ get_sublevelsets_connected_components()

OutputIterator get_sublevelsets_connected_components ( const FT &  threshold,
OutputIterator  out 
) const
inline

Returns the all sub-level sets at a given threshold, that are the connected components of points having a value below the input threshold.

◆ simplify()

void simplify ( const FT &  persistence)
inline

Eliminates the saddles with a persistence below the input threshold by removing them from the MSW chain complex (this operation requires recomputing the disconnectivity forest and the persistence diagram)