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

Generic finite-window local-attribute computation over a connected-subset tree model. More...

#include <FiniteWindowLocalAttributeComputer.hpp>

Static Public Member Functions

static std::optional< NodeIdanchoredEntry (const MorphologicalTree &tree, PixelId anchorPixel, PixelId samplePixel)
 Locates a valid absolute sample on the anchor branch.
 
static std::optional< NodeIdanchoredEntry (const MorphologicalTree &tree, PixelId anchorPixel, WindowOffset windowOffset)
 Locates one translated sample on the anchor branch.
 
static AnchorBranch anchorBranch (const MorphologicalTree &tree, PixelId anchorPixel)
 Materializes the branch from the smallest node to the root.
 
static AnchoredEntryMap anchoredEntryMap (const MorphologicalTree &tree, PixelId anchorPixel, const ObservationWindow &observationWindow)
 Materializes anchored entries in window-coordinate order.
 
static AnchoredEntrySet anchoredEntrySet (const MorphologicalTree &tree, PixelId anchorPixel, const ObservationWindow &observationWindow)
 Materializes the distinct anchored entries.
 
static OrderedAnchoredEntries orderedAnchoredEntries (const MorphologicalTree &tree, PixelId anchorPixel, const ObservationWindow &observationWindow)
 Groups and orders entries from the smallest node toward the root.
 
static OrderedAnchoredEntries orderAnchoredEntriesByInclusion (const MorphologicalTree &tree, const AnchoredEntryMap &entryMap)
 Groups and orders an existing entry map by increasing inclusion.
 
static BinaryVisibilityState binaryVisibilityState (const MorphologicalTree &tree, const AnchoredEntryMap &entryMap, NodeId node)
 Evaluates visibility at one node of the anchor branch.
 
template<LocalRule Rule>
static std::vector< EventDelta< typename Rule::Value > > computeEventDeltas (const MorphologicalTree &tree, PixelId anchorPixel, const ObservationWindow &observationWindow, const Rule &localRule)
 Computes the rule changes for one anchor.
 
template<LocalRule Rule>
static std::vector< LocalAttributeIncrement< typename Rule::Value > > computeLocalAttributeIncrements (const MorphologicalTree &tree, const ObservationWindow &observationWindow, const Rule &localRule)
 Sums all anchor-specific event deltas into dense node increments.
 
template<LocalRule Rule>
static std::vector< NodeAttribute< typename Rule::Value > > aggregateLocalAttributeIncrements (const MorphologicalTree &tree, std::span< const LocalAttributeIncrement< typename Rule::Value > > localAttributeIncrements, const Rule &localRule)
 Aggregates node increments from children into parents.
 
template<LocalRule Rule>
static std::vector< NodeAttribute< typename Rule::Value > > compute (const MorphologicalTree &tree, const ObservationWindow &observationWindow, const Rule &localRule)
 Computes the final node attribute induced by a finite window and additive rule.
 

Detailed Description

Generic finite-window local-attribute computation over a connected-subset tree model.

Definition at line 547 of file FiniteWindowLocalAttributeComputer.hpp.

Member Function Documentation

◆ aggregateLocalAttributeIncrements()

template<LocalRule Rule>
static std::vector< NodeAttribute< typename Rule::Value > > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::aggregateLocalAttributeIncrements ( const MorphologicalTree tree,
std::span< const LocalAttributeIncrement< typename Rule::Value > >  localAttributeIncrements,
const Rule localRule 
)
inlinestatic

Aggregates node increments from children into parents.

Template Parameters
RuleModel of LocalRule.
Parameters
treeTree topology.
localAttributeIncrementsDense node-ordered increments.
localRuleRule supplying additive accumulation.
Returns
One final node attribute for every dense node slot.

Definition at line 689 of file FiniteWindowLocalAttributeComputer.hpp.

◆ anchorBranch()

static AnchorBranch mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::anchorBranch ( const MorphologicalTree tree,
PixelId  anchorPixel 
)
inlinestatic

Materializes the branch from the smallest node to the root.

Parameters
treeTree topology.
anchorPixelAnchor pixel.
Returns
Increasing-inclusion branch, or an empty vector for an invalid anchor.

Definition at line 577 of file FiniteWindowLocalAttributeComputer.hpp.

◆ anchoredEntry() [1/2]

static std::optional< NodeId > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::anchoredEntry ( const MorphologicalTree tree,
PixelId  anchorPixel,
PixelId  samplePixel 
)
inlinestatic

Locates a valid absolute sample on the anchor branch.

Parameters
treeTree topology.
anchorPixelAnchor pixel.
samplePixelSample pixel.
Returns
Anchored entry or no value for an invalid/unmapped pixel.

Definition at line 551 of file FiniteWindowLocalAttributeComputer.hpp.

◆ anchoredEntry() [2/2]

static std::optional< NodeId > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::anchoredEntry ( const MorphologicalTree tree,
PixelId  anchorPixel,
WindowOffset  windowOffset 
)
inlinestatic

Locates one translated sample on the anchor branch.

Parameters
treeTree with a 2D domain.
anchorPixelAnchor pixel.
windowOffsetTranslated-sample offset.
Returns
Anchored entry or no value outside the domain.

Definition at line 566 of file FiniteWindowLocalAttributeComputer.hpp.

◆ anchoredEntryMap()

static AnchoredEntryMap mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::anchoredEntryMap ( const MorphologicalTree tree,
PixelId  anchorPixel,
const ObservationWindow observationWindow 
)
inlinestatic

Materializes anchored entries in window-coordinate order.

Parameters
treeTree with a 2D domain.
anchorPixelAnchor pixel.
observationWindowValid observation window.
Returns
Coordinate-preserving entry map.

Definition at line 599 of file FiniteWindowLocalAttributeComputer.hpp.

◆ anchoredEntrySet()

static AnchoredEntrySet mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::anchoredEntrySet ( const MorphologicalTree tree,
PixelId  anchorPixel,
const ObservationWindow observationWindow 
)
inlinestatic

Materializes the distinct anchored entries.

Parameters
treeTree with a 2D domain.
anchorPixelAnchor pixel.
observationWindowValid observation window.
Returns
Mathematical anchored-entry set.

Definition at line 609 of file FiniteWindowLocalAttributeComputer.hpp.

◆ binaryVisibilityState()

static BinaryVisibilityState mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::binaryVisibilityState ( const MorphologicalTree tree,
const AnchoredEntryMap entryMap,
NodeId  node 
)
inlinestatic

Evaluates visibility at one node of the anchor branch.

Parameters
treeTree topology.
entryMapValid anchored-entry map.
nodeNode on the map's anchor branch.
Returns
Binary visibility state in window-coordinate order.

Definition at line 637 of file FiniteWindowLocalAttributeComputer.hpp.

◆ compute()

template<LocalRule Rule>
static std::vector< NodeAttribute< typename Rule::Value > > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::compute ( const MorphologicalTree tree,
const ObservationWindow observationWindow,
const Rule localRule 
)
inlinestatic

Computes the final node attribute induced by a finite window and additive rule.

Template Parameters
RuleModel of LocalRule.
Parameters
treeTree with a finite 2D domain.
observationWindowValid observation window.
localRuleRule valued in an additive Abelian group.
Returns
Dense node-indexed attribute values after bottom-up aggregation.

Definition at line 699 of file FiniteWindowLocalAttributeComputer.hpp.

◆ computeEventDeltas()

template<LocalRule Rule>
static std::vector< EventDelta< typename Rule::Value > > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::computeEventDeltas ( const MorphologicalTree tree,
PixelId  anchorPixel,
const ObservationWindow observationWindow,
const Rule localRule 
)
inlinestatic

Computes the rule changes for one anchor.

Template Parameters
RuleModel of LocalRule.
Parameters
treeTree with a finite 2D domain.
anchorPixelAnchor pixel.
observationWindowValid observation window.
localRuleRule valued in an additive Abelian group.
Returns
Inclusion-ordered, anchor-specific event deltas.

Definition at line 665 of file FiniteWindowLocalAttributeComputer.hpp.

◆ computeLocalAttributeIncrements()

template<LocalRule Rule>
static std::vector< LocalAttributeIncrement< typename Rule::Value > > mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::computeLocalAttributeIncrements ( const MorphologicalTree tree,
const ObservationWindow observationWindow,
const Rule localRule 
)
inlinestatic

Sums all anchor-specific event deltas into dense node increments.

Template Parameters
RuleModel of LocalRule.
Parameters
treeTree with a finite 2D domain.
observationWindowValid observation window.
localRuleRule valued in an additive Abelian group.
Returns
One local-attribute increment for every dense node slot.

Definition at line 679 of file FiniteWindowLocalAttributeComputer.hpp.

◆ orderAnchoredEntriesByInclusion()

static OrderedAnchoredEntries mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::orderAnchoredEntriesByInclusion ( const MorphologicalTree tree,
const AnchoredEntryMap entryMap 
)
inlinestatic

Groups and orders an existing entry map by increasing inclusion.

Parameters
treeTree topology.
entryMapValid map on one anchor branch.
Returns
Inclusion-ordered entry masks.

Definition at line 630 of file FiniteWindowLocalAttributeComputer.hpp.

◆ orderedAnchoredEntries()

static OrderedAnchoredEntries mmcfilters::local_attributes::FiniteWindowLocalAttributeComputer::orderedAnchoredEntries ( const MorphologicalTree tree,
PixelId  anchorPixel,
const ObservationWindow observationWindow 
)
inlinestatic

Groups and orders entries from the smallest node toward the root.

Parameters
treeTree with a 2D domain.
anchorPixelAnchor pixel.
observationWindowValid observation window.
Returns
Inclusion-ordered entry masks.

Definition at line 622 of file FiniteWindowLocalAttributeComputer.hpp.


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