Sign up ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have created a DEM, DSM, and nDSM from a LiDAR Point Cloud using SAGA-GIS. I extracted the appropriate returns from the point cloud, then converted to grid, and then closed gaps to fill in any nodata regions.

I'm finding that my resultant rasters are still pretty noisy. For example, a region of pixels in the DSM that is obviously a tree or cluster of trees has several pixels with a very similar value to ground in stead of the surrounding higher value pixels.

I've tried doing a majority filter on the DSM, but it didn't help. Any suggestions for other filters that might help create more contiguous regions of pixels?

share|improve this question
Have you performed any classifications on the LiDAR point cloud? What is what we do first. Then we produce the DEM/DSM after the point cloud classification. – Ryan Garnett Nov 21 '13 at 18:25
@RyanGarnett - Unfortunately, we received the Point Cloud from a client without any metadata. There is a classification attribute that has data in it, but I have no idea what the numbers mean. I can't say I've ever done any LiDAR classification personally. – Brian Nov 21 '13 at 18:56
I myself am not a LiDAR expert, but I do know some. Can you do some "intelligent" analysis on the values to get an idea on the metadata values? If that doesn't turn out to be useful, maybe try doing filtering with polygon masks? – Ryan Garnett Nov 21 '13 at 19:00
LAS classes can be determined based on format version. – Barbarossa Nov 21 '13 at 19:20
I would imagine that the vendor followed LAS standards in assigning their classification values. In LAS v1.3 the values are 0-1) not classified, 2) ground, 3) low vegetation, 4) med veg, 5) high veg, 6) building, 7) low point (noise), 8) Model Keypoint (mass point), 9) Water, 10-11) ASPRS reserved, 12) Overlap, 13-31) ASPRS reserved. Values vary by LAS version. Here are the standards for each version:… – Jeffrey Evans Nov 21 '13 at 19:21

2 Answers 2

I got good results with mDenoise. This tool uses the Sun's denoising algorithm which removes noise without filtering sharp edges like ridges or peaks. Good for mountainous areas especially high mountains.

You can define the threshold and the number of iterations. You have to try something around to get the best result.

Before denoising ASTER GDEM2: enter image description here

After denoising ASTER GDEM2 (60 iterations [-n], threshold 0,98 [-t] ): enter image description here

share|improve this answer

Try to use the algorithm embedded in the CanopyModel command-line program available in the Fusion/LTK software (it is free).

See on the manual's page 26:

CanopyModel creates a canopy surface model using a LIDAR point cloud. By default, the algorithm used by CanopyModel assigns the elevation of the highest return within each grid cell to the grid cell center.

The program command syntax is:

CanopyModel [switches] surfacefile cellsize xyunits zunits coordsys zone horizdatum vertdatum datafile1 datafile2 …

The trick here to de-noise your DSM would contemplate two options:

  1. To play with the cellsize argument. The higher it is, the greater your chances to not get holes in the DSM. As a trade-off, the DSM will lose resolution.
  2. To use switches that smooths the DSM surface, such as the median filter (median:#) and the mean filter (smooth:#).

If you want to build a Canopy Height Model (aka the nDSM) just use the switch ground together with the bare-earth DEM file.

This thread shows how one can build a DEM from a lidar point cloud using Fusion + MCC-LiDAR (see the answers' part #2).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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