|
mmcfilters
Public API documentation
|
Incremental ordered contour traces on the image domain. More...
#include <ContourTraceComputation.hpp>
Classes | |
| class | iterator |
| Single-pass iterator yielding a node and borrowed ordered trace. More... | |
Public Member Functions | |
| ContourTraceComputation (const MorphologicalTree &tree) | |
| Prepares compact edge changes for a stable tree with a 2D domain. | |
| template<AltitudeValue T> | |
| ContourTraceComputation (const ValuedMorphologicalTreeView< T > &view) | |
| Prepares traces using the current valued view's shape connectivity. | |
| ContourTrace | trace (NodeId node) const |
| Computes an independently owned ordered trace for one live node. | |
| iterator | begin () const |
| Starts an independent incremental post-order traversal. | |
| std::default_sentinel_t | end () const noexcept |
| Returns the exhaustion sentinel shared by all traversals. | |
| template<typename Consumer > | |
| void | forEachTrace (Consumer &&consumer) const |
Calls consumer(node, trace) once for every live node. | |
Static Public Member Functions | |
| static int | packEdge (PixelId pixel, ContourSide side) |
| Packs one pixel-side edge into a compact integer identifier. | |
| static ContourEdge | unpackEdge (int packedEdge) |
| Unpacks one compact contour edge identifier. | |
Incremental ordered contour traces on the image domain.
Construction stores compact edge changes shared by independent traversals. Iteration emits every live node in post-order and retains only the edge sets needed to build an unvisited parent. A query for one node scans that node's support and returns an independently owned trace. The tree must outlive this object and its iterators and remain unchanged.
Definition at line 35 of file ContourTraceComputation.hpp.
|
inlineexplicit |
Prepares compact edge changes for a stable tree with a 2D domain.
| tree | Source topology, which must outlive the computation. |
Definition at line 161 of file ContourTraceComputation.hpp.
|
inlineexplicit |
Prepares traces using the current valued view's shape connectivity.
| view | Current valued view whose topology must outlive the computation. |
Definition at line 169 of file ContourTraceComputation.hpp.
|
inline |
Starts an independent incremental post-order traversal.
Definition at line 209 of file ContourTraceComputation.hpp.
|
inlinenoexcept |
Returns the exhaustion sentinel shared by all traversals.
Definition at line 215 of file ContourTraceComputation.hpp.
Calls consumer(node, trace) once for every live node.
The borrowed trace view expires after the callback. Exceptions propagate and release traversal storage.
| consumer | Callback accepting a node identifier and trace view. |
Definition at line 225 of file ContourTraceComputation.hpp.
|
inlinestatic |
Packs one pixel-side edge into a compact integer identifier.
| pixel | Support pixel identifier. |
| side | Side occupied by the contour edge. |
Definition at line 144 of file ContourTraceComputation.hpp.
|
inline |
Computes an independently owned ordered trace for one live node.
The support is scanned directly. The result can outlive this computation.
| node | Live internal node identifier. |
Definition at line 180 of file ContourTraceComputation.hpp.
|
inlinestatic |
Unpacks one compact contour edge identifier.
| packedEdge | Packed contour edge identifier. |
Definition at line 153 of file ContourTraceComputation.hpp.