logical (nature like) filter function for the QSM

Added by Georgi Louis over 5 years ago

Salut CT-comunity,

is there already a “logical” filter for QSMs?
Several times I noticed a cylinder with an unrealistic huge radius following one with a much smaller radius in a stem/branch of the QSM.
e.g.: There is no branch wit a radius of 0.36 m attached to a branch with 0.09 m radius in nature.

Or is anybody allready working on an sulution?

Best regards


Replies (1)

RE: logical (nature like) filter function for the QSM - Added by Hackenberg Jan over 5 years ago

Hi Louis

There are some of such filters already. They are described in my SimpleTree paper. For example I check that the radii between two brach junctions do not vary enough from their median radius. That predicate gets already rid of a lot of wrong cylinders, but the median check fails if there is more than 50% error between two branch junctions. I have some other more complicated and less complicated ones. I descibre already the majority of thosein my last publication. No trial developed from me gets rid of every error. But in case you have good plots (non-leave in winter, non coniferous) the errors should be ignoreable. In case you have leaves, you should anyway not rely on the total volume at all. From my opinion and the one of my ecological tree modeller collagues as well (I am “only” an informatician) you should only focus on stem tapers. I show in my tutorials on my old homepage how to extract for example the Stem in R.

You should remove in R all cylinders which are tagged with “Attractor”. Remove the ones tagged with “Taper” as well. The rest should be close enough to be considered “true” values. You can simply build from this a taper function of the form you prefer (your own “ecological” choice). As soon as you have your taper model paramters you can estimate the stem volume. If you have externally also the species, you can multiply with a literature Biomass expansion factor if you need total volume/biomass.

You can also save segmented clouds in case of leaves. Then you denoise them manually one by one. I have a filter implemented from Belton et al (you find this in the step dialog the full paper) and based on that my own filter operating in another feature space. I did not publish mine and it has lower priority for publication. But you can use (and in case of mad reviewer you can argue that it is reproducable for everyone because the software is free). You need to have my latest release for that filter to work properly.

Both approaches + my already implemented little checks should prevent the occurence of errors. Well in the taper approach you need to get rid of error sources by yourself statistically, in the denoising one you spent manual work and a lot of computation time (both filters are compuational heavy).

If you want to go deeper , you find in J.F. Cote et al 2012 a pipe model theory approach from which you can extrapolate one diameter (the DBH) to a whole skeleton of a tree (in that case my cylinders without the radii). You could theoretically extrapolate one or more “super save” diameters over my trees and compare the extrapolated radius vs the SimpleTree one. That approach yet needs a tree or species specific parameter. This is not existing in literature, so it does not work. You can try to estimte the paramter from stem and lower branch order and use it for higher branch order. Good luck if you manage to do so...

AMAPStudio is another OS tool from a tree architecture modelling group. You should have a look at this one, you can import my SimpleTree output and further modify or analyse it. There you might find people already working on a solution...

So to find a solution is on you from here. I have to write now and do not develop any more. I fix bugs if occur and will try to improve the stability of the plugin. Nothing more inside my remaining project time.