|
mmcfilters
Public API documentation
|
Builds trees of shapes (ToS) using a union-find construction. More...
#include <TreeOfShapesBuilder.hpp>
Public Member Functions | |
| TreeOfShapesBuilder (TopographicConvention convention={}) | |
| Creates a tree-of-shapes builder. | |
| const TopographicConvention & | convention () const noexcept |
| Returns the immutable topographic convention selected for this producer. | |
| ~TreeOfShapesBuilder ()=default | |
Destroys TreeOfShapesBuilder. | |
| template<class Altitude = std::uint8_t> | |
| NativeHierarchyOwned< Altitude > | build (const ImageUInt8Ptr &imgPtr) && |
| Builds the native hierarchy in the declared altitude scale, consuming the producer. | |
Builds trees of shapes (ToS) using a union-find construction.
The builder uses interval interpolation, ordered flooding, union-find, canonicalization, and projection to the original domain [GCCN13]. SelfDualSpan uses the span construction of [BGN15]. Complementary 4/8 conventions use the optimized immersion and max-tree of the order map described in [CCG18]. The corresponding methods cite sections and algorithms.
Domain cropping, a configurable infinity pixel, altitude encoding, and native-array materialization are project options or adaptations. Cropping the exterior ring or choosing an interior seed differs from the exterior initialization described in [GCCN13], Section 4.1, and [BGN15], Section 4.2.
Definition at line 522 of file TreeOfShapesBuilder.hpp.
|
inlineexplicit |
Creates a tree-of-shapes builder.
| convention | Complete topographic convention. |
Definition at line 837 of file TreeOfShapesBuilder.hpp.
|
inline |
Builds the native hierarchy in the declared altitude scale, consuming the producer.
Under TopographicAltitudeEncoding::UInt8 the published altitudes are unchanged source gray levels. This encoding is exact for a complementary-grid immersion and for a self-dual span immersion without an exterior ring. Under TopographicAltitudeEncoding::ExactDoubled, even values represent source gray levels and odd values represent half levels introduced by self-dual interpolation. Neither encoding loses a parent-child altitude distinction to quantization.
The result owns the native arrays and the resolved topographic convention. Named producers must be passed through std::move to transfer ownership.
| Altitude | Published node-altitude type, which must match the altitude encoding declared by the convention. |
| imgPtr | Image. |
Definition at line 1596 of file TreeOfShapesBuilder.hpp.
|
inlinenoexcept |
Returns the immutable topographic convention selected for this producer.
Definition at line 845 of file TreeOfShapesBuilder.hpp.