Many questions about the usage of CompuTree
we started use CompuTree (specifically SimpleTree) some weeks ago. We find SimpleTree a very powerful tools in our domain, which is forestry. The usage of SimpleTree lead to many questions and so we are here with a list of queries.
1. In your tutorial number 0, about the step Points/Filter/Euclidean clustering denoising (made to clean little cluster in the upper part of the tree crown), you say that we have having in mind the number of trees that there is in the area and then multiply per 20. Is there a reason for that? Moreover, how to choose the clustering distance? It should be in the order of 5 cm or 50 cm? And what about the minimum number of points a cluster should contain?
2. About the step Points/Extract/Extracts the major branch points you suggest to read the article of Belton et al. (2013) “Processing tree point clouds using Gaussian mixture models”. Please, bear in mind that I’m not a statistician, but it’s difficult for me to match the theoretical issues explain in the article, with the parameters I have to set up in SimpleTree step. In fact E1, E2 and E3 should be the eigenvalues (which “represent the distribution of the points in the local neighbourhood, and the variance in the direction of the associated eigenvectors”), but first of all we have to set the minimum and maximum values of E1, E2, E3, not just single values. If we understood well, planar smooth surface (=tree trunk) should have low values of E3-E2 (this means E3 minus E2), than linearly distributed surface (=branches) should have high values of E3-E2 and low values of E2-E1, and curved or randomly distributed surface (=neighbourhood containing leaves) should have E3- low E2 and low E2-E1. But how traducing this in practical input? Moreover, how can I in one step set the parameters for trunk and branches? In addition, which is the range of values of E1, E2 and E3?
3. The results from the application of Quantitative Structure Models (QSM) sperefollowing method advanced for plot and QSM with the allometric correction are very different in term of volume estimation. Which kind of correction is applied? In your article “SimpleTree – An Efficient Open source Tool to build Tree Models from TLS Clouds” you explain that you are using the a,b,fac,minRad parameters. We understood that these are parameters you calculate on yours Prunus avium trees datataset using the data output from QSM in SimpleTree. But in case of other species? We have not the possibility to set up this parameters with other species values. In addition, we should calculate this values in a statistical SW and then input these values in QSM step?
4. In the result list file (.csv), which is the meaning of DBH_taper_linear (cm)? And the meaning of cut_height (cm)?
5. In the detailed result list file (.csv), the growth_volume (in m^3) is a cumulative value, is it right? The same is for the growth_length, is it right? What does the StartX and StartY coordinates represents? The center of the lower section of a cylinder? If this is right, for the trunk I should have a quite regular behavior, but plotting the value of these coordinates just for the branch_order 0 it seems that the trunk is forked. What does the parameters length_to_leave represent?
Thank you in advance for your reply.
thanks for the interest in my software and welcome to the forum. Please make sure that you watched the up to date tutorials. I had to change the youtube channel and I fear a lot of users are watching pretty much outdated videos. Here is the right one:
1) You do not need to know exactly the number of trees, just a guess. If you cluster a cloud you will get back clusters sorted by size from largest to smallest. Now here when I talk about size I mean number of points. In a single scan design you will have varying point cloud density. This means 1 meter stem will have a lot more points in the center than 1 meter stem in the outer perimeter. To not loose outer clusters which still contain the tree parts we are interested in we have to also acount to clusters which can contain a low number of points. If we focus on 20x tree numbers largest clusters I consider it quite save to not loose an outer cluster because it contains too less points. Clustering distance is good to keep 5 cm if it works, in high occlusion low scan quality scnerario you might have to increase to 10. Minium 20 points should also be robust for a minimum point number size to also lower quality scans. I cannot image a stem slice has less in a TLS scenario. You can adapt all this parameters to your research design, but you need to evolve a feeling for this.
2) Yes it is quite technical but has been for me a pleasure to read... The Belton et al. To simplyfy a lot: a linear object like a twig has only variance in one spatial direction. A perfect mathematical line will result in E1 = 1, E2 = 0, E3 = 0. If you want to remove twigs (really linear biomass parts) you can set the max for E1 to 0.8. A mathematical plane has same variance in two directions, e.g. E1 = 0.5, E2 = 0.5, E3 = 0. As you are interested in planar surfaces you do not have to remove points with eigenvalues like this. Coming to noise. Noise is chaotic (also for example needle noise) Neighboring points are expected to ahve the same variance in all dimension (E1 = 0..33, E2 = 0.33, E3 = 0.33) All true wood hits should be less chaotic. To kick out these chaotic noise points you need to set a max value for E3. So If you kick out all points with E3 > 0.15 or 0.2, you kick out presumingly noise. I tended to leave every E1 min0 max 1, the same for E2 (I do not filter by E1 and E2) and just set max for E3 like described.
3) Yes in my old standalone software you needed to do the non linear fit in R. The step you describe does now the statistical model fitting itself (on the tree indiviudal, not the species). No more interaction with R, no parameters needed. Works less good for really small trees. I recommend the allometric correction if you are intereseted in total biomass. If you just want to build stem tamper, it should more or less make no difference if you apply the improvement or not. My knowledge (also based from Pasis (Raumomen et. al) later publications is that there is unavoidable overestimation of twigs and the allometric corrrection is a good tool to minimize the error. If you prefer to develop your own statistical correction tool within a phd (maybe based on Pipetheory) I appreciate it and it might be better in the end. My ecological knowledge is pretty limited. I will invest more time myself into pype, but for now I have to write manuscripts myself.
4) cut_height is the height above ground for the start point of the root cylinder above the DTM. You need it to convert z-values from the cylinders (this is the scanner coordinate system still) into real world height values. To find the DBH cylinder for example you need
a) the z value of the rooty cylidner’s start point “spz”. Height of 1.3 to the cylinders z-coordinates is spz - cut_height + 1.3. You need to look for the stem cylinder which has a start point below this z-coordinate and an end point above.
I recommend cuting out 0.5 meter above ground (at least if you want to go full automatic - you can always adapt if you have only few plots and can afford investing time into parameter tuning by analysing visual results). So you should always have a DBH cylinder. But only should. In case you loose a lower stem part due to clustering (see my comments on 1) on how to prevent) you might have a tree cloud which lowest point is for example at 2 meter above ground. You cannot fit a DBH cylinder, so no DBH here. My program though builds a linear stem taper and grabs the value at 1.3 meter from the taper function. You should only use this if you have no real cylinder fit (empty DBH value + cut height larger 1.3) and if you do not know how to build a better (non linear) taper in R.
5) I need to write a short PDF on those output parameters. Both are cumulative and the growth volume is defined in my SimpleTree paper. Growth Length is the pendant (lenght instead of volume). Start x and y (and z) are the coordinates of the start point of a cylinder. Yes for a straight (for example conifer) tree you should have more or less same x and y. If this is not the case there is two options:
a) either you reached the crown and the stem (which goes to the tip, not only up to 7 cm) is following now a branch.
b) you have modelled a tree with a really bad point cover and a lot of noise and my modelling fails completely.
Visualization fo results lets you decide if a) or b) is happening. Cant say more without seeing the r-plot or a screen of the cylidner model. In the output folder “ply” you find good representation named “color”. Here the stem is brown, the branches green.