Runs all Real Twig steps
Usage
run_rtwig(
file,
twig_radius,
backend = "multisession",
metrics = TRUE,
version = NULL,
smooth = TRUE,
standardize = FALSE
)
Arguments
- file
file path to QSM (.mat, .csv, .json)
- twig_radius
Twig radius in millimeters
- backend
Parallel backend for multi-core processing. Defaults to "multisession" (all platforms), but can be set to "multicore" (MacOS & Linux), "cluster" (all platforms), or a "package::backend" string.
- metrics
Calculate tree metrics? Defaults to TRUE.
- version
Defaults to NULL. If using a specific version of TreeQSM, the user can specify the version (e.g. 2.4.1, 2.0, etc.).
- smooth
Defaults to TRUE, if using TreeQSM. Can be set to FALSE.
- standardize
Standardize QSM cylinder data? Defaults to FALSE. Can be set to TRUE.
Examples
# \donttest{
## TreeQSM
file <- system.file("extdata/QSM.mat", package = "rTwig")
qsm <- run_rtwig(file, twig_radius = 4.23)
#> Importing TreeQSM .mat
#> Updating Cylinder Ordering
#> Calculating Total Children
#> Building Cylinder Network
#> Verifying Topology
#> Calculating Growth Length
#> Calculating Reverse Branch Order
#> Calculating Branch Segments
#> Calculating Alternate Branch Numbers
#> Calculating Distance From Base
#> Calculating Average Distance To Twigs
#> Smoothing QSM
#> Generating Branch Paths
#> Starting Parallel Workers
#> Correcting Branch Paths
#> Updating Cylinder Radii
#> Done!
#> Calculating Branch Metrics
#> Calculating Segment Metrics
#> Calculating Tree Metrics
#> Generating Point Cloud
#> Calculating Crown Metrics
#> Calculating Tree Distributions
#> Calculating Branch Distributions
#> Calculating Segment Distributions
#> Calculating Stem Taper
#> Calculating Spreads
#> Calculating Alternate Branch Metrics
str(qsm$cylinder)
#> Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 1136 obs. of 29 variables:
#> $ radius : num 0.0465 0.0454 0.0442 0.0437 0.0429 ...
#> $ length : num 0.09392 0.07216 0.06654 0.00938 0.06795 ...
#> $ start.x : num 0.768 0.769 0.768 0.769 0.769 ...
#> $ start.y : num -16.4 -16.4 -16.4 -16.3 -16.3 ...
#> $ start.z : num 254 254 254 254 254 ...
#> $ axis.x : num 0.009949 -0.022059 0.016224 -0.000391 0.012068 ...
#> $ axis.y : num 0.091165 0.019722 0.034392 -0.000295 0.023483 ...
#> $ axis.z : num 0.996 1 0.999 1 1 ...
#> $ end.x : num 0.769 0.768 0.769 0.769 0.77 ...
#> $ end.y : num -16.4 -16.4 -16.3 -16.3 -16.3 ...
#> $ end.z : num 254 254 254 254 254 ...
#> $ added : num 0 0 0 0 0 0 0 0 0 0 ...
#> $ BranchOrder : int 0 0 0 0 0 0 0 0 0 0 ...
#> $ reverseBranchOrder: num 20 20 20 20 20 20 20 20 20 20 ...
#> $ PositionInBranch : int 1 2 3 4 5 6 7 8 9 10 ...
#> $ segment : int 1 1 1 1 1 1 1 1 1 1 ...
#> $ parentSegment : int 0 0 0 0 0 0 0 0 0 0 ...
#> $ mad : num 0.00072 0.000538 0.000523 0.000335 0.000438 ...
#> $ SurfCov : num 0.875 1 1 1 1 1 1 1 1 1 ...
#> $ UnmodRadius : num 0.0465 0.0454 0.0442 0.0437 0.0429 ...
#> $ OldRadius : num 0.0465 0.0454 0.0442 0.0437 0.0429 ...
#> $ growthLength : num 32.8 32.7 32.6 32.6 32.6 ...
#> $ branch : int 1 1 1 1 1 1 1 1 1 1 ...
#> $ branch_alt : int 0 0 0 0 0 0 0 0 0 0 ...
#> $ parent : num 0 1 2 3 4 5 6 7 8 9 ...
#> $ extension : int 1 2 3 4 5 6 7 8 9 10 ...
#> $ totalChildren : int 1 1 1 1 1 1 1 1 1 1 ...
#> $ distanceFromBase : num 0.0939 0.1661 0.2326 0.242 0.31 ...
#> $ distanceToTwig : num 3.4 3.31 3.24 3.17 3.16 ...
#> - attr(*, ".internal.selfref")=<externalptr>
## SimpleForest
file <- system.file("extdata/QSM.csv", package = "rTwig")
qsm <- run_rtwig(file, twig_radius = 4.23)
#> Updating Branch Ordering
#> Calculating Total Children
#> Building Cylinder Network
#> Verifying Topology
#> Calculating Distance From Base
#> Calculating Average Distance To Twigs
#> Generating Branch Paths
#> Starting Parallel Workers
#> Correcting Branch Paths
#> Updating Cylinder Radii
#> Done!
#> Calculating Branch Metrics
#> Calculating Segment Metrics
#> Calculating Tree Metrics
#> Generating Point Cloud
#> Calculating Crown Metrics
#> Calculating Tree Distributions
#> Calculating Branch Distributions
#> Calculating Segment Distributions
#> Calculating Stem Taper
#> Calculating Spreads
#> Calculating Alternate Branch Metrics
str(qsm)
#> List of 2
#> $ cylinder:Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 1149 obs. of 26 variables:
#> ..$ ID : int [1:1149] 1 2 3 4 5 6 7 8 9 10 ...
#> ..$ parentID : num [1:1149] 0 1 2 3 4 5 6 7 8 9 ...
#> ..$ startX : num [1:1149] 0.761 0.759 0.771 0.768 0.765 ...
#> ..$ startY : num [1:1149] -16.4 -16.4 -16.4 -16.3 -16.4 ...
#> ..$ startZ : num [1:1149] 254 254 254 254 254 ...
#> ..$ endX : num [1:1149] 0.759 0.771 0.768 0.765 0.769 ...
#> ..$ endY : num [1:1149] -16.4 -16.4 -16.3 -16.4 -16.4 ...
#> ..$ endZ : num [1:1149] 254 254 254 254 254 ...
#> ..$ axisX : num [1:1149] -0.0286 0.2148 -0.0473 -0.0498 0.0678 ...
#> ..$ axisY : num [1:1149] -0.078889 0.163918 0.03933 -0.011114 -0.000265 ...
#> ..$ axisZ : num [1:1149] 0.996 0.963 0.998 0.999 0.998 ...
#> ..$ length : num [1:1149] 0.0497 0.0529 0.0535 0.0525 0.0528 ...
#> ..$ growthLength : num [1:1149] 31.4 31.4 31.3 31.3 31.2 ...
#> ..$ averagePointDistance: num [1:1149] 0.00589 0.00378 0.00205 0.00246 0.00251 ...
#> ..$ segmentID : num [1:1149] 1 1 1 1 1 1 1 1 1 1 ...
#> ..$ parentSegmentID : num [1:1149] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ branchOrder : int [1:1149] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ reverseBranchOrder : int [1:1149] 18 18 18 18 18 18 18 18 18 18 ...
#> ..$ UnmodRadius : num [1:1149] 0.0472 0.0479 0.0469 0.0467 0.0453 ...
#> ..$ branch_alt : num [1:1149] 0 0 0 0 0 0 0 0 0 0 ...
#> ..$ positionInBranch : int [1:1149] 1 2 3 4 5 6 7 8 9 10 ...
#> ..$ branchID : int [1:1149] 1 1 1 1 1 1 1 1 1 1 ...
#> ..$ totalChildren : int [1:1149] 1 1 1 1 1 1 1 1 1 1 ...
#> ..$ distanceFromBase : num [1:1149] 0.0497 0.1027 0.1562 0.2086 0.2614 ...
#> ..$ distanceToTwig : num [1:1149] 3.43 3.38 3.33 3.27 3.22 ...
#> ..$ radius : num [1:1149] 0.0472 0.047 0.0469 0.0467 0.0453 ...
#> ..- attr(*, ".internal.selfref")=<externalptr>
#> $ metrics :List of 24
#> ..$ branch :Classes ‘grouped_tt’, ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 65 obs. of 20 variables:
#> .. ..$ branch : int [1:65] 1 2 3 4 5 6 7 8 9 10 ...
#> .. ..$ parent_branch : int [1:65] 0 1 1 1 1 5 1 1 1 9 ...
#> .. ..$ branch_order : int [1:65] 0 1 1 1 1 2 1 1 1 2 ...
#> .. ..$ reverse_order : int [1:65] 18 1 1 1 2 1 1 1 4 1 ...
#> .. ..$ diameter_base_cm: num [1:65] 9.44 0.9 1.03 2.37 2.37 ...
#> .. ..$ diameter_mid_cm : num [1:65] 1.978 0.43 0.469 0.924 0.851 ...
#> .. ..$ diameter_tip_cm : num [1:65] 0.846 0.846 0.846 1.235 1.691 ...
#> .. ..$ volume_m3 : num [1:65] 1.20e-02 9.12e-06 1.91e-05 1.74e-04 1.42e-04 ...
#> .. ..$ area_m2 : num [1:65] 0.72188 0.00418 0.00808 0.03567 0.02961 ...
#> .. ..$ length_m : num [1:65] 4.321 0.153 0.274 0.615 0.501 ...
#> .. ..$ height_m : num [1:65] 0 3.23 3.19 3.17 3.16 ...
#> .. ..$ angle_deg : num [1:65] 0 46.5 61.5 81.8 86.6 ...
#> .. ..$ azimuth_deg : num [1:65] -109.9 126.8 165 -164.2 -30.7 ...
#> .. ..$ zenith_deg : num [1:65] 4.82 81.98 19.69 95.58 64.21 ...
#> .. ..$ growth_length : num [1:65] 31.4264 0.0939 0.2738 0.615 0.5729 ...
#> .. ..$ cylinders : int [1:65] 122 6 12 24 21 3 6 23 33 2 ...
#> .. ..$ segments : int [1:65] 18 2 1 1 2 1 1 1 4 1 ...
#> .. ..$ children : int [1:65] 139 4 11 23 21 2 5 22 35 1 ...
#> .. ..$ base_distance_m : num [1:65] 0.0497 4.2489 4.0634 3.7686 3.6042 ...
#> .. ..$ twig_distance_m : num [1:65] 3.4286 0.0939 0.2738 0.615 0.4527 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> .. ..- attr(*, "groups")= chr "branch"
#> ..$ segment :Classes ‘grouped_tt’, ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 133 obs. of 18 variables:
#> .. ..$ segment : num [1:133] 1 2 3 4 5 6 7 8 9 10 ...
#> .. ..$ parent_segment : num [1:133] 0 1 2 3 4 5 6 7 8 9 ...
#> .. ..$ branch_order : int [1:133] 0 0 0 0 0 0 0 0 0 0 ...
#> .. ..$ reverse_order : int [1:133] 18 17 16 15 14 13 12 11 10 9 ...
#> .. ..$ diameter_base_cm: num [1:133] 9.44 7.39 7.17 6.91 6.91 ...
#> .. ..$ diameter_mid_cm : num [1:133] 4.0815 3.5959 3.5827 0.0691 0.0691 ...
#> .. ..$ diameter_tip_cm : num [1:133] 7.59 7.18 7.16 6.91 6.91 ...
#> .. ..$ volume_m3 : num [1:133] 0.00743 0.001477 0.000356 0.000199 0.000204 ...
#> .. ..$ area_m2 : num [1:133] 0.3544 0.0817 0.0199 0.0115 0.0118 ...
#> .. ..$ length_m : num [1:133] 1.3525 0.3593 0.0884 0.0531 0.0543 ...
#> .. ..$ height_m : num [1:133] 0 1.34 1.7 1.78 1.83 ...
#> .. ..$ angle_deg : num [1:133] 0 34.8 17.1 31.9 44.9 ...
#> .. ..$ azimuth_deg : num [1:133] -109.9 161.6 52.8 -160 116 ...
#> .. ..$ zenith_deg : num [1:133] 4.82 19.44 11.09 10.02 45.04 ...
#> .. ..$ cylinders : int [1:133] 28 8 2 1 1 1 4 3 4 11 ...
#> .. ..$ children : int [1:133] 29 9 3 2 2 2 5 4 5 12 ...
#> .. ..$ base_distance_m : num [1:133] 0.0497 1.4079 1.7562 1.8534 1.9077 ...
#> .. ..$ twig_distance_m : num [1:133] 3.43 2.17 1.84 1.82 1.77 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> .. ..- attr(*, "groups")= chr "segment"
#> ..$ cloud : num [1:12262, 1:3] 0.787 0.796 0.803 0.807 0.807 ...
#> ..$ tree :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 1 obs. of 30 variables:
#> .. ..$ tree_volume_m3 : num 0.0218
#> .. ..$ stem_volume_m3 : num 0.012
#> .. ..$ branch_volume_m3 : num 0.00975
#> .. ..$ tree_height_m : num 3.67
#> .. ..$ tree_length_m : num 31.4
#> .. ..$ stem_length_m : num 4.32
#> .. ..$ branch_length_m : num 27.1
#> .. ..$ branches : int 65
#> .. ..$ branches_alt : int 19
#> .. ..$ max_branch_order : int 4
#> .. ..$ max_reverse_order : int 18
#> .. ..$ twigs : int 65
#> .. ..$ twig_length_m : num 15
#> .. ..$ tree_area_m2 : num 2.31
#> .. ..$ stem_area_m2 : num 0.722
#> .. ..$ branch_area_m2 : num 1.59
#> .. ..$ dbh_qsm_cm : num 7.39
#> .. ..$ dbh_raw_cm : num 7.39
#> .. ..$ crown_diameter_mean_m : num 1.52
#> .. ..$ crown_diameter_max_m : num 2.3
#> .. ..$ crown_diameter_min_m : num 0.905
#> .. ..$ crown_projected_area_m2: num 3.27
#> .. ..$ crown_base_height_m : num 2.27
#> .. ..$ crown_length_m : num 1.4
#> .. ..$ crown_ratio : num 0.381
#> .. ..$ crown_area_m2 : num 9.89
#> .. ..$ crown_volume_m3 : num 0.00233
#> .. ..$ start_x : num -0.0286
#> .. ..$ start_y : num -0.0789
#> .. ..$ start_z : num 0.996
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ tree_height_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 4 obs. of 4 variables:
#> .. ..$ height_class_m: int [1:4] 1 2 3 4
#> .. ..$ volume_m3 : num [1:4] 0.00583 0.00616 0.00725 0.00251
#> .. ..$ area_m2 : num [1:4] 0.271 0.493 1.008 0.542
#> .. ..$ length_m : num [1:4] 1 4.53 14.56 11.33
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ tree_diameter_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 10 obs. of 4 variables:
#> .. ..$ diameter_class_cm: num [1:10] 1 2 3 4 5 6 7 8 9 10
#> .. ..$ volume_m3 : num [1:10] 0.000461 0.001691 0.00263 0.004425 0.000752 ...
#> .. ..$ area_m2 : num [1:10] 0.2043 0.463 0.4336 0.4998 0.0731 ...
#> .. ..$ length_m : num [1:10] 7.217 10.498 5.754 4.515 0.566 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ tree_zenith_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 14 obs. of 4 variables:
#> .. ..$ zenith_class_deg: num [1:14] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:14] 0.00862 0.00327 0.00229 0.00131 0.00189 ...
#> .. ..$ area_m2 : num [1:14] 0.462 0.286 0.26 0.204 0.273 ...
#> .. ..$ length_m : num [1:14] 2.34 2.88 3.25 3.63 4.35 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ tree_azimuth_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 36 obs. of 4 variables:
#> .. ..$ azimuth_class_deg: num [1:36] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:36] 2.87e-04 5.77e-04 3.01e-04 2.20e-04 5.84e-05 ...
#> .. ..$ area_m2 : num [1:36] 0.0467 0.0499 0.0378 0.0362 0.0164 ...
#> .. ..$ length_m : num [1:36] 0.789 0.638 0.725 0.71 0.416 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_diameter_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 6 obs. of 5 variables:
#> .. ..$ diameter_class_cm: num [1:6] 1 2 3 4 5 6
#> .. ..$ volume_m3 : num [1:6] 0 0.000186 0.000378 0.000453 0.000743 ...
#> .. ..$ area_m2 : num [1:6] 0 0.0836 0.1472 0.1217 0.1567 ...
#> .. ..$ length_m : num [1:6] 0 3 4.63 2.72 2.76 ...
#> .. ..$ branches : int [1:6] 0 25 18 5 5 4
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_height_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 4 obs. of 5 variables:
#> .. ..$ height_class_m: num [1:4] 1 2 3 4
#> .. ..$ volume_m3 : num [1:4] 0 0.004522 0.004497 0.000734
#> .. ..$ area_m2 : num [1:4] 0 0.613 0.761 0.219
#> .. ..$ length_m : num [1:4] 0 8.36 12.96 5.78
#> .. ..$ branches : int [1:4] 0 13 29 22
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_angle_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 5 variables:
#> .. ..$ angle_class_deg: num [1:18] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:18] 0.00 0.00 2.61e-05 5.87e-04 3.61e-03 ...
#> .. ..$ area_m2 : num [1:18] 0 0 0.0101 0.1105 0.4659 ...
#> .. ..$ length_m : num [1:18] 0 0 0.317 2.059 6.412 ...
#> .. ..$ branches : int [1:18] 0 0 2 5 11 7 9 16 9 3 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_zenith_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 5 variables:
#> .. ..$ zenith_class_deg: num [1:18] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:18] 0 0.000105 0.00053 0.000105 0.002499 ...
#> .. ..$ area_m2 : num [1:18] 0 0.0378 0.0927 0.0358 0.2775 ...
#> .. ..$ length_m : num [1:18] 0 1.13 1.61 1.04 2.95 ...
#> .. ..$ branches : int [1:18] 0 4 4 6 2 6 10 8 4 8 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_azimuth_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 36 obs. of 5 variables:
#> .. ..$ azimuth_class_deg: num [1:36] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:36] 1.42e-05 1.74e-04 2.06e-05 2.82e-05 1.31e-05 ...
#> .. ..$ area_m2 : num [1:36] 0.00578 0.03567 0.00917 0.01129 0.00486 ...
#> .. ..$ length_m : num [1:36] 0.188 0.615 0.324 0.365 0.146 ...
#> .. ..$ branches : int [1:36] 1 1 3 2 1 0 2 2 0 0 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_order_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 4 obs. of 5 variables:
#> .. ..$ branch_order: int [1:4] 1 2 3 4
#> .. ..$ branches : int [1:4] 17 26 18 3
#> .. ..$ volume_m3 : num [1:4] 5.99e-03 3.24e-03 5.08e-04 1.55e-05
#> .. ..$ area_m2 : num [1:4] 0.85701 0.57187 0.15626 0.00695
#> .. ..$ length_m : num [1:4] 12.01 10.63 4.216 0.249
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_diameter_dist:Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 8 obs. of 5 variables:
#> .. ..$ diameter_class_cm: num [1:8] 1 2 3 4 5 6 7 8
#> .. ..$ volume_m3 : num [1:8] 0 0.000246 0.000582 0.000914 0.001156 ...
#> .. ..$ area_m2 : num [1:8] 0 0.11 0.215 0.24 0.233 ...
#> .. ..$ length_m : num [1:8] 0 3.96 6.48 5.21 3.89 ...
#> .. ..$ segments : int [1:8] 0 34 30 17 11 9 8 9
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_height_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 4 obs. of 5 variables:
#> .. ..$ height_class_m: num [1:4] 1 2 3 4
#> .. ..$ volume_m3 : num [1:4] 0 0.00581 0.00665 0.00186
#> .. ..$ area_m2 : num [1:4] 0 0.546 0.976 0.438
#> .. ..$ length_m : num [1:4] 0 5.62 14.76 9.7
#> .. ..$ segments : int [1:4] 0 26 60 46
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_angle_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 5 variables:
#> .. ..$ angle_class_deg: num [1:18] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:18] 0 0.000678 0.002517 0.002932 0.002966 ...
#> .. ..$ area_m2 : num [1:18] 0 0.0438 0.2548 0.2863 0.3763 ...
#> .. ..$ length_m : num [1:18] 0 0.23 2.45 3.62 5.28 ...
#> .. ..$ segments : int [1:18] 0 2 13 17 25 19 19 20 11 4 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_zenith_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 5 variables:
#> .. ..$ zenith_class_deg: num [1:18] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:18] 0.00104 0.00329 0.00115 0.00112 0.00174 ...
#> .. ..$ area_m2 : num [1:18] 0.084 0.268 0.152 0.165 0.17 ...
#> .. ..$ length_m : num [1:18] 0.551 2.568 2.263 2.827 1.459 ...
#> .. ..$ segments : int [1:18] 3 11 10 13 7 10 17 18 10 16 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_azimuth_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 36 obs. of 5 variables:
#> .. ..$ azimuth_class_deg: num [1:36] 10 20 30 40 50 60 70 80 90 100 ...
#> .. ..$ volume_m3 : num [1:36] 1.42e-05 1.74e-04 2.53e-04 8.08e-04 1.56e-04 ...
#> .. ..$ area_m2 : num [1:36] 0.00578 0.03567 0.03081 0.08626 0.04052 ...
#> .. ..$ length_m : num [1:36] 0.188 0.615 0.621 1.215 0.959 ...
#> .. ..$ segments : int [1:36] 1 1 5 5 4 1 3 2 0 1 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ segment_order_dist :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 5 variables:
#> .. ..$ reverse_order: int [1:18] 1 2 3 4 5 6 7 8 9 10 ...
#> .. ..$ segments : int [1:18] 69 18 10 8 5 4 3 3 2 2 ...
#> .. ..$ volume_m3 : num [1:18] 0.0019 0.00115 0.00119 0.00162 0.00102 ...
#> .. ..$ area_m2 : num [1:18] 0.567 0.236 0.206 0.205 0.13 ...
#> .. ..$ length_m : num [1:18] 15.01 4.21 2.98 2.15 1.35 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ stem_taper :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 123 obs. of 2 variables:
#> .. ..$ height_m : num [1:123] 0 0.0497 0.1027 0.1562 0.2086 ...
#> .. ..$ diameter_cm: num [1:123] 9.44 9.41 9.38 9.33 9.07 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ spreads :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 360 obs. of 3 variables:
#> .. ..$ azimuth_deg : num [1:360] 20 40 60 80 100 120 140 160 180 200 ...
#> .. ..$ height_class: int [1:360] 1 1 1 1 1 1 1 1 1 1 ...
#> .. ..$ spread_m : num [1:360] 0.1055 0.0986 0.1075 0.1075 0.1081 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ vertical_profile :Classes ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 20 obs. of 2 variables:
#> .. ..$ height_class: int [1:20] 1 2 3 4 5 6 7 8 9 10 ...
#> .. ..$ avg_spread_m: num [1:20] 0.1011 0.0952 0.0917 0.0856 0.0861 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> ..$ branch_alt :Classes ‘grouped_tt’, ‘tidytable’, ‘tbl’, ‘data.table’ and 'data.frame': 18 obs. of 17 variables:
#> .. ..$ branch_alt : num [1:18] 1 2 3 4 5 6 7 8 9 10 ...
#> .. ..$ parent_branch : int [1:18] 1 1 1 1 1 1 1 1 1 1 ...
#> .. ..$ branch_order : int [1:18] 1 1 1 1 1 1 1 1 1 1 ...
#> .. ..$ reverse_order : int [1:18] 1 1 1 1 2 1 1 4 1 6 ...
#> .. ..$ diameter_base_cm: num [1:18] 0.9 0.874 1.03 2.372 2.375 ...
#> .. ..$ volume_m3 : num [1:18] 5.65e-06 3.47e-06 1.91e-05 1.74e-04 1.46e-04 ...
#> .. ..$ area_m2 : num [1:18] 0.00258 0.0016 0.00808 0.03567 0.0317 ...
#> .. ..$ length_m : num [1:18] 0.0679 0.0439 0.2417 0.3504 0.3793 ...
#> .. ..$ height_m : num [1:18] 3.23 3.23 3.19 3.17 3.16 ...
#> .. ..$ angle_deg : num [1:18] 46.5 45.2 61.5 81.8 86.6 ...
#> .. ..$ azimuth_deg : num [1:18] 126.8 26.7 165 -164.2 -30.7 ...
#> .. ..$ zenith_deg : num [1:18] 82 32.7 19.7 95.6 64.2 ...
#> .. ..$ growth_length : num [1:18] 0.0939 0.059 0.2738 0.615 0.5729 ...
#> .. ..$ cylinders : int [1:18] 4 2 12 24 24 6 23 53 22 169 ...
#> .. ..$ segments : int [1:18] 1 1 1 1 3 1 1 7 1 17 ...
#> .. ..$ base_distance_m : num [1:18] 4.25 4.25 4.06 3.77 3.6 ...
#> .. ..$ twig_distance_m : num [1:18] 0.0939 0.059 0.2738 0.615 0.4527 ...
#> .. ..- attr(*, ".internal.selfref")=<externalptr>
#> .. ..- attr(*, "groups")= chr "branch_alt"
# }