Tree Reconstruction =================== This document describes the PypeTree implementation of the Modified Verroust & Lazarus algorithm that can be applied to a botanical tree point cloud to reconstruct it. Connectivity ------------ Both the number of neighbors (``k``) and the search radius (``r``) can be specifed, as they are not mutually exclusive or conflicting. Level Sets ---------- The *y* (or upward dimension) is the column in the input dataset corresponding to the height of the tree (0, 1, or 2). This is important because the geodesic space is defined in the elongated dimension of the tree, which is usually mostly directed in the upward direction. Although PypeTree tries to guess it for you, its heuristic (i.e. simply looking for the dimension with the largest span) is not perfect, and you should be careful that the value is the right one. The search for the *N*-connected components of a given level set is the way branch cut segmentation is performed. Since having too many very small components adds unnecessary noise to the model, it's possible to filter those whose size is below a threshold, by lumping them to one of their neighboring level sets. However, you have to be careful with this, because the underlying computation can be quite expensive with degenerate cases where many filtered components are shuffled around. For a value of 0, this filtering computation simply isn't triggered, so it's the most efficient option, at the expense of producing noisier results. Reconstruction -------------- Smoothing ---------