Using the command interface

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.
  • > Calibration subset | Properties SinglebeamFlipVertically

    Calibration subset | false

  • The result may include values that are SpacedLists.
  • Refer to PairsList values that are SpacedLists for examples on manipulating value arrays.

  • Querying multiple Objects returns the Name | Value pair of the PairsList on a new line.
  • > 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