Noise filter

From CloudCompareWiki
Jump to navigation Jump to search

Menu

This tool is accessible via the Tools > Clean > Noise filter menu.

Description

The 'Noise filter' tool resembles a bit the S.O.R. filter but it considers the distance to the underlying surface instead of the distance to the neighbors.

This algorithm locally fits a plane (around each point of the cloud) then removes the point if it's too far away from the fitted plane. This filter can be basically considered as a low pass filter.

To estimate the underlying (planar) surface, the user can define a radius or a (constant) number of neighbors. The user also has the choice between a relative error (as S.O.R.) and an absolute error. Eventually isolated points can be removed in the same run.

Input

One or several clouds (selected in the DB tree).

Parameters

The user has to:

  • choose either to extract a given number of neighbors around each point (which is only suitable for clouds with a constant density) or to specify a ball radius (the ball should be big enough to capture at least 6 points typically)
  • input a max error (distance of the point to the fitted plane) so as to decide if a point is rejected or not. The error can be relative (as a factor of the neighbors re-projection error on the fitted plane) or absolute
  • eventually, isolated points (i.e. with less than 3 neighbors in the sphere) can be removed during the process
Noise filter parameters

Output

A new cloud, hopefully cleaner ;)

Typical result of the 'Noise filter'

Note

Due to the way the algorithm works it is very powerful on flat surfaces (walls, etc.). However, especially if you use a too high kernel radius (or too low error threshold) it will 'eat' the corners. To save the corners or sharp edges one can try to run the algorithm repeatedly with a small radius and relatively high error threshold.