Derives and stores the echo ratio (ER) attribute for points of an OPALS data manager.
The echo ratio (ER) is a measure for local transparency and roughness and is calculated in the 3D point cloud directly based on the ODM. The ER is derived for each laser point and is defined as follows:
echo ratio [%] = n3D / n2D * 100.0 (Equ. 1)
with n3D <= n2D, n3D = no. of neighbors found in a fixed search distance measured in 3D (i.e. search sphere) and n2D= no. of neighbors found in same distance measured in 2D (i.e. vertical search cylinder with infinite height). For impenetrable (flat) surfaces (bare ground) the echo ratio is (nearly) 100%, whereas the echo ratio decreases for penetrable surface parts (vegetation), since there are more points in a (vertical) search cylinder than there are points in a sphere with the same radius. With increasing surface slope (eg. roofs, walls), even if the surface is fully solid, the ER gradually decreases. To guarantee a high ER in steep impenetrable areas, the 3D search distance has to be extended considering the local surface slope. This is done by dividing the initial 3D distance by the cosine of the surface slope (r3D=r2D / cos(alpha)). Thus, the availability of local surface normal vectors is a prerequisite for deriving the slope adaptive echo ratio. See Module Normals for details concerning normals estimation. Figure 1 illustrates the difference between basic and slope adaptive echo ratio.
The main parameter of Module EchoRatio are the ODM file (parameter inFile) containing point coordinates (x,y,z) as well as the components of the local surface normal direction (nx, ny, nz, optional) for each laser point and the radius of the search cylinder / sphere (parameter searchRadius). A good estimate for the search distance is the double of the average laser point spacing. The echo ratio results are stored as /e EchoRatio in the ODM (see predefined attributes for details). Output in arbitrary formats is supported via the Module Export. By default, the slope adaptive echo ratio is derived for all ODM points containing valid normal vector information, whereas the basic echo ratio (according to Eq. 1) is calculated if no information about the local surface slope is available.
In general, the echo ratio derivation is carried out for all ODM points. However, one or two filter strings can be specified to select a subset of ODM data points (parameter filter). The first filter is interpreted as 'processing filter' and restricts the set of points for which the an echo ratio is to be calculated. The second filter serves as 'neighbourhood filter' and afftects the set of neighbouring points used in the echo ratio calculation. If only one (processing) filter is specified, the same filter is used as neighbourhood filter. If, however, the neighbourhood queries should consider all ODM points, the "Pass" filter or an empty filter (i.e. " " from within the commandline or "" in Python) must be used. For more detailed information about the filter string syntax, please refer to section Filters.
The data used in the following example are located in the $OPALS_ROOT/demo/
directory. As a prerequisite, a dataset (strip21.laz) is imported and the surface normals using the following commands:
On the basis of the resulting ODM (containing the laser points surface normal directions as additional info), the (slope adaptive) echo ratio is calculated, and the results are rasterized and visualized using a greytone colour palette:
The resulting image ER_image.tif
is shown in the follwoing figure:
In this example, the use of two filter strings (processing filter and neighbourhood filter) is explained which is useful for speeding up processing by only calculating the echo ratio for a subset of the point. First, a DSM is calculated using the maximum elevation in 2m grid cell and the respective grid points are imported into a new ODM and marked with a flag and the ODM containing the laser points and normals are imported into this new ODM. Thereafter, the echo ratio is calculated only for the DSM points using only the laser points for the ER calculation.
Höfle, B., Mücke, W., Dutter, M., Rutzinger, M. and Dorninger, P.