Variables object

<Variables> is the list of <VariableNames> in an Echoview EV file. There are a number of <VariableTypes> that can used to filter an <ObjectNames> list.

<Variables> supports these <ActionNames>:

A <VariableVirtualObject> supports the Operands <ActionName>. CreateLine supports the creation of virtual lines.

If <ActionName> is unique to the <ObjectName> then the <ObjectName> is redundant.

Note: Supplied examples could be adjusted to suit your EV file, variable and virtual names. See also: Example display conventions.

ActionName Description
AppliedObjects
Syntax

VariableName | AppliedObjects | Argument

Description

Lists all <Objects> upstream in the dataflow and accessible by <VariableName>. The optional <Argument> specifies an <Object> list index and returns that <Object>. The list index begins at zero.

See also Filtering.

Example

Variables can include raw, virtual, transducer and line variables.

> db diff | AppliedObjects
Bottom | Fileset 1: Sv raw pings T1 | Fileset 1: Sv raw pings T2 | Fileset 1: T2 | Threshold offset 1

> db diff | AppliedObjects | 4
Threshold offset 1

Properties
Syntax

VariableName | Properties

VariableName | Properties <PropertiesOption>

VariableName | <PropertyName> <PropertiesOption> 

Description

<VariableName | Properties> lists pairs of <PropertyName> and <Value> for the <VariableName>. The list includes both set and default values. You can output other informative filtered lists with PropertiesOptions and <FilterActions>.

Be aware that some <PropertyName> and <Value> pairs may not be applicable to the <VariableObject>.

<NumericalValue> and <TextValue> follow setting values as described.

 

<VariableName | Properties | Name> displays an alphabetically ordered list of <Name>.

<VariableName | Properties | Value> displays a corresponding list of set <Value>.

 

<VariableName| PropertyName> returns specific values of the setting.

 

Mandatory PropertiesOption

The mandatory <PropertiesOption> "=", is used to assign a <Value>.

Example

Assign the specified text to the Notes <Property> for all <Objects> that match sv*. Display the Notes.

> sv* | Notes =| Set all Sv notes to The quick brown fox jumped over the lazy cow.
> sV* | Notes
Fileset 1: Sv raw pings T1 | Set all Sv notes to The quick brown fox jumped over the lazy cow. |
Fileset 1: Sv raw pings T2 | Set all Sv notes to The quick brown fox jumped over the lazy cow.

Some variable properties may allow a value of None.

Example

Sv variable. Set the Exclude below line to None. Display the Exclude below line.

> Sv raw pings T1 | ExcludeBelowLineOrSurface =| None
> Sv raw pings T1 | ExcludeBelowLineOrSurface
None

Some <PropertiesOption> settings are read-only for the console.

Example

> Single target detection - single beam (method 1) | CalibrationAssistantManufacturerSoundSpeed =| 1000
ERROR | 'Calibration assistant manufacturer sound speed' is read-only.

Navigating the entire list of all <PropertyNames> can be slow. The interface can display supported <PropertyNames> of an <ObjectName> grouped under a <PageName>.

Supported <PageNames> include:

PageName

Description

Page4dDisplay

Variable Properties settings on the 4D Display page.

Example

> Sv raw pings T1 | Page4dDisplay

PageAlongtrackDisplay

Variable Properties settings on the Alongtrack Display page.

Example

> Sv raw pings T1 | PageAlongtrackDisplay

PageAnalysis

Variable Properties settings on the PageAnalysis page.

Example

> Sv raw pings T1 | PageAnalysis

PageCalibration

Variable Properties settings on the Calibration page.

Example

> Sv raw pings T1 | PageCalibration

PageClasses

Variable Properties settings on the Classes page of a Bottom points variable.

Example

> Bottom classification (Manual) | PageClasses

See also: Array handling examples.

PageCruisetrackDisplay

Variable Properties settings on the Cruisetrack Display page.

Example

> Sv raw pings T1 | PageCruisetrackDisplay

PageData

Variable Properties settings on the Data page.

Example

> Sv raw pings T1 | PageData

PageEchogramDisplay

Variable Properties settings on the Echogram display page.

Example

> Sv raw pings T1 | PageEchogramDisplay

PageFilter

Variable Properties settings on the Filter page.

Example

> Sv raw pings T1 | PageFilter

PageGraph

Lists all Graph Properties settings.

Variable Properties settings on the Graph page are associated with the bottom classification graph and ping graph Sv TVG curve.

See also GraphName PropertyOptions associated with the Graph Properties dialog box.

Notes:

  • Not all settings may be applicable for a variable.
  • A Graph Property may be assigned a value. However, the special value for an unset value i.e. -INF, cannot be assigned through the Command interface.
Example

> Sv raw pings T1 | PageGraph

PageGrid

Variable Properties settings on the Grid page.

Example

> VariableName | PageGrid

PageGrid

Variable Properties settings on the Grid page.

Example

> Sv raw pings T1 | PageGrid

PageLineDisplay

Properties settings on the Line Display page.

Example

> Sv raw pings T1 | PageLineDisplay

PageLinesOrSurfaces

Properties settings on the Lines page or Surfaces page.

Example

> Sv raw pings T1 | PageLinesOrSurfaces

PageMediaPosition

Media Variable Properties settings on the Media Position page.

Example

> MediaVariableName | PageMediaPosition

PageNotes

Variable, line or surface Properties settings on the Notes page.

Example

> VariableName | PageNotes

PageOperator

Specific virtual variable settings. See Virtual variable pages.

Notes:

  • Virtual variable operands can be displayed but they can't be changed.
  • PageOperator may not list every operator property. You may find missing operator properties by inspecting the output of <VariableName | Properties>.
  • For Multibeam target detection and Multibeam target overlay variables, the Echogram display setting Show input data under targets, is handled under PageOperator.
  • VariablesLine items that are virtual lines support PageOperator which lists virtual line settings that may be modified.
Example

See BackgroundNoiseRemoval example.

See PingSubset example.

See Virtual line example.

See Mask virtual variable example.

PageRegions

Properties settings on the Regions page.

Example

> VariableName | PageRegions

Notes:

  • When a <PropertyName> is difficult to correlate with a setting name, give the setting a noticeable value to make it easier to locate the correct <PropertyName>.
  • Some virtual variables don't have specific settings and as a result will have no PageOperator.
  • Return for <PropertyName> that specifies a RGB color.
  • Return for <PropertyName> with multiple values.
  • See also: Number handling for an integer property assigned a real value.
  • See also: The ValueOptions description to get enumerated list values associated with certain properties.
  • See also: Properties: Special default value.
Examples

Raw variable and supported <PageNames>.

> Sv raw pings T1 | Page (Shift+Tab)

"Page" matches actions
Properties Page4dDisplay
Properties PageAlongtrackDisplay
Properties PageAnalysis
Properties PageCalibration
Properties PageCruisetrackDisplay
Properties PageData
Properties PageEchogramDisplay
Properties PageFilter
Properties PageGraph
Properties PageGrid
Properties PageLineDisplay
Properties PageLinesOrSurfaces
Properties PageMediaPosition
Properties PageNotes
Properties PageOperator
Properties PageRegions.
>

 

> Sv raw pings T1 | PageEchogramDisplay (ENTER)
AutoDisplayLimits | false |
ColorDisplayMinimum | -92.0 |
ColorDisplayRange | 36.0 |
ColorLegendLabelsAlignment | Left of the color bar |
ColorScheme | EK500 |
DepthColorScheme | Depth |
EchogramBackgroundColor | (128, 128, 128) |
HModePlotOrientation | Head Up |
IntegramAnalysis | Bottom classification |
IntegramBottomVariable | Bottom classification 1 |
IntegramIsLessThanThreshold | false |
IntegramThreshold | -50.0 |
IntegrationLine | None |
IntegrationLineColor | (197, 0, 232) |
LowerDisplayLimit | 999.84 |
MajorAxisAngleColorDisplayRange | 12.0 |
MajorAxisColorScheme | Major-Axis Angle |
MinorAxisAngleColorDisplayRange | 12.0 |
MinorAxisColorScheme | EK500 |
MultibeamFlipHorizontally | false |
MultibeamFlipVertically | false |
MultibeamShowBottom | false |
MultibeamShowDirectionLabels | false |
MultibeamShowTargetClassLabels | true |
MultibeamShowTargetOutlines | false |
MultibeamShowTargetSampleOutlines | true |
NASCColorScheme | NASC and ABC |
SelectionMovement | Stationary |
ShowEchogramColorLegend | true |
SinglebeamEchogramReferenceLine | None |
SinglebeamFlipVertically | false |
UpperDisplayLimit | 0.1 |
UsingPrimaryColorScheme | true
>

Specify a <PropertyName>, interface returns the value.

> dbdiff | gridxaxis
GPSDistanceNmi

Specify a <PropertyName> and <Argument>, and the interface changes the value of the <PropertyName>.

> dBdiff | gridxaxis =| pingnumber
> dBdiff | gridxaxisspacinginPings =| 100

Supported <PageNames> of the Background noise removal variable, Supported <PageOperator> lists settings on the Background Noise Removal page. The VerticalUnits <ValueOptions> list contains Samples, Meters; the example tells us that Samples has been selected. <ContextPingCount> correlates to the setting Horizontal extent (pings). All remaining <VirtualVariablePageProperties> correlate with the setting name.

> Background noise removal 1 | Properties Page(Shift+Tab)
"Properties page" matches actions
Properties Page4dDisplay
Properties PageAlongtrackDisplay
Properties PageAnalysis
Properties PageCalibration
Properties PageCruisetrackDisplay
Properties PageData
Properties PageEchogramDisplay
Properties PageFilter
Properties PageGraph
Properties PageGrid
Properties PageLineDisplay
Properties PageLinesOrSurfaces
Properties PageMediaPosition
Properties PageNotes
Properties PageOperator
Properties PageRegions.
>

> Background noise removal 1 | PageOperator
ContextPingCount | 1000 |
MaximumNoise | -125.0 |
MinimumSignalToNoiseRatio | 10.0 |
VerticalMeters | 1.0 |
VerticalOverlap | 0 |
VerticalSamples | 5 |
VerticalUnits | Samples
>

Virtual line example.

> VariablesLine
0.2m | Best bottom candidate line pick 1 | Bottom | BottomEVL | Fileset 1: line data depth GPGGA | Threshold offset 1 | Threshold offset 1EchoviewEVL | Vegetation? | Veg from above
> Best bottom candidate line pick 1 | pageoperator
LinePickAlgorithm | BestBottomCandidate |
LinePickBackstepRange | 0.0 |
LinePickDiscriminationLevel | -50.0 |
LinePickMaximumDropouts | 2 |
LinePickMinimumPeakAsymmetry | -1.0 |
LinePickMinimumSv | -70.0 |
LinePickMinimumSvDelta | 15.0 |
LinePickPeakThreshold | -50.0 |
LinePickStartDepth | 5.0 |
LinePickStopDepth | 1000.0 |
LinePickUseBackstep | true |
LinePickWindowRadius | 8
>

See also General example, Extended commands.

ExcludeAboveLineOrSurface
Syntax

VariableName | ExcludeAboveLineOrSurface

Description

Lists the Exclude above line for the <VariableName>.

PropertiesOption

The mandatory <PropertiesOption> "=", is used to assign an <Value> that is a <line> for single beam variables or <surface> for multibeam variables.

Example

> svrawpingst1 | ExcludeAboveLineOrSurface
Threshold offset 1
> svrawpingst1 | ExcludeAboveLineOrSurface =| bottom
> svrawpingst1 | ExcludeAboveLineOrSurface
Bottom

ExcludeBelowLineOrSurface
Syntax

VariableName | ExcludeBelowLineOrSurface

Description

Lists the Exclude below line for the <VariableName>.

PropertiesOption

The mandatory <PropertiesOption> "=", is used to assign an <Value> that is a <line> for single beam variables or <surface> for multibeam variables.

Example

> svrawpingst1 | ExcludeBelowLineOrSurface
Bottom
>

VariablesVirtual object

A <VariableVirtualName> object supports the ActionName <Operands> and ActionOption <N>.
Syntax

VariableVirtualName | Operands
VariableVirtualName | Operands N
VariableVirtualName | Operands N =| AnotherVariable

Description

<VariableVirtualName | Operands> displays the <OperandsList> for the <VariablesVirtualObject>. The <OperandsList> for the virtual variable is ordered alphanumerically.

<VariableVirtualName | Operands N> displays an operand of the virtual variable. <N> specifies the operand index, where N=0 corresponds to operand 1 on the Operands page of the virtual variable.

<VariableVirtualName | Operands N =| AnotherVariable> assigns <AnotherVariable> to <Operand N>.

Example

The operands for <dbdiff> and changing <Operand 1> which corresponds to operand 2 on the Operands page of the dB Diff variable.

> dbdiff | operands
AAProcessed data 1 | Fileset 1: Sv raw pings T2
> dbdiff | operands 0
Fileset 1: Sv raw pings T2
> dbdiff | operands 1
AAProcessed data 1
> dbdiff | operands 1 =| Sv raw pings T1
> dbdiff | operands
Fileset 1: Sv raw pings T1 | Fileset 1: Sv raw pings T2
> dbdiff | operands 0
Fileset 1: Sv raw pings T2
> dbdiff | operands 1
Fileset 1: Sv raw pings T1

See also: Examples for extended commands and Example for Only.

<VirtualVariableName> also supports:

Syntax

VirtualVariableName | PageOperator

VariableVirtualName | PageOperator ValueOptions

Description

<VariableVirtualName | PageOperator ValueOptions> lists supported operator page settings and their options. Many but not all virtual variables/lines have a specific operator page. See also the Export and other PropertiesOptions commands.

Example

Mask virtual variable, supported Mask page settings.

> mask 1 | pageoperator valueoptions [Press Enter]
CustomMaskValue | None |
SetMaskedDataValueTo | Zero NoData Custom

Syntax

SingleTargetVariableName | CalibrationAssistantPropertiesActionName

SingleTargetVariableName | CalibrationAssistantPropertiesActionName =| Value

Description

Supported Calibration Assistant settings can be accessed through a suitable single target variable.

To list supported Calibration Assistant PropertiesActionNames use: CalibrationAssistant (press Shift+Tab).

VariablesLine

The Command Interface supports the creation of virtual lines and the specification of line properties.

VariablesLine lists raw, editable and virtual lines.

CreateLine

Syntax

Operators that take operands:

<Operand 0> | CreateLine <CreateLineOption> <Operand N> | <other Operand> | <other Operand>...

<Operand 0> | <CreateLineOption> | <other Operand> | <other Operand>...

Line operators that take no operands i.e. Fixed Depth:

Ev File | CreateLine <CreateLineOption>

Description

CreateLine/CreateLineOption acts on objects to create a virtual line(s). If no object is specified, Echoview acts on all suitable objects in the EV file. This behavior can be advantageous when you want to create multiple lines, but it can manifest unexpected results if that was not your intent.

CreateLineOptions are virtual line operator names. To find the line operators available to a specified object use <Shift+Tab> matching. See also operator Operand index.

Acoustic variable as operand 0 example:

> Sv raw pings T1 | CreateLine <Shift+Tab>
The following CreateLine options are available:
ArithmeticOperator
BestBottomCandidateLinePickOperator
MLBottomLinePickOperator
MaximumSvLinePickOperator
NearFieldDepthEstimationOperator
StatisticalCombinationOperator
ThresholdOffsetOperator
TowedBodyTimeOffsetOperator.

A line as operand 0 example:

> BottomLine | CreateLine <Shift+Tab>
The following CreateLine options are available:
CropOperator
LinearOffsetOperator
OffAxisAngleOffsetOperator
SmoothingFilterOperator
SpanGapsOperator
TimeOffsetOperator.

Line operator with no operands:

> EvFile | CreateLine <Shift+Tab>
The following CreateLine options are available:
FixedDepthOperator.

Multiple operands

Some line operators have multiple operands. This example makes uses of:

  • Sv as operand 0
  • the Arithmetic line operator
  • Sounder Bottom line as operand 1
  • Editable line 1 (a line pick that detected a different bottom line) as operand 2

The return is the virtual line Arithmetic 1. Visually, Arithmetic 1 traces the first bottom echo.

> Sv | ArithmeticOperator | Sounder Bottom | Editable line 1
Arithmetic 1

A virtual line for multiple variables

This example uses the Crop line operator to create two virtual lines from operand 0 operand names matching Arithmetic*.

> Arithmetic* | CropOperator
Crop 1 | Crop 2

Multiple variables for a different operand

For operators that support multiple operands, you can use listed objects directed for use with a specific operand index. The example creates two Threshold offset lines named Threshold offset 1 and Threshold offset 2. Operand 2 lines are supplied by the lines from the Arithmetic* object list; the command line operand index used is 1. The first operand is the Sv raw pings T1 acoustic variable.

> Arithmetic* | CreateLine 1 ThresholdOffsetOperator | Sv raw pings T1
Threshold offset 1 | Threshold offset 2

Optional operands

A line operator may support optional additional operands with the Add New Operand button. In this case, Echoview requires the number of line operands for the operator so that Echoview can correctly handle the properties. The example specifies: an Sv acoustic variable as operand index 0; the name for the Statistical Combination Operator and the number of line operands (for the operator); the names of the lines at operand index 1 and 2, and the Median as the statistic. The output line is named Statistical combination 2. See also Mandatory Property option to assign a property value.

> Sv | StatisticalCombinationOperator 2 | Sounder Bottom | Editable line 1 | Statistic =| Median
Statistical combination 2

Line Properties
Supported line property names and current values on the line's specific properties page (e.g. the Crop page or Statistical Combination page and not common pages like Operands and Display) are found using:

<VirtualLineName> | PageOperator <Enter>

COM Exec

This virtual lines COM Exec example, creates a virtual line for suitable acoustic variables in the specified EV file, using the Best bottom candidate line pick operator. The Console interface sends a message to list the variables considered and further messages appear to display the name of each new line. These later messages require keyboard acknowledgement. after each line is created.

Dim ev: Set ev = GetObject(, "EchoviewCom.EvApplication")

Exec "open | YourEVFileNameAndPath.ev"
Dim newLines: newLines = Exec("* | CreateLine BestBottomCandidateLinePickOperator | LinePickMinimumSv =| -60")
Dim var
For Each var In newLines
   MsgBox "Created: " & var
Next

' Helper functions
' ------------------------------------

' Trim all strings in array
Function TrimArray(arr)
   ReDim result(UBound(arr))
   For i = 0 To UBound(arr)
      result(i) = Replace(Trim(arr(i)), vbCrLf, "")
   Next
   TrimArray = result
End Function

' Skip the first n elements of array
Function Skip(arr, n)
   ReDim result(UBound(arr) - n)
   For i = n To UBound(arr)
      result(i - n) = arr(i)
   Next
   Skip = result
End Function

' Take the first n elements of array
Function Take(arr, n)
   ReDim result(n - 1)
   For i = 0 To n - 1
      result(i) = arr(i)
   Next
   Take = result
End Function

' Convert reply string to the result, handling any message
Function GetResults(request, reply)
   Dim results: results = TrimArray(Split(reply, "|"))
   If UBound(results) >= 0 Then
      If StrComp("ERROR", results(0)) = 0 Then
         ' error message & exit
         MsgBox request & vbCrLf & "** " & Join(results, vbCrLf)
         WScript.Quit
      Elseif StrComp("WARNING", results(0)) = 0 Then
         ' script-formatted warning message & values
         MsgBox request & vbCrLf & "-- Warning" & vbCrLf & Skip(results, 1)(0)
         results = Skip(results, 2)
      Elseif StrComp("HELP", results(0)) = 0 Then
         ' script-formatted message, no values
         MsgBox request & vbCrLf & "Help" & vbCrLf & Join(Skip(results, 1), vbCrLf)
         results = Array()
      End If
   End If
   GetResults = results
End Function

Sub Ex(request)
   ev.Exec("Log | " & request)
   Dim results: results = GetResults(request, ev.Exec(request))
   If UBound(results) >= 0 Then
      MsgBox Join(results, vbCrLf)
   End If
End Sub

Function Exec(request)
   Exec = GetResults(request, ev.Exec(request))
End Function

See also

Command interface and command syntax
The Console dialog box
PropertiesOptions