Point clouds produced with dense-matching by photogrammetry software such as SURE, Pix4D, or Photoscan can include a fair amount of the kind of “low noise” as seen below. Low noise causes trouble when attempting to construct a Digital Terrain Model (DTM) from the points as common algorithm for classifying points into ground and non-ground points – such as lasground – tend to “latch onto” those low points, thereby producing a poor representation of the terrain. This blog post describes one possible LAStools workflow for eliminating excessive low noise. It was developed after a question in the LAStools user forum by LASmoons holder Muriel Lavy who was able to share her noisy data with us. See this, this, this, this, this, and this blog post for further reading on this topic.
Here you can download the dense matching point cloud that we are using in the following work flow:
We leave the usual inspection of the content with lasinfo, lasview, and lasvalidate that we always recommend on newly obtained data as an exercise to the reader. Note that a check for proper alignment of flightlines with lasoverlap that we consider mandatory for LiDAR data is not applicable for dense-matching points.
lastile -i muriel\20161127_Pancalieri_UTM.laz ^ -tile_size 500 -buffer 25 -flag_as_withheld ^ -epsg 32632 ^ -odir muriel\tiles_raw -o panca.laz
lassort -i muriel\tiles_raw\panca*.laz ^ -odir muriel\tiles_sorted -olaz ^ -cores 7
lasthin -i muriel\tiles_sorted\panca*.laz ^ -step 2.5 ^ -highest -classify_as 8 ^ -odir muriel\tiles_thinned -olaz ^ -cores 7
lasnoise -i muriel\tiles_thinned\panca*.laz ^ -ignore_class 0 ^ -step_xy 5 -step_z 0.1 -isolated 4 ^ -classify_as 7 ^ -odir muriel\tiles_isolated -olaz ^ -cores 7
lasground -i muriel\tiles_isolated\panca*.laz ^ -city -ultra_fine -ignore_class 0 7 ^ -odir muriel\tiles_temp_ground -olaz ^ -cores 7
lasheight -i muriel\tiles_temp_ground\panca*.laz ^ -do_not_store_in_user_data ^ -classify_below -0.5 12 ^ -odir muriel\tiles_temp_denoised -olaz ^ -cores 7
las2las -i muriel\tiles_temp_denoised\panca*.laz ^ -change_classification_from_to 1 0 ^ -change_classification_from_to 2 0 ^ -change_classification_from_to 7 0 ^ -change_classification_from_to 12 7 ^ -odir muriel\tiles_denoised -olaz ^ -cores 7
lasground -i muriel\tiles_denoised\panca*.laz ^ -ignore_class 7 ^ -city -ultra_fine ^ -odir muriel\tiles_ground -olaz ^ -cores 7
las2dem -i muriel\tiles_ground\panca*.laz ^ -keep_class 2 ^ -step 1 -hillshade ^ -use_tile_bb ^ -odir muriel\tiles_dtm -opng ^ -cores 7
And here the original DSM side-by-side with resulting DTM after low noise removal. One dense forested area near the center of the data was not entirely removed due to the lack of ground points in this area. Integrating external ground points or manual editing with lasview are two possible way to rectify these few remaining errors …