Lascanopy: feature request

776 views
Skip to first unread message

Floris Groesz

unread,
Oct 29, 2013, 11:05:26 AM10/29/13
to last...@googlegroups.com
Hi Martin,

It would be nice to have the possibility to extract some extra features by using lascanopy.
In addition to the height percentiles I am looking for so-called "deciles". I am not sure if there is an official definition of this but we define them as follows:
for each grid cell the max height is calculated (percentile 100) and a cut-off height is chosen (usually between 0.5 and 2 meters).
The "deciles" are cumulative distributions between the max height and the cut-off height; let's call this height difference HEIGHT. D9 is the % of points that are between 90% of the HEIGHT and 100% of the HEIGHT. The % is calculated by the number of point in the height-interval divided by the total number of points (including the points below the cut-off height). D8 is the % of points between 80% of the HEIGHT and 100% of the HEIGHT. and so on.
Typical use of deciles is for estimating forest parameters (standing volume, biomass).
There is a way to create deciles in lastools but it requires the combination of several tools and outputs and this is not so efficient on large datasets. LAStools is so fast and elegantly made and it would be perfect to include these features too. :)

cheers,
Floris




Rombouts, Jan (FSA)

unread,
Oct 29, 2013, 11:18:58 PM10/29/13
to last...@googlegroups.com

Hi Martin,

 

I second Floris’ request (even if I would define D9 as percentage of points between 0 and 90% of max height). Also, some folk prefer to define these density parameters in absolute terms. For example Da30 would be the percentage of returns between 0 and 30 m. Both options please.

 

Other frequently encountered parameters: skew and kurtosis.

 

And the same set of parameters for intensity…

 

And while we are at it: can we output all these variables to a single ASC/csv file, together with the X,Y coordinates of the grid cell centroid? A file like that is really handy in the model application stage, when volume, biomass, BA are predicted based on LiDAR input variables.

 

Before I forget: to calculate the parameters for a list of rectangular/circular plots in a shape file as Hao was asking yesterday?  

 

:)

 

Jan

Antonio Ruiz

unread,
Oct 30, 2013, 2:59:24 AM10/30/13
to last...@googlegroups.com
I think that "deciles" is a wrong name for that because it has no relation with percentiles. In fact, it is a histogram computed with 10 bins. It doesn't matter if the height is relative or absolute because you can change from one to the other anytime whenever you have the maximum height. I also work with the histogram and I compute it with 256 bins. By the way, have you been successful using this histogram to distinguish between the crowns of the trees and the undercanopy? 

Regards,

Toni


2013/10/29 Floris Groesz <fgr...@gmail.com>

Floris Groesz

unread,
Oct 30, 2013, 5:01:14 AM10/30/13
to last...@googlegroups.com
Hi Toni,

The practical thing with using relative heights is that it is easy to have 1 cut-off height (above ground).
I agree the name "decile" is confusing in this case. Let's call them bins from now on :)
Regarding treecrowns and understory: we use methods for modelling the diameter distribution of the trees and there are many articles on that. the height percentiles and bins are essential for this.
However the quality of the result will depend a lot on the types of forest you are analyzing. We work mainly on boreal forests.

Floris

Jonathan Dash

unread,
Nov 4, 2013, 11:34:00 PM11/4/13
to last...@googlegroups.com

Hi Martin

 

I would like to support Floris and Jan’s request for the additions to Lascanopy.

 

The additional functionality described by Jan would be extremely useful for us and would lock in LAStools as the default LiDAR processing software for forestry applications in our organisation.

 

Thanks

Jonathan

 





This e-mail and any attachments may contain information which is confidential or subject to copyright. If you receive this e-mail in error, please delete it.
Scion does not accept responsibility for anything in this e-mail which is not provided in the course of Scion’s usual business or for any computer virus, data corruption, interference or delay arising from this e-mail.

Dwight Crouse

unread,
Nov 4, 2013, 11:36:47 PM11/4/13
to LAStools - efficient tools for LIDAR processing
Hi Martin,

I concur with the others, it certainly would be useful and would advance the LAStools product.

Dwight

  
DWIGHT CROUSE  |  Analysis Manager  |  Cochrane, AB, Canada
T: 403.241.9020  |  C: 403.836.9429  |  TFN: 1.866.698.8789 ext. 4

          
This email communication and any files transmitted with it may contain confidential and or proprietary information and is provided for the use of the intended recipient only. Any review, retransmission or dissemination of this information by anyone other than the intended recipient is prohibited. If you receive this email in error, please contact the sender and delete this communication and any copies immediately. Thank you.

Hans Ole Ørka

unread,
Nov 6, 2013, 3:53:11 AM11/6/13
to last...@googlegroups.com

Floris,

Just some comments on the naming used:

 

Percentiles and deciles are both quantiles, as is also the quartiles i.e quartile 1 = 25 percentile, quartile 2 = 50 percentile and quartile 3 = 75 percentile.

Thus: Percentile 10 = decile 1 and percentile 50 = decile 5 = quartile 2 = median.

 

I think the metrics you describe -  “the bins” usually are referred to as “Canopy density”. I also  know that “Canopy Layer  density” has been used if the bins have equal width. The metrics you describe has unequal bins. I also think it is quite normal to use the 95 percentile as the upper limit for the bins.

 

Hans Ole Ørka

www.forestinventory.no

 

 

 

--

Van Kane

unread,
Nov 6, 2013, 4:45:16 AM11/6/13
to last...@googlegroups.com
I'm curious as to whether you are asking for bins moderated by height over the entire area or by height within each grid cell.  The former would have a stable ecological interpretation within an area while the latter could have bins changing drastically in height breaks from grid cell to grid cell.


---------------

Van R. Kane

Floris Groesz

unread,
Nov 6, 2013, 5:21:34 AM11/6/13
to last...@googlegroups.com
@ Hans Ole: thanks for your clarification. I am aware of the meaning and use of the statistical terms. It's just that the term "deciles" have been used wrongly and I kept doing the same. I will promise not to do it again :)

about the bins. I would rather call them bins. They might describe canopy, they might describe powerlines, buildings or small rocks.

@ Van: I am asking for unequal bins: bins that are moderated depending on the max (or 95percentile height) of a gridcell. The equal bins can easily be made with the current version of LAStools. Regarding the consequences for interpretation: I would rather say that that the unequal bins give a more stable description of the density of a canopy, independent on the height of the canopy.

@everybody: nice to see that this brings up some discussions!

cheers,
Floris

Andy Hudak

unread,
Nov 6, 2013, 8:30:58 AM11/6/13
to last...@googlegroups.com, rombou...@forestrysa.com.au
I'd like to add that the lascanopy tool already includes skewness and kurtosis, and the canopy density metrics separated by absolute height thresholds, so you may just to install the most recent version.

I would also second Van Kane's comment. Canopy density metrics based on variable height thresholds (e.g., deciles) sound like a good thing but I'm not sure they would provide any more useful information not already provided by the density metrics user-defined with absolute height breaks and distributional height percentiles themselves.

Cheers,
Andy Hudak 

Martin Isenburg

unread,
Dec 4, 2013, 11:38:31 PM12/4/13
to last...@googlegroups.com
Hello,

todays release of LAStools (version 131205) features some (undocumented) improvements to lascanopy.exe that implement the "deciles" or the "bins" that you have been requesting. It also features the option to run the metrics across the entire file ('-files_are_plots') as well as providing a list of circular ('-loc circles.txt') or rectangular ('-lor rectangles.txt') plots that are processed one after the other. For those the output is currently only into the commandline until the funcitonality is finalized. In the lack of a better name the "deciles" or "bins" are currently called "bincentiles" and used like "percentiles" via, for example, a '-b 50 80 90' command line switch. There is also the option to use a certain height percentile instead of the maximum height as the "upper" limit for the bins. The lower limit is the height cutoff (aka breast height).

Here are example command lines for you to try:

lascanopy -i normalized.laz -b 50 90 -b_upper 99

lascanopy -i plots/*.laz -files_are_plots -max -p 50 95 -cov -kur

lascanopy -i normalized_forest\*.laz -merged ^
                  -loc circular_plots.txt ^
                  -max -p 50 95 -cov -kur -b 75 -dns

A sample "circlular plots" file is attached and here you see an example run on normalized (non-forestry) data from near the airport of Fiji:

D:\lastools\bin>lascanopy -i e:\fiji\*.laz -loc e:\fiji\plots.txt -max -p 50 95 -b 50 80 -b_upper 99
max p50 p95 b80 b50
13.96 12.47 13.45 20.3 1.8
max p50 p95 b80 b50
0.00 0.00 0.00 0.0 0.0
max p50 p95 b80 b50
11.92 8.14 11.03 75.5 33.3
max p50 p95 b80 b50
4.75 1.75 2.98 97.0 88.2
max p50 p95 b80 b50
6.11 3.36 3.67 97.2 80.2
max p50 p95 b80 b50
2.76 1.85 2.6 86.7 60.0
max p50 p95 b80 b50
3.4 2.22 3.14 90.1 59.3
max p50 p95 b80 b50
7.25 3.79 6.76 87.0 86.5
max p50 p95 b80 b50
3.14 2.08 2.75 90.5 55.2
max p50 p95 b80 b50
1.99 1.55 1.83 90.9 68.2
max p50 p95 b80 b50
7.48 2.82 7.21 83.4 60.5
max p50 p95 b80 b50
8.44 7.52 8.22 43.4 42.0
max p50 p95 b80 b50
16.82 11.86 15.18 76.8 11.3
max p50 p95 b80 b50
2.47 1.68 2.26 92.8 75.4
max p50 p95 b80 b50
4.9 2.76 4.68 70.6 55.0
max p50 p95 b80 b50
0.00 0.00 0.00 0.0 0.0
max p50 p95 b80 b50
1.84 1.62 1.82 66.7 33.3

Please let me know how the new functionality works for you.

Martin @rapidlasso

PS: if you dislike the name "bincentiles" then please suggest something better but "b" was still available as a command line switch ... (-:

--
http://rapidlasso.com - fast metrics for forests of LiDAR
plots.txt

sh...@shaunlevick.com

unread,
Apr 10, 2014, 6:36:30 AM4/10/14
to last...@googlegroups.com
This is great Martin

Everything runs smoothly for me when I use the -files_are_plots option, my only additional feature request would be to add the filename (plot id) to the printout of results.

I am having trouble using the -loc option with a text file of plot centre locations.

When I input:

H:\lastools\bin>lascanopy -i I:\Germany\Hainich\SummerLAS\SummerNorm\*.laz -loc J:\Hainich_EDS\plot_center.txt -max -avg -cov -b 50 60 70 80 90

I get back:

center_x center_y radius max avg b90 b80 b70 b60 b50 cov

4381500.00 5674305.00 13 14.627 7.32 98.8 90.7 80.6 71.6 62.4 0.833

ie - it only returns results for the first point in my list, and does not process the entire list. I formatted my text file as per your previous example - x,y,radius,plot 

Cheers,

Shaun

Martin Isenburg

unread,
Apr 15, 2014, 1:36:36 PM4/15/14
to last...@googlegroups.com
Hello,

the bug that Shaun has reported has been fixed in today's (140415) release. In addition to that lascanopy has a few new options that are still in beta:

(1) quadratic average of heights ('-qav')

(2) new intensity metrics (computed from points above the height cut-off):
  - minimum and maximum ('-int_min' and '-int_max')
  - average and standard deviation ('-int_avg' and '-int_std')
  - quadratic average ('-int_qav')
  - skewness and kurtosis ('-int_ske' and '-int_kur')
  - percentiles ('-int_p 5 25 50 75 95')
  - counts ('-int_c 0 64 128 256 1024')
  - densities ('-int_d 100 200 300 400')

(3) the option to operate on *polygonal* inputs via SHP or TXT files (very beta)
  -lop plots.shp

here a 'fake' example using 'fusa.laz' that produces and uses the 'fake' plots shown in the attached image for the metric calculations

::  normalize the fusa file
lasheight -i fusa.laz ^
                -replace_z ^
                -odix _normalized -olaz

:: create 14 'fake' polygonal plots (using the buildings)
lasboundary.exe -i fusa_normalized.laz ^
                             -keep_class 6 ^
                             -disjoint -concavity 4 ^
                             -oshp

:: compute metrics for each of the 14 'fake' polygonal plots
lascanopy.exe -i fusa_normalized.laz ^
                         -lop fusa_normalized.shp ^
                         -int_p 5 50 95 ^
                         -all -int_min -int_max -int_avg ^
                         -int_p 50 95 -int_c 20 50 100 200
min_x min_y min_x min_y all int_min int_max int_avg int_p05 int_p50 int_p50 int_p95 int_p95 int_c0 int_c1 int_c2
 277973.35 6122424.03  277999.97 6122457.71 1767 10 588 94 24 85 85 183 183 289 689 538
 277970.95 6122412.43  277988.76 6122430.47 921 10 116 71 19 76 76 96 96 72 721 23
 277954.70 6122458.32  277975.30 6122475.75 1031 10 309 42 17 24 24 178 178 661 14 93
 277949.87 6122413.05  277966.81 6122429.92 983 12 79 33 21 33 33 44 44 869 26 0
 277958.12 6122492.38  277971.03 6122499.96 370 11 39 19 14 19 19 25 25 176 0 0
 277957.38 6122478.77  277963.33 6122487.30 215 12 178 108 29 115 115 154 154 18 29 156
 277951.60 6122438.19  277963.17 6122454.40 556 10 178 36 15 24 24 132 132 371 13 59
 277913.05 6122455.48  277950.49 6122499.98 4639 10 262 90 41 87 87 133 133 231 2057 1739
 277901.10 6122410.41  277943.16 6122427.22 2565 10 146 62 27 66 66 85 85 409 1753 14
 277906.53 6122438.51  277918.60 6122456.49 708 10 109 71 44 72 72 89 89 26 621 5
 277846.61 6122490.56  277860.92 6122499.98 449 12 81 37 29 37 37 52 52 390 29 0
 277766.97 6122434.48  277851.98 6122499.98 15984 10 425 45 11 27 27 124 124 4951 1635 2056
 277765.40 6122298.69  277859.26 6122350.27 15957 10 983 65 36 63 63 102 102 3879 10487 905
 277789.16 6122399.04  277829.69 6122424.72 2884 10 32767 209 36 85 85 155 155 973 399 1318

Please give me feedback on bugs or suggest improvement. Yes, I see one bug already. Some intensity percentiles get reported twice. This is already fixed (in the next release) (-:

The addition of these new features is (in part) being sponsored by the project "Forest and Wood Products Australia" ...

Martin @rapidlasso

--
http://rapidlasso.com - fast tools to measure your veggies

lascanopy_fake_plots.png

Steven F

unread,
May 28, 2014, 6:27:25 PM5/28/14
to last...@googlegroups.com
Hi Martin,
I just used the new lascanopy switch -lop which is really convenient. I'd like to suggest adding the polygon FID as the first field in the output when using this option with shapefiles. 

I'd also like to put in a request for yet another metric, "Cumulative canopy height", which is the mean height of the highest i-th percent of vegetation returns. It's described in the following paper:

Wan S

unread,
Jun 23, 2015, 12:21:21 PM6/23/15
to last...@googlegroups.com
Hi,

Previous studies revealed that the centroid height is an appropriate height parameter of the lidar point cloud to estimate AGB in tropical forest. Right now, i have computed lidar metrics for each of individual tree (my study approach is on individual tree). So the metrics consist of:
*TotalReturns
 UTM Easting coordinate of the tree top (Etop)
 UTM Northing coordinate of the tree top (Ntop)
 Minimum UTM Easting coordinate (Emin)
 Minimum UTM Northing coordinate (Nmin)
 Maximum UTM Easting coordinate (Emax)
Maxmium UTM Northing coordinate (Nmax)
Tree crown width 01 (Ewidth)
Tree crown width 02 (Nwidth)
Maximum Height (hmax)
Mean height (hmean)
Standard deviation of height (hsd)
Coefficient of variation of height (hcv)
Mode of height (hmod)
5th percentile of height (h5); # 10th percentile of height (h10); # 20th percentile of height (h20); # 25th percentile of height (h25); # 30th percentile of height (h30); # 40th percentile of height (h40); # 50th percentile of height (h50); # 60th percentile of height (h60); # 70th percentile of height (h70); # 75th percentile of height (h75); # 80th percentile of height (h80); # 90th percentile of height (h90); # 95th percentile of height (h95); # 99th percentile of height (h99);

No intensity value because the original data comes with no intensity value.

So my question is, how to calculate the centroid height? Can it be extracted from one of the above metrics??

Best wishes
Wan
Reply all
Reply to author
Forward
0 new messages