Using the command interface
- How to issue commands
- Filtering the Objects
- Omitting the ObjectsMatcher from the command
- Matching Objects with an ObjectsMatcher
- Actions that output an ObjectList
- Filtering a SeparatedList with the Only Action
- Actions and Options
- Unpacking the Properties Action
- The Page* and Value* Properties Options
- Example: Narrow the Properties Options with the Page* Options
- Example: Determine Properties Arguments with the Value* Options
- The Export Option
- PairsList values that are SpacedLists
- See also
How to issue commands
COM and the console
Issue command interface commands either by using the COM method Exec or the console window.
Use COM to issue batch commands by executing a script with Echoview, whereas use the console window to execute commands within Echoview.
In either case, the syntax and effect of the commands are the same.
Issuing shorthand commands
You do not need to explicitly define all the elements of a command. The console can interpret shorthand versions. The Echoview Help file presents the full command while indicating the elements that can be omitted without changing the outcome.
Refer to omitting the ObjectList from the command and omitting the Action from the command to learn about the shorthand command rules.
Special characters
Reserved characters include the wildcard character * and | (the Separator).
Also note the characters for the value modifier Options, and the reserved and illegal characters for variable names. Variable names can be
Reserved keywords
Keywords may be used with Property options to assign a default value or change the state of a setting.
- Default
- Assigns a default Property value. Refer to the ResetDynamicName example.
- None
- Assigns an empty string or an empty array or changes the state of a property. Refer to the ResetDynamicName example.
- Echoview
- Is the name of the Echoview application. If it is included in a Name or DynamicName, additional text is appended to differentiate it from the reserved keyword.
- EV file
- Is the name of the document. If it is included in a Name or DynamicName, additional text is appended to differentiate it from the reserved keyword.
Filtering the Objects
By default, the entire set of Objects is available to a command.
The first component of a console command is the ObjectsMatcher, which you use to filter the available Objects.
Matching Objects with an ObjectsMatcher
Match a single Object with its name.
> Fileset 1: Sv raw pings T2
Fileset 1: Sv raw pings T2
Match Object names with the wildcard * character.
> Fileset 1: Sv raw pings T*
Fileset 1: Sv raw pings T1 | Fileset 1: Sv raw pings T2 | Fileset 1: Sv raw pings T3
Match multiple Objects.
> Fileset 1: Sv raw pings T2 | Fileset 2: Sv raw pings T2 | Fileset 1: TS raw pings T2
Fileset 1: Sv raw pings T2 | Fileset 2: Sv raw pings T2 | Fileset 1: TS raw pings T2
Match all Objects (default behavior).
> *
Echoview | Ev File | Fileset 1: line data sounder detected bottom | Fileset 1: position GPS fixes | Fileset 1: Sv pings | Fileset 1: Transducer 1 | Platform 1
Names are case and space insensitive. You can omit a raw variable's fileset name when it is not required for disambiguation.
> fileset1: svrawpingst2 | fileset2:svrawpingst2 | tsrawpingst2
Fileset 1: Sv raw pings T2 | Fileset 2: Sv raw pings T2 | Fileset 1: TS raw pings T2
Omitting the ObjectsMatcher from the command
Generally, you may omit the ObjectsMatcher from the command. However, commands which modify Objects (such as those containing assignment and value modifier Options) require the ObjectsMatcher.
For example, issuing the following command in the console gives an error.
> GridXAxisSpacingInMinutes = | 1
ERROR | 'GridXAxisSpacingInMinutes =' must be preceded by a filter because it may create or modify more than one object.
Otherwise, if you do not specify the ObjectsMatcher, the command interface matches all available Objects. In this way
Action
can be shorthand for
* | Action
and executes on all valid Objects in the ObjectList. Refer to the Action part for an example.
Global consequences of shorthand commands
Shorthand commands can yield unintentional results. In particular, the Properties Action can modify many or all your Variable Objects. And there may not be an easy way to restore the previous state. For example,
> * | GridXAxisSpacingInMinutes = | 1
applies a grid spacing of 1 minute to all raw and virtual variable echograms.
Hence, Actions (either standalone or with modifier Options) which modify Objects must be preceded by a filter or ObjectsMatcher. This rule does not apply to Actions which modify the Application or Document Objects.
Actions that output an ObjectList
Filter Actions, and the AppliedObjects, LineBreaks and Operands Actions return an ObjectList.
Filtering a SeparatedList with the Only Action
The Only Action has these kinds of Options for filtering. The result is always a SeparatedList. Also note a single Object in an objectlist.
Filtering with the name prefix
This works similarly to matching Objects with an ObjectsMatcher. For example,
> * | Only Sv*
Fileset 1: Sv raw pings T1
Filtering with indexes
First match all Objects
> *
Background noise removal | Bottom classification (Automatic) | Bottom classification (Manual) | Bottom line | Echoview | Ev File | ...
Then use indexes as Options of the Only Action. A negative index starts from the end of the List.
> * | Only 4 5 -3
Echoview | Ev File | Fileset 1: vessel logs
You can also specify index positions as a range, or several ranges.
> * | Only 0..4
Background noise removal | Bottom classification (Automatic) | Bottom classification (Manual) | Bottom line | Echoview
> * | Only 0..1 2..4
Background noise removal | Bottom classification (Automatic) | Bottom classification (Manual) | Bottom line | Echoview
Filtering with preset Options
If the input is an ObjectList the Option can also be one or more of the preset filters (refer to the table in the link).
Determine the virtual variables from the ObjectList of variables.
> Fileset 1: angular position raw pings T1 | Fileset 1: position GPS fixes | Fileset 1: Sv raw pings T2 | Background noise removal | Only VariablesVirtual
Background noise removal
Determine all raw variables or transducers.
> * | Only VariablesRaw Transducers
Fileset 1: Power dB pulse compressed wideband pings T1 | Fileset 1: Power dB wideband pings T1 | Fileset 1: Sv pulse compressed wideband pings T1 | Fileset 1: Sv wideband pings T1 | Fileset 1: T1 | Fileset 1: TS pulse compressed wideband pings T1 | Fileset 1: TS wideband pings T1
Determine all raw acoustic variables.
> * | Only VariablesRaw | Only VariablesAcoustic
Fileset 1: angular position raw pings T1 | Fileset 1: Power dB raw pings T1
Determine unavailable variables with invert.
> * | Only ! VariablesUsable
Fileset 1: Sv raw pings T1 | Fileset 1: TS raw pings T2
A single Object in an OBJECTLIST
The match for all Objects returns a list of objects, that can be accessed by list index number. 0 is the first item in the list and -1 is the last item. -3 is the third last item, which for this example is the Fiileset 1: Sv pings variable.
> -3
Fileset 1: Sv pings
The prior example return is an ObjectList with a single item. The Command interface supports the use of an objectlist with a single item, as an object. As in seen in the Properties list for -3.
> -3 | Properties
4DBackground | SeaAndSky |
4DConstrainMinimumSampleSize | true |
4DDownsamplePings | true |
4DPingVisualization | Spheres |
...
Actions and Options
The second element of a basic command interface command is the Action. Refer to the list of Actions.
See also: The filter action Only and its Options.
Omitting the Action from the command
You do not always need to specify the Action for an Option. If only one Action has the Option then
ObjectMatcher | Option
can be shorthand for
ObjectMatcher | Action Option
For example, the FixedDepthOperator Option is unique to the CreateLine Action. Since the ObjectsMatcher can also be omitted, you can create a Fixed depth line with
> FixedDepthOperator
The command interface ignores all the Objects in the ObjectList that do not support FixedDepthOperator.
Chaining commands
If the result of a command is an Object or ObjectList, you can use the output in another command.
Example: Change multiple PairsList values
The result of a Properties assignment command is an Object which you can immediately utilize
> Calibration subset | Properties GridXAxis = | TimeMinutes | Properties GridXAxisSpacingInMinutes = | 1
The above is equivalent to
> Calibration subset | Properties GridXAxis = | TimeMinutes
Calibration subset
> Calibration subset | Properties GridXAxisSpacingInMinutes = | 1
Example: Create a new line and immediately edit its Properties
Use matching to immediately set one or more properties of a new line
> Ev File | CreateLine FixedDepthOperator | Properties UseDefaultLineDisplaySettings = | False | Properties Depth = | 1.1 | Properties CustomLineDisplayThickness = | 3
The above is equivalent to
> Ev File | CreateLine FixedDepthOperator
Fixed depth 1
> Fixed depth 1 | Properties UseDefaultLineDisplaySettings = | False
Fixed depth 1
> Fixed depth 1 | Properties Depth = | 1.1
Fixed depth 1
> Fixed depth 1 | Properties CustomLineDisplayThickness = | 3
Unpacking the Properties Action
The Properties Action exposes many of the settings in Echoview's EV File, Platform, Transducer and Variable properties dialog boxes via a Name | Value PairsList. Here are some examples.
- Querying a single Properties Option returns a single PairsList pair.
- The result may include values that are SpacedLists.
- Querying multiple Objects returns the Name | Value pair of the PairsList on a new line.
> Calibration subset | Properties SinglebeamFlipVertically
Calibration subset | false
Refer to PairsList values that are SpacedLists for examples on manipulating value arrays.
> sv* | Properties SinglebeamFlipVertically
Fileset 1: Sv raw pings T1 | false |
Fileset 1: Sv raw pings T2 | false |
...
Note that some Property values are read-only.
The Page* and Value* Properties Options
To navigate the numerous Properties Options, including the range and format of the values they accept, utilize the Page* and Value* Options with the console.
Example: Narrow the Properties Options with the Page* Options
Use Shift+Tab to discover the pages of the properties dialog box available to the command interface.
> Calibration subset | Properties Page(Shift+Tab)
"Page" matches actions
Properties Page4dDisplay
Properties PageAlongtrackDisplay
Properties PageAnalysis
...
Then list the Pairs from a particular page.
> Calibration subset | Properties PageAnalysis
BackgroundNoiseAt1m | -999.0 |
BottomEchoThresholdAt1m | -125.0 |
BottomLine | None |
...
Example: Determine Properties Arguments with the Value* Options
Use the Value* Options to list attributes of Property values.
> Calibration subset | Properties value(Shift+Tab)
"Value" matches actions
Properties ValueDefault
Properties ValueMaximum
Properties ValueMinimum
Properties ValueOptions
Properties ValueUnits.
List all choices for a value that accepts discrete settings.
> Calibration subset | Properties GridXAxis ValueOptions
Calibration subset | None TimeMinutes GPSDistanceNmi VesselLogDistanceNmi PingNumber GPSDistanceM VesselLogDistanceM WaterCurrentDistanceM TimeHours TimeDays
List the default, maximum or minimum value choices of a variable.
> Calibration subset | Properties GridXAxisSpacingInMinutes ValueMaximum
Calibration subset | 99999.99
> Calibration subset | Properties GridXAxisSpacingInMinutes ValueMinimum
Calibration subset | 0.01
> Calibration subset | Properties GridXAxisSpacingInMinutes ValueDefault
Calibration subset | 10.0
No data is a special value for some Options.
> Calibration subset | Properties GraphBeamXAxisMinimum ValueDefault
Calibration subset | No data
The Export Option
Output the Properties Options to a Export settings files (*.txt) file. The Export Option requires an Argument specifying the output path. For example,
> Ev File | Properties Export | C:\Users\EvFileSettings.txt
The format of the output file is
ObjectName PropertyName CurrentValue Units MinimumValue MaximumValue ValueOptions DefaultValue
The ObjectName is the name of the variable. ProperyName and CurrentValue are from the Name | Value PairsList.
PairsList values that are SpacedLists
Example: Obtain and modify values that are SpacedLists
Output the ping status colors as a SpacedList.
> Ev File | Properties PingStatusColors
Ev File | Blue Cyan Green Magenta Red Yellow White BlueDark CyanDark GreenDark
Reassign the ping status colors by specifying a new SpacedList.
> Ev File | Properties PingStatusColors = | Red Yellow Blue Green Cyan Magenta White BlueDark GreenDark CyanDark
Ev File
Now check the first item.
> Ev File | Properties PingStatusColors 0
Ev File | Red
Inspect items three to six.
> Ev File | Properties PingStatusColors 2..5
Ev File | Blue Green Cyan Magenta
Reassign items from index position 2 onward with an array of items, and immediately see the result.
> Ev File | Properties PingStatusColors 2 = | Yellow Green Magenta Red | Properties PingStatusColors
Ev File | Blue Cyan Yellow Green Magenta Red White BlueDark CyanDark GreenDark
You add or remove items by name, which you can find with the Value* Options.
> Ev File | Properties ExportAnalysisVariables = | None
Ev File
> ExportAnalysisVariables += | RegionId RegionClass
Ev File
> ExportAnalysisVariables
Ev File | RegionID RegionClass
> ExportAnalysisVariables -= | RegionClass
Ev File
> ExportAnalysisVariables
Ev File | RegionID
Example: Extending and contracting a variable-sized array
Add elements and check the result.
> Fileset 1: Sv pulse compressed wideband pings T1 | Properties CalibrationAssistantSphereFrequencyDistribution += | 10 20 30 40
Fileset 1: Sv pulse compressed wideband pings T1
> Fileset 1: Sv pulse compressed wideband pings T1 | CalibrationAssistantSphereFrequencyDistribution
Fileset 1: Sv pulse compressed wideband pings T1 | 10.0 20.0 30.0 40.0
You can overwrite and extend at the same time.
> Fileset 1: Sv pulse compressed wideband pings T1 | Properties CalibrationAssistantSphereFrequencyDistribution 2 = | 50 60
Fileset 1: Sv pulse compressed wideband pings T1
> Fileset 1: Sv pulse compressed wideband pings T1 | CalibrationAssistantSphereFrequencyDistribution
Fileset 1: Sv pulse compressed wideband pings T1 | 10.0 20.0 50.0 60.0
But you cannot leave a gap in the sequence.
> Fileset 1: Sv pulse compressed wideband pings T1 | Properties CalibrationAssistantSphereFrequencyDistribution 10 = | 70
ERROR | The index (10) is beyond the bounds ([0..3]) of Calibration assistant sphere frequency distribution.
Remove an item and check the result.
> Fileset 1: Sv pulse compressed wideband pings T1 | Properties CalibrationAssistantSphereFrequencyDistribution 3 -=
Fileset 1: Sv pulse compressed wideband pings T1
> Fileset 1: Sv pulse compressed wideband pings T1 | CalibrationAssistantSphereFrequencyDistribution
Fileset 1: Sv pulse compressed wideband pings T1 | 10.0 20.0 50.0.0
Some Property values are read-only for the console.
> Ev File | DataFileLocations += | "d:\echoview_user\data"
ERROR | 'Data File Locations' is read-only
Add the element with the GUI and check the result.
> Ev File | DataFileLocations
Ev File | "%Data File Folder%" "%EV File Folder%" "D:\echoview_user\data"
See also
About the command interface
About the console window
Exec
Using the console