mmcfilters
Public API documentation
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
mmcfilters::ShapeSpaceSaliency Class Reference

Computes Xu-style extinction values in the shape space of a tree. More...

#include <ShapeSpaceSaliency.hpp>

Static Public Member Functions

template<std::floating_point Real>
static ShapeSpaceExtinctionResult< Real > computeExtinctionValues (const MorphologicalTree &tree, std::span< const Real > attribute, ShapeSpaceExtremaPolarity polarity)
 Computes regional extrema and finite extinction values.
 
template<std::floating_point Real>
static EdgeSaliencyMap< Real > projectContourScores (const MorphologicalTree &tree, std::span< const Real > nodeScores, const RegularGridAdjacency2D &adjacency)
 Projects sparse node scores onto every image-domain adjacency edge.
 
template<std::floating_point Real>
static EdgeSaliencyMap< Real > projectContourScores (const MorphologicalTree &tree, std::span< const Real > nodeScores)
 Projects node scores using the adjacency stored by the tree.
 
template<std::floating_point Real>
static ShapeSpaceSaliencyResult< Real > compute (const MorphologicalTree &tree, std::span< const Real > attribute, ShapeSpaceExtremaPolarity polarity, const RegularGridAdjacency2D &adjacency)
 Computes extinction values, sparse representative scores, and contours.
 
template<std::floating_point Real>
static ShapeSpaceSaliencyResult< Real > compute (const MorphologicalTree &tree, std::span< const Real > attribute, ShapeSpaceExtremaPolarity polarity)
 Computes the complete result using the adjacency stored by the tree.
 

Detailed Description

Computes Xu-style extinction values in the shape space of a tree.

The shape-space graph has one vertex per live morphological-tree node and one undirected edge per parent-child relation. Regional extrema are the connected equal-attribute plateaus born during a lower-level (minima) or upper-level (maxima) component sweep. When components merge, only the strongest extremum survives. Equal-strength extrema are resolved by a canonical spatial and structural node order that is independent of internal NodeId assignment. The dominant extremum dies at the opposite global attribute level.

Primary reference
Yongchao Xu, Edwin Carlinet, Thierry Géraud, and Laurent Najman, "Hierarchical Segmentation Using Tree-Based Shape Spaces," IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(3):457-469, 2017. DOI 10.1109/TPAMI.2016.2554550. Section 4.3 defines the extinction-based contour saliency construction. The paper's local-minimum/Khalimsky-grid path is generalized here to minima or maxima and to an edge-indexed regular-grid representation.

Definition at line 87 of file ShapeSpaceSaliency.hpp.

Member Function Documentation

◆ compute() [1/2]

template<std::floating_point Real>
static ShapeSpaceSaliencyResult< Real > mmcfilters::ShapeSpaceSaliency::compute ( const MorphologicalTree tree,
std::span< const Real >  attribute,
ShapeSpaceExtremaPolarity  polarity 
)
inlinestatic

Computes the complete result using the adjacency stored by the tree.

Parameters
treeTree topology.
attributeAttribute requested by the operation.
polarityExtremum polarity selected by the operation.
Returns
The computed complete result using the adjacency stored by the tree.

Definition at line 675 of file ShapeSpaceSaliency.hpp.

◆ compute() [2/2]

template<std::floating_point Real>
static ShapeSpaceSaliencyResult< Real > mmcfilters::ShapeSpaceSaliency::compute ( const MorphologicalTree tree,
std::span< const Real >  attribute,
ShapeSpaceExtremaPolarity  polarity,
const RegularGridAdjacency2D adjacency 
)
inlinestatic

Computes extinction values, sparse representative scores, and contours.

Parameters
treeTree topology.
attributeAttribute requested by the operation.
polarityExtremum polarity selected by the operation.
adjacencyAdjacency relation.
Returns
The computed extinction values, sparse representative scores, and contours.

Definition at line 656 of file ShapeSpaceSaliency.hpp.

◆ computeExtinctionValues()

template<std::floating_point Real>
static ShapeSpaceExtinctionResult< Real > mmcfilters::ShapeSpaceSaliency::computeExtinctionValues ( const MorphologicalTree tree,
std::span< const Real >  attribute,
ShapeSpaceExtremaPolarity  polarity 
)
inlinestatic

Computes regional extrema and finite extinction values.

attribute is indexed by the tree's dense internal NodeId domain. Birth and death levels remain in the original attribute domain for both polarities. Results are sorted by the canonical spatial and structural representative-node order, independently of internal NodeId assignment.

Parameters
treeTree topology.
attributeAttribute requested by the operation.
polarityExtremum polarity selected by the operation.
Returns
The computed regional extrema and finite extinction values.

Definition at line 248 of file ShapeSpaceSaliency.hpp.

◆ projectContourScores() [1/2]

template<std::floating_point Real>
static EdgeSaliencyMap< Real > mmcfilters::ShapeSpaceSaliency::projectContourScores ( const MorphologicalTree tree,
std::span< const Real >  nodeScores 
)
inlinestatic

Projects node scores using the adjacency stored by the tree.

Parameters
treeTree topology.
nodeScoresPer-node scores.
Returns
The projected node scores using the adjacency stored by the tree.

Definition at line 642 of file ShapeSpaceSaliency.hpp.

◆ projectContourScores() [2/2]

template<std::floating_point Real>
static EdgeSaliencyMap< Real > mmcfilters::ShapeSpaceSaliency::projectContourScores ( const MorphologicalTree tree,
std::span< const Real >  nodeScores,
const RegularGridAdjacency2D adjacency 
)
inlinestatic

Projects sparse node scores onto every image-domain adjacency edge.

For an edge (p, q), the result is the maximum score on the two paths smallestNode(p) -> LCA and smallestNode(q) -> LCA, excluding the LCA. These are exactly the nodes whose regions contain that edge in their contour.

Parameters
treeTree topology.
nodeScoresPer-node scores.
adjacencyAdjacency relation.
Returns
The projected sparse node scores onto every image-domain adjacency edge.

Definition at line 531 of file ShapeSpaceSaliency.hpp.


The documentation for this class was generated from the following file: