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>:
- AppliedObjects
- CreateLine
- Properties
- ExcludeAboveLineOrSurface
- ExcludeBelowLineOrSurface
- VariablesVirtualObject
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 | SyntaxVariableName | AppliedObjects | Argument DescriptionLists 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. ExampleVariables can include raw, virtual, transducer and line variables.
|
||||||||||||||||||||||||||||||||||||||
Properties | SyntaxVariableName | 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 PropertiesOptionThe mandatory <PropertiesOption> "=", is used to assign a <Value>.
Some variable properties may allow a value of None.
Some <PropertiesOption> settings are read-only for the console.
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:
Notes:
ExamplesRaw variable and supported <PageNames>.
Specify a <PropertyName>, interface returns the value.
Specify a <PropertyName> and <Argument>, and the interface changes the value of the <PropertyName>.
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.
See also General example, Extended commands. |
||||||||||||||||||||||||||||||||||||||
ExcludeAboveLineOrSurface | SyntaxVariableName | ExcludeAboveLineOrSurface DescriptionLists the Exclude above line for the <VariableName>. PropertiesOptionThe mandatory <PropertiesOption> "=", is used to assign an <Value> that is a <line> for single beam variables or <surface> for multibeam variables. Example
|
||||||||||||||||||||||||||||||||||||||
ExcludeBelowLineOrSurface | SyntaxVariableName | ExcludeBelowLineOrSurface DescriptionLists the Exclude below line for the <VariableName>. PropertiesOptionThe mandatory <PropertiesOption> "=", is used to assign an <Value> that is a <line> for single beam variables or <surface> for multibeam variables. Example
|
VariablesVirtual object
A <VariableVirtualName> object supports the ActionName <Operands> and ActionOption <N>.Syntax
VariableVirtualName | Operands
VariableVirtualName | Operands N
VariableVirtualName | Operands N =| AnotherVariableDescription
<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 T1See 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 CustomSyntax
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 1A 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 2Optional 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 2Line 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