mmcfilters
Public API documentation
Loading...
Searching...
No Matches
NativeHierarchy.hpp
1#pragma once
2
4#include "ProperPartDomain.hpp"
5#include "../utils/Altitude.hpp"
6#include "../utils/Common.hpp"
7
8#include <optional>
9#include <span>
10
11namespace mmcfilters {
12
21template <AltitudeValue T> struct NativeHierarchyView {
23 std::span<const NodeId> parent;
25 std::span<const NodeId> smallestNodeMap;
27 std::span<const T> nodeAltitudes;
31 std::optional<GridDomain2D> gridDomain2D;
34};
35
36} // namespace mmcfilters
int NodeId
Node identifier type used throughout the project.
Definition Common.hpp:17
constexpr NodeId InvalidNode
Sentinel value used to denote an invalid node identifier.
Definition Common.hpp:34
Immutable scientific metadata attached to a morphological tree.
Immutable scientific interpretation attached to one morphological tree.
Typed non-owning output contract shared by native hierarchy producers.
std::span< const NodeId > smallestNodeMap
Smallest node containing each pixel.
std::span< const T > nodeAltitudes
Altitude value for every internal-node slot.
std::span< const NodeId > parent
Parent id for every internal-node slot.
MorphologicalTreeSemantics semantics
Altitude-order and adjacency capabilities of the hierarchy.
std::optional< GridDomain2D > gridDomain2D
Optional row/column interpretation of pixel ids.