Environments | PYTHON :: EASI :: MODELER |
Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Example :: Algorithm |
Back to top |
Back to top |
Name | Type | Caption | Length | Value range |
---|---|---|---|---|
FILI* | String | Input file name | 1 - 192 | |
FILO* | String | Output file name | 1 - 192 | |
DBIC* | Integer | Input raster channel(s) or layer(s) | 1 - 1 | |
DBOC | Integer | Output image channel or layer | 0 - 1 | |
DBVS | Integer | Extracted lineaments segment or layer | 0 - 1 | |
RADI | Integer | Radius of filter (pixels) | 0 - 1 | Default: 10 |
GTHR | Integer | Threshold for edge gradient | 0 - 1 | Default: 100 |
LTHR | Integer | Threshold for curve length | 0 - 1 | Default: 30 |
FTHR | Integer | Threshold for line fitting error | 0 - 1 | Default: 3 |
ATHR | Integer | Threshold for angular difference | 0 - 1 | Default: 30 |
DTHR | Integer | Threshold for linking distance | 0 - 1 | Default: 20 |
MONITOR | String | Monitor mode | 0 - 3 | ON, OFF Default: ON |
Back to top |
FILI
Specifies the PCIDSK file containing the input image channel to process.
FILO
Specifies the PCIDSK file to receive the output vector segment and the processed image channel.
DBIC
Specifies the input image channel or layer to process.
DBOC
Specifies an optional output channel to receive the binary edge image (thresholded gradient).
DBVS
Specifies a vector segment to receive the extracted lineaments.
If this parameter is not specified, a new vector segment is created by default.
RADI
Specifies the radius of the edge detection filter, in pixels. This parameter roughly determines the smallest-detail level in the input image to be detected. A large RADI (Filter Radius) value indicates that less detail can be detected, and also less noise. The default value is 10.
GTHR
Specifies the threshold, in pixels, for the minimum gradient level for an edge pixel. This value must be in the range of 0 to 255; the default value is 100.
LTHR
Specifies the minimum length of curve, in pixels, to be considered as lineament or for further consideration; for example, linking with other curves. The default value is 30.
FTHR
Specifies the maximum error, in pixels, allowed when fitting a polyline to a pixel curve. Lower values provide better fitting, but also shorter segments in the polyline.
ATHR
Specifies the maximum angle, in degrees, between segments of a polyline. If the angle exceeds the specified maximum, the polyline is segmented into two or more vectors. This angle also defines the maximum angle between two vectors for them to be linked. The default value is 30.
DTHR
Specifies the minimum distance, in pixels, between the end points of two vectors for them to be linked. The default value is 20.
MONITOR
The program progress can be monitored by printing the percentage of processing completed. A system parameter, MONITOR, controls this activity.
Available options are:
Back to top |
LINE extracts linear features from an image and records the polylines in a vector segment. LINE is designed for extracting lineaments from radar images. It can, however, also be used on optical images to extract curve-linear features.
LINE takes a single image channel as input. If the input channel is 16- or 32-bit, the image is first scaled to 8-bit using a nonlinear scaling routine. The output of LINE is a vector segment which contains linear features as extracted from the image. If DBOC (Output Binary Edge Image) is specified, a binary edge image (the result of thresholding the gradient) is saved in the specified channel.
RADI (Filter Radius) specifies the size of the Gaussian kernel used as a filter during edge detection. The larger the RADI value, the less noise and detail appear in the edge detection result.
The value for thresholding the gradient image is define by the GTHR (Edge Gradient Threshold) parameter. This value must be in the range of 0 to 255. You may experiment with different GTHR values and select one that produces a suitable output binary image. If the ON pixels in the image appear too sparse, decrease the GTHR value. If, however, the ON pixels appear dense and noisy, increase the GTHR value. It is important to have sufficient information in the edge image, as the subsequent lineament extraction process is based on this edge image as input.
Various other parameters control the curve extraction process. FTHR (Line Fitting Threshold) defines the tolerance for fitting line segments to a (curved) lineament. This value is specified in number of pixels. A lower value results in many shorter line segments that better approximate the lineament; a larger value, however, provides better noise averaging, resulting in longer, straighter lineaments. Typically, a value between 2 and 3 is ideal. LTHR (Curve Length Threshold) specifies the minimum length of a curve (in pixels) to be considered as lineament for further consideration. ATHR (Angular Difference Threshold) defines the maximum angle (in degrees) between two vectors for them to be linked. DTHR (Linking Distance Threshold) specifies the maximum distance (in pixels) between two vectors for them to be linked.
About lineaments
A lineament is usually defined as a straight or somewhat-curved feature in an image. In a satellite image, lineaments can be the result of man-made structures such as transportation networks (roads, canals, etc.), or natural structures such as geological structures (faults/fractures, lithological boundaries, unconformities) or drainage networks (rivers). Because many mineralization zones occur near fracture zones, lineaments are useful for locating these.
A lineament is distinguishable by the change in image intensity as measured by gradient. By applying edge detection filters to the image, a numerical method for lineament detection can be constructed. This method, however, is not as accurate as the human visual system, which is highly efficient at extrapolating linear features. Thus, to the human eye, a lineament that varies in intensity along its length may be viewed as a single long lineament, whereas to a numerical method, the same lineament may appear as several short lineaments. Thus, a numerical method for extracting lineaments must be robust and allow for gradual or sudden changes in gradient along the lineament, and also for minor changes in direction.
The lineament extraction algorithm implemented here takes these problems into account when extracting linear features from an image. The algorithm consists of three steps. First, an edge-detection operator is applied to the image, producing a gradient image. (Note: all 16-bit or 32-bit input images are first scaled to 8-bit, using a nonlinear scaling routine). Second, the gradient image is thresholded to create a binary edge image. Finally, linear features are extracted from the binary edge image. This last step contains many substeps, such as edge thinning, curve pruning, recursive curve segmentation, and proximity curve linking.
Back to top |
Extract lineament from a radar image (irvine.pix, channel 11).
EASI>FILI = "irvine.pix" EASI>FILO = fili EASI>DBIC = 11 EASI>DBOC = 8 EASI>DBVS = ! create new segment EASI>RADI = 5 EASI>GTHR = 90 EASI>LTHR = 25 EASI>FTHR = 2 EASI>ATHR = 22 EASI>DTHR = 20 EASI>RUN LINE
Back to top |
In the first stage, the Canny edge detection algorithm is applied to produce an edge strength image. The Canny edge detection algorithm has three substeps. First, the input image is filtered with a Gaussian function whose radius is provided by the RADI (Filter Radius) parameter. Then, the gradient is computed from the filtered image. Finally, pixels whose gradient are not the local maximum are suppressed by setting the edge strength to 0.
In the second stage, the edge strength image is thresholded to obtain a binary image. Each ON pixel of the binary image represents an edge element. The threshold value is defined by the GTHR (Edge Gradient Threshold) parameter.
The final polylines are saved in a vector segment.
© PCI Geomatics Enterprises, Inc.®, 2024. All rights reserved.