Chapter 5. Descriptors

Table of Contents

5.1. Shoot based
5.1.1. Taxonomy
5.1.2. Geometry
5.1.3. Reverse branch order pipe area
5.1.4. Estimated sap wood
5.2. Tree wide
5.2.1. Max branching order
5.2.2. Average tip cross area

The QSM plug-in provides a set of additional descriptors that can be used on the shoots. With exception of the branching order and the trend these descriptors where taken from Hackenberg, Jan, and Jean-Daniel Bontemps.Improving quantitative structure models with filters based on allometric scaling theory.” Applied Geomatics 15.4 (2023)“.

5.1. Shoot based

The shoot based descriptors can be taken from the QSM inspector or can be used in RGG with its descriptor key, as following:

import static  de.grogra.qsm.utils.Descriptors.*;

...

public void test(){
    println((*F[GROWTH_LENGTH]*)); //print all growth length in the XL console
    println(sum((*F[GROWTH_LENGTH]*))); //print sum of all growth length in the XL console
    [
        f:F,(f[TIP]) ==>f Sphere(0.01); // add a sphere on top of each tip of the tree. 
    ]
}

5.1.1. Taxonomy

Following common assumption, we consider a branch to be a chain of apically linked shoots. Every lateral shoot describes a new branch, which is a child branch of the branch of the parent shoot of the new shoot. To display the different relationships in a GroIMP graph, successor and branch edges are used. A apical shoot is linked to its parent with a successor edge and a lateral shoot with a branch edge. Following the concept of qsm and tree taxonomy we assume each shoot can only have one apcial child and therefore each shoot in GroIMP can only have one successor (the child connected with a successor edge).

5.1.1.1. Branch order

For each shoot the branch order describes the taxonomical distance from the branch of this shoot to the root of the tree. Therefore the trunk has a branch oder of 0, the branches emerging from the trunk a branch oder of 1.

descriptor key: (*F*)[BO]

Formal definition:

The branch order of a shoot s1 is described as following:

BO(s1) = BO(axisParent(s1)) + 1

axisParent(s1) returns the shoot from which the branch of s1 was laterally emerged.(This is a GroIMP core function: javadoc )

5.1.1.2. Reverse branch order

The reverse branch oder of a shoot describes the highest number of continuously connected branches emerging from this shoot.

descriptor key: (*F*)[RBO]

Formal definition:

5.1.1.3. Trend

The trend of a shoot describes its position on the branch based on the number of shoots preceding it on the same branch.

descriptor key: (*F*)[TREND]

Formal definition:

5.1.1.4. Reverse trend

Analog to the trend the reverse trend decsribes the position of a shoot on its branch based on the number of shoots succeeding it on the same branch.

descriptor key: (*F*)[RTREND]

Formal definition:

5.1.1.5. Root distance

The root distance of a shoot is the number of shoots preceding it in.

descriptor key: (*F*)[ROOT_DISTANCE]

Formal definition:

5.1.1.6. Number of direct children

The number of direct children (both apical and lateral) of a given shoot.

descriptor key: (*F*)[CHILD_COUNT]

Formal definition:

CHILD_COUNT(s1) = |children(s1)|

5.1.1.7. Is tip

A Tip describes a shoot without any children, in terms of a mathematical tree graph it is considered a leaf.

descriptor key: (*F*)[TIP]

Formal definition:

if CHILD_COUNT(s1) is 0.

5.1.1.8. is apical tip

A Shoot is considered an apical tip if it has no apical child.

descriptor key: (*F*)[ATIP]

Formal definition:

if getSuccessorAxis(s1) ==null.

5.1.1.9. Longest tip distance

The number of shoots on the longest ongoing path from the given shoot to a tip.

descriptor key: (*F*)[MAX_TIP_DISTANCE]

Formal definition:

5.1.1.10. Shortest tip distance

The number of shoots on the shortest ongoing path from the given shoot to a tip.

descriptor key: (*F*)[MIN_TIP_DISTANCE]

Formal definition:

5.1.1.11. Absolute tip distance

The sum of the number of shoots all paths form the given shoot to every tips. Since every path starts at the same position, shoots are counted for each tip they are supporting.

descriptor key: (*F*)[ABSOLUTE_TIP_DISTANCE]

Formal definition:

5.1.1.12. Average tip distance

The average distance from the given shoot to its supported tips.

descriptor key: (*F*)[AVERAGE_TIP_DISTANCE]

Formal definition:

5.1.2. Geometry

5.1.2.1. Growth length

The growth length (introduces by Hackenberg et al.) describes sum of the length of all shoots following the given shoot and the shoot it self.

descriptor key: (*F*)[GROWTH_LENGTH]

Formal definition:

5.1.2.2. Growth volume

The growth volume (introduces by Hackenberg et al.) describes sum of the volume of all shoots following the given shoot and the shoot it self.

descriptor key: (*F*)[GROWTH_VOLUME]

Formal definition:

5.1.3. Reverse branch order pipe area

5.1.3.1. Number of supported tips

The amount of tips following the given shoot, in Hackenberg et al. this as the Reverse Branch Order Pipe Area.

descriptor key: (*F*)[SUPPORTED_TIPS] or (*F*)[RBOPA]

Formal definition:

5.1.3.2. Proxy volume

The proxy volume (Hackenberg et al.) describes the assumed volume of a shoot using the Reverse Branch Order Pipe Area as the cut trough area of the shoot.

descriptor key: (*F*)[PROXY_VOLUME]

Formal definition:

PROXY_VOLUME(s1) = RBOPA(s1) * length(s1)

5.1.3.3. Vessel volume

The Vessel volume (Hackenberg et al.) is calculated analog to the growth volume but based on the proxy volume.

descriptor key: (*F*)[VESSEL_VOLUME]

Formal definition:

5.1.3.4. Reverse branch order pipe radius

Following the definition of Hackenberg et al. the Reverse branch order pipe radius is the sqare root of the Reverse branch order pipe area

descriptor key: (*F*)[RBOPR]

Formal definition:

5.1.4. Estimated sap wood

Based on the number of supported tips and the average cross section area of a tip a pipe model can be applied to estimate the sap wood of a shoot (Hackenberg et al.).

5.1.4.1. Estimated sap wood area

Following the idea of a pipe model the cross section area of sap wood of a branch is the sum of the cross section area of the supported tips, to simplify the approach at this place, the average cross section area of the tips is used.

descriptor key: (*F*)[SAPWOOD_AREA]

Formal definition:

SAPWOOD_AREA(s1) = SUPPORTED_TIPS(s1) * average_tip_area

5.1.4.2. Estimated sap wood radius

The radius based on the estimated sap wood area

descriptor key: (*F*)[SAPWOOD_RADIUS]

Formal definition:

5.1.4.3. Estimated sap wood volume

The volume based on the estimated sap wood area

descriptor key: (*F*)[SAPWOOD_VOLUME]

Formal definition:

SAPWOOD_VOLUME(s1) = SAPWOOD_AREA(s1) * length(s1)