This tool can be used to perform one of four 3x3 line-detection filters on a raster image. These filters can be used to find one-cell-thick vertical, horizontal, or angled (135-degrees or 45-degrees) lines in an image. Notice that line-finding is a similar application to edge-detection. Common edge-detection filters include the Sobel and Prewitt filters. The kernel weights for each of the four line-detection filters are as follows:

'v' (Vertical)

...
-12-1
-12-1
-12-1

'h' (Horizontal)

...
-1-1-1
222
-1-1-1

'45' (Northeast-Southwest)

...
-1-12
-12-1
2-1-1

'135' (Northwest-Southeast)

...
2-1-1
-12-1
-1-12

The user must specify the variant, including 'v', 'h', '45', and '135', for vertical, horizontal, northeast-southwest, and northwest-southeast directions respectively. The user may also optionally clip the output image distribution tails by a specified amount (e.g. 1%).

See Also

prewitt_filter, sobel_filter

Function Signature

def line_detection_filter(self, raster: Raster, variant: str = "v", abs_values: bool = False, clip_tails: float = 0.0) -> Raster: ...

Project Links

WbW Homepage User Manual Support WbW