Hello,
If you are using lascanopy to compute a 50% percentile surface of *all* LiDAR points (possibly unnormalized) you should make sure to
(a) set the -height_cutoff -500 to be well below all LiDAR points. even for normalized LiDAR I would set it to -2 or so as the ground TIN may cover some bumps in the ground and the points in the bump have small negative elevations after normalization.
(b) use a sufficiently large '-step 5' or '-step 10' as percentiles are a statistical measure that makes only sense if there are sufficiently many points (over 50, over 100 ?!?) used in the computation
(c) use BIL instead of XYZ as the raster output format for efficiency.
Below first a simple, then a more involved example using two different 50th percentile surface of the "classified" LiDAR data set from the Pentagon that you can download from our "LiDAR leaks" page here.
================================
50th percentile surface at different densities
================================
lascanopy -i pentagon.laz ^
-step 10 ^
-height_cutoff -500 ^
-p 50 -all ^
-o pentagon_10m.bil
lascanopy -i pentagon.laz ^
-step 5 ^
-height_cutoff -500 ^
-p 50 -all ^
-o pentagon_05m.bil
lascanopy -i pentagon.laz ^
-step 2 ^
-height_cutoff -500 ^
-p 50 -all ^
-o pentagon_02m.bil
lascanopy -i pentagon.laz ^
-step 1 ^
-height_cutoff -500 ^
-p 50 -all ^
-o pentagon_01m.bil
lascanopy -i pentagon.laz ^
-step 5 ^
-grid_ll 0 0 ^
-height_cutoff -500 ^
-p 50 ^