Line picking algorithms

Line picking

Echoview offers algorithms that are used to pick lines on single beam echograms. The algorithms can be used in two situations.

  1. For an Editable line using a Line pick. The algorithm settings are entered under Single beam on the Lines and Surfaces page of the EV File Properties dialog box. See Line picking and bottom detection for further information.
    - or -
  2. For a Virtual line using one of the Line pick operators. The algorithm settings are entered on the operator specific page of the Line Properties dialog box. See Creating virtual lines for further information.

Echoview supports different algorithms for picking bottom lines in single beam echograms, including:

Detecting a boundary

Echoview offers the Threshold offset line operator algorithm to detect a vegetation boundary or other boundaries in water column data. The operator may be configured to detect either a minimum or a maximum threshold value relative to a specified (base) line.

Threshold offset

The Threshold offset detection evaluates Operand 1 sample values in a ping, starting from the line specified by Operand 2. Eligible samples have sample depths that occur in the Direction of detection from Operand 2.

  1. Evaluate ( Sample value (dB ) < Threshold (dB)) by testing samples in a ping from Operand 2 in the Direction of detection. When Allow detection from echogram extents is selected begin search at the extent of Operand 1.
    1. If the depth of the potential boundary sample is less than the (Depth of Operand 2 + Minimum accepted distance (m)), continue the detection.
    2. Stop the detection if the depth of the potential boundary sample is greater than the (Depth of Operand 2 + Maximum detection distance (m)).
  2. The Threshold offset line depth is assigned to the depth of the sample that is greater than the Threshold and whose depth is greater than the Minimum accepted distance and is less than the Maximum detection distance from Operand 2 in the Direction of detection. If no sample satisfies all these criteria, the Threshold offset line depth is set to the depth of Operand 2.
  3. Proceed to next ping and begin a new detection.

Threshold offset line status is assigned as follows:

Notes:

Illustrated examples

The following examples depict a stylized echogram with the following features:

Figure 1 Time resolution of the Bottom line and the echogram match.

Threshold offset bottom line and echogram - matching time resolution

Figure 2 Bottom line with higher time resolution than the echogram

The Bottom line has a higher time resolution than the echogram. An unwanted artifact occurs when Threshold offset line dips below the Bottom line between ping 3 and 4.

Threshold offset - Bottom line with higher time resolution

Best bottom candidate

The bottom depth is picked for each ping in the context of surrounding pings. Nine settings can be entered under Single beam on the Lines and Surfaces page of the EV File Properties dialog box: Start depth (m), Stop depth (m), Minimum Sv for good pick (dB), Discrimination level (dB), Backstep range (m), Peak threshold (dB), Maximum dropouts (samples), Window radius and Minimum peak asymmetry.

The same settings can be entered on the Best bottom candidate line pick page of the Line Properties dialog box for a virtual line created with the Best bottom candidate line pick operator.

The Best bottom candidate algorithm assesses pings in groups referred to as ping contexts. In good data, the context is 64 pings wide, but if the bottom is not detected then the width is successively halved until either the bottom is found or the width has reached 8 without success.

The algorithm treats peaks in the ping data as candidates for the bottom echo. A peak is any contiguous series of samples with magnitude greater than the Peak threshold. Because the data contains noise, the definition of contiguous is relaxed by the Maximum dropout value. A peak can include any number of groups of samples below the Peak threshold, but the number of samples in any one group is less than or equal to Maximum dropout.

At various stages of the algorithm, the peak maximum and the Minimum peak asymmetry are considered. The rise side is defined as those samples closest to the transducer between the peak maximum and the Peak threshold. The decay side is defined by samples (in the same interval) on the other side of the peak maximum. Minimum peak asymmetry represents the ratio of the rise gradient to the decay gradient of the candidate peak. Candidate peaks that have a ratio less than the Minimum peak asymmetry are rejected.

From left to right, the diagrams above show:

The algorithm works as follows:

  1. The algorithm finds the first ping in the context that has more than one candidate peak. This is done by evaluating all the samples in the ping. The algorithm retains up to six of the highest peaks as candidates.

  2. Each candidate peak is traced through the context using a search window. The aim is to find corresponding peaks in successive pings. If any part of a peak is found within the search window, that peak is considered. The highest peak in the search window is chosen. If no peak is found, the sample at the center of the window is used. The corresponding peaks found in successive pings form a candidate bottom series.

  3. The values of the peak maxima are summed for each candidate bottom series. The series with the highest total wins. The winning series may not necessarily be the bottom as there may be no bottom.

  4. The algorithm maintains a level of confidence in its detection. The magnitude of this confidence, and its sign, are used to modify detection behavior. Confidence is expressed as the number of contiguous pings from which the bottom has been found. If the chosen bottom series sinks below the lower edge of the data, the magnitude of confidence is maintained but its sign becomes negative. In this case, the algorithm is confident that from here on there is no bottom in the data. Negative confidence is used to dismiss series that appear suddenly in the water column. If a series is detected rising from the lower edge of the data, it is accepted as the bottom.

  5. If the bottom is not continuous between contexts, and the detected bottom is close to the lower edge of the data, then the end of the context is reassessed, ping by ping, to find the point where the bottom crosses the lower edge of the data.

  6. The final step is to use the Discrimination level and Backstep range settings to position the bottom line above the bottom signal. For each ping, the algorithm steps back from the peak maximum towards the transducer until the signal sinks below the Discrimination level. The Backstep range is subtracted from the range at which the peak crosses the Discrimination level.

Note: The algorithm applies itself to samples inside the rectangular bounding box for parallelogram and polygon selections and then returns a pick for the selection shape (only).

The default settings are:

Setting

Default value

Start depth

5 m

Stop depth

1000 m

Minimum Sv for a good pick

-70 dB re m-1

Use Backstep

Checked

Discrimination level

-50 dB re m-1

Backstep* range

0.00 m

Peak threshold

-50 dB re m-1

Maximum dropouts

2 samples

Window radius

8 samples

Minimum peak asymmetry

-1

See About the Best bottom candidate line pick and Best bottom candidate settings for more information.

Maximum SV

This algorithm picks the bottom as the depth of the sample with the strongest backscattering strength (Sv). If the Sv of the bottom sample is greater than or equal to the Minimum Sv for good pick value then the bottom pick is given status of good, otherwise it is given a status of bad. It searches between a specified Start depth and Stop depth only.

Three settings can be entered under Single beam on the Lines and Surfaces page of the EV File Properties dialog box: Minimum Sv for good pick (dB), Discrimination level (dB) and an optional Backstep range (m).

The same settings can be entered on the Maximum Sv line pick page of the Line properties dialog box for a virtual line created with the Maximum Sv line pick operator.

The algorithm works as follows:

  1. Search within the depth limits of the current selection (or the specified start depth and stop depth) to find the sample with maximum backscattering strength (Sv).

  2. Search up the ping starting at the maximum sample to find the first sample whose Sv is less than Discrimination Level. This occurs below point 2 in the diagram below.

    If the sample just below the Discrimination Level is a no data sample, then the depth is the  depth of the sample just above the Discrimination Level.
    Otherwise, the depth is at the Discrimination Level. This is determined as the linear interpolation (for depth) of the samples just below and just above the Discrimination Level.

  3. The depth of the pick for the ping is the depth found in step 2 less the value of the Backstep range.

  4. If the Sv of the sample picked in step 1 is greater than or equal to the Minimum Sv for good pick then give the bottom pick a status of good, otherwise give it a status of bad.

Notes:

The algorithm is illustrated on a sample graph of Sv values as follows:

The default settings are:

Setting

Default value

Start depth

0 m

Stop depth

1000 m

Minimum Sv for good pick

-70 dB re m-1

Use Backstep

Checked

Discrimination Level

-50 dB re m-1

Backstep* range

0.00 m

Delta Sv

This algorithm examines only the change in Sv over one pair of neighboring samples at a time and returns the range of the nearest sample which is detected after a rise of “Delta Sv” dB which is greater than the specified minimum. It searches between a specified Start depth and Stop depth only.

Note: The Delta Sv bottom pick algorithm was designed for a specific dataset of EchoListener files, and is not recommended for general use.

The default settings are:

Setting

Default value

Start depth

0 m

Stop depth

1000 m

Minimum Sv for good pick

15 dB re m-1

See also

Line picking
Single beam (line pick) on the Lines and Surfaces page

Multibeam bottom detection algorithm

About the Best bottom candidate line pick
About the Threshold offset operator