EK_BottomBS (Module within EKlook)
Description
EK_BottomBS is a module within the EKlook interactive application. Its primary role is to manage the “BOTTOM Detect / ARC window,” a graphical user interface element that allows users to interactively adjust parameters related to bottom detection and Angular Response Curve (ARC) generation for EK series echosounder data. This module provides controls for applying various corrections, enabling depth and mount angle guides, flushing or dumping ARCs, and visualizing the processed data within EKlook.
Interactive Controls
This module exposes the following interactive controls within the EKlook application:
| Control | Description | Related Variable |
|---|---|---|
| Buttons (Toggle Corrections) | ||
addTL | Toggles the inclusion of Transmission Loss (TL) corrections in ARC calculations. | BSaddTL |
addBP | Toggles the inclusion of Beam Pattern (BP) corrections in ARC calculations. | BSaddBP |
addArea | Toggles the inclusion of Ensonified Area (Area) corrections in ARC calculations. | BSaddArea |
depthGuide | Toggles the use of Nadir Depth as a guide for bottom detection. | useNadirDepthGuide |
mountGuide | Toggles the use of Mount Angle as a guide for bottom detection. | useMountAngleGuide |
| Buttons (ARC Operations) | ||
dump BStrack | Dumps bottom track parameters to a file. | |
flushARC | Clears the accumulated Angular Response Curves (ARCs). | ARC_cummulative, ARC_byPing |
dump ARC | Dumps the current accumulated ARC to a file. | ARC_cummulative |
stack all ARC | Stacks all envelopes into a cumulative ARC and dumps it. | ARC_cummulative |
show Area/Grazing | Toggles the display of ensonified area versus grazing angle. | showAreaGrazing |
| Sliders | ||
Angle Sensitivity | Adjusts the angle sensitivity for along and across angles. | Along_AngleSensitivity (and Across_AngleSensitivity) |
Bulk Calibration | Adjusts a bulk calibration value (in dB) applied to the backscatter. | BulkCalibration |
Nadir Depth | Sets the nadir depth used as a guide. | NadirDepth |
Mount Angle | Adjusts the roll mount angle of the EK system. | EKMountAngle.roll |
Sub-Window FFT Length | Controls the size of the envelope window for FFT analysis (e.g., 64, 32, 16, 8, 4, 2). | envWinSize |
Visualizations
The module displays various graphical representations within the EKlook application:
- Matched-Filtered Echo Envelope (dB): Shows the envelope of the echo.
- Fore/Aft Phase: Displays the raw and low-pass filtered phase.
- Port/Starboard Phase: Displays the raw and low-pass filtered phase.
- Highlighted Envelope Subwindow Spectrum: Shows the FFT spectrum of a selected subwindow of the envelope.
- Apparent Echo Envelope using Highlighted Frequency Slice: Displays the envelope using a specific frequency slice.
- Highlighted Envelope Subwindow I/Q (In-phase/Quadrature) data: Shows the raw I and Q components and magnitude.
- ARC (Angular Response Curve) Window: Plots the ARC, including individual ping ARCs and cumulative ARCs.
- ARC Count Window: Displays the normalized bin counts for the ARC.
Key Bindings (within the module’s graphic windows)
KEY_Z: Zeros or resets a selected slider’s value (e.g., Angle Sensitivity to default, Bulk Calibration to 0, Nadir Depth to 100, Mount Angle to 35, EnvWinSize to 23).KEY_Q/KEY_ESC: Closes the “BOTTOM Detect / ARC window.”KEY_UP/KEY_DOWN: Adjusts theBSmaxandBSmin(backscatter display range) in the ARC plot.KEY_LEFT/KEY_RIGHT: Adjusts selected slider values or navigates through envelope subwindows and frequency slices.KEY_SPACE: ToggleswhichARC(displaying either broadband trace directly or FFT bin counts).
How It Works
This module operates by receiving interactive input from the user within the EKlook application. It updates internal variables based on slider adjustments and button presses, which then trigger recalculations and redrawing of the various visualizations. It works in conjunction with other EKlook modules and internal functions (like those in EK_funcs.c) to process EK echosounder data, apply corrections, and manage ARC generation.
Notes
This module functions as a specialized analytical tool within the EKlook graphical user interface. It does not accept direct command-line arguments for its operation, as its sole purpose is to manage and respond to interactive input within the running EKlook application. Its behavior is entirely dependent on the user’s actions within the GUI.