I'm trying to implement a variable crown radius search using li2012 for segmentation of the point cloud in lidR. I've been following the steps in The lidR package and in section 7.2.3 would like to implement a variable crown search radius such as the one described in section 7.1.2.

However, the function li2012(), only takes a numeric value, this is the description: numeric. Threshold number 1. See reference page 79 in Li et al. (2012). Default is 1.5.

Is there an option to do this already? Have I missed where this is described?

1 Answer 1


In li et al 2012 the algorithm searches the local maxima using a fixed radius search. This is the parameter R in lidR. The function is a strict implementation of the original paper, so the answer is no, it is not possible.

  • Okay so even though it says in the paper on p79 'To solve the problem, an adaptive threshold can be used, assuming that taller trees have larger crown diameters (Popescu and Wynne, 2004; Chen et al., 2006).'...the way it is implemented, it is not possible to write my own function for it and substitute it in for dt1? Is that correct?
    – Walshe_d
    Feb 9 at 20:13
  • 1
    No, it is not implemented that way. But it could be possible to it, modifying a slightly the code.
    – JRR
    Feb 10 at 1:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.