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 Fileset 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 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 settings for EV File, Platform, Transducer, Surface, Exporter operator, Operator, Time series operator, region detection configuration and Variable Properties dialog boxes as Name | Value PairsList elements.

Use the Properties Information window to identify objects and properties that support read-write or read-only access through the Console or EvApplication.Exec(). Properties are grouped under categories corresponding to sections or pages in Properties dialog boxes. On the shortcut menu for a property, select Copy for Console to copy a Console-ready command to the clipboard.

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 each Name | Value pair in 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

Use the Page* and Value* Options in the Console to navigate supported properties and determine the range and format of accepted values.

The available Page* Options depend on the objects in the current EV file. When no object is selected, use Page(Shift+Tab) to list the Page* Options for objects that currently exist in the EV file. For example, PageBottomClassification is available when the EV file contains a Bottom points variable.

PageName

Properties dialog box

Description

Page4DDisplay

4D Display page of Variable Properties

Applies to multibeam raw and virtual variables.

PageAlongtrackDisplay

Alongtrack Display page of Time Series Properties

Applies to time series variables displaying alongtrack data in a Cruisetrack window.

PageAnalysis

Analysis page of Variable Properties

Applies to acoustic raw and virtual variables.

PageAttitude

Attitude page of Platform Properties

Applies to a platform and sets up heading source.

PageBottomClassification

Bottom Classification page of EV File Properties

Bottom classification properties.

PageCalibration

Calibration page of Variable Properties

Applies to acoustic raw and virtual variables.

PageClasses

Classes page of EV File Properties

Properties for Region classes, Species, Target class and Marker region creation. Properties for region display in echograms.

PageCruisetrackDisplay

Cruisetrack Display page of Variable Properties

Applies to position (GPS) variables.

PageData

Data page of Variable Properties

Applies to acoustic raw and virtual variables, for display and analysis thresholds.

PageDetection

Detection page of Fish Track Detection Configuration Properties

Detection page of School Detection Configuration Properties

Detection page of Multibeam School Detection Configuration Properties

Applies to Region Detection Configuration objects via the object name. The region detection configuration Name and Notes properties are handled under PageNameAndNotes.

PageEchogram

Echogram page of EV File Properties

EV file-level properties for Echogram mode, Show on echogram options and Multibeam replay rate.

PageEchogramDisplay

Echogram Display page of Variable Properties

Applies to acoustic raw and virtual variables for the display of color schemes, display limits, and the integram on single beam, single target, and multibeam echograms.

PageEvFile

EV File page of EV File Properties

EV file-level properties for file locations and workspace.

PageExport

Export page of EV File Properties

EV file-level properties for analysis variables, output biomass units and data format.

PageFilter

Filter Targets page of Variable Properties

Applies to acoustic raw and virtual single target variables.

PageGraph

Graph page of Variable Properties

Applies to Bottom points data output by a bottom classification displayed as alongtrack. Properties affect the associated first graph. Subsequent concurrent graphs can override the first graph's axes selection.

PageGrid

Grid page of Variable Properties

Applies to acoustic raw and virtual variables for echogram grid color, line and font.

PageLinePick

Line Pick page of EV File Properties

EV file-level line pick algorithm properties.

PageLinesOrSurfaces

Lines or Surfaces page of Variable Properties

Line display on echogram for single beam raw and virtual variables.

Surface intersection display on sector echogram for multibeam raw and virtual variables.

PageMapping

Mapping page of EV File Properties

EV file-level mapping properties.

PageMediaPosition

Media Position page of Variable Properties

Applies to media variables and provides properties for the platform, tow point, line, and media source.

PageGeneral

General page of Transducer Properties

General page of Platform Properties

Applies to transducer objects.

Applies to platform objects.

PageNameAndNotes

Name and Notes page of Variable Properties

Name and Notes page of Time Series Properties

Name and Notes page of Exporter Properties

Name and Notes page of virtual Surface Properties

Name and Notes page of Region Detection Configuration Properties

Applies to acoustic raw and virtual variables.

Applies to acoustic raw and virtual time series or line variables.

Applies to exporter objects.

Applies to virtual surfaces, with PageOperator for the surface operator.

Applies to region detection configuration objects. For these objects, PageNameAndNotes returns the Name and Notes properties; DynamicName is not supported.

PageNotes

Notes page of Surface Properties

Notes page of Transducer Properties

Applies to detected, surface-from-line, resampled, and imported surfaces.

Applies to transducer objects.

PageGeometry

Geometry page of Transducer Properties

Applies to transducer objects.

PageOperator

OperatorName page of Variable Properties

OperatorName page of Exporter Properties

OperatorName page of virtual Surface Properties

Applies to virtual variables or exporters or virtual surfaces.

 

PagePingStatus

Ping Status page of EV File Properties

EV file-level properties for ping status.

PagePosition

Position page of Platform Properties

Applies to platform objects.

PageProjection

Projection page of EV File Properties

EV file-level properties for mapping projection.

PageRegionDetection

Region Detection page of EV File Properties

EV file-level properties for preferred region detection configurations.

PageRegionStyle

Echogram display section of the Classes page of EV File Properties

EV file-level properties for the display of region classes.

PageRegions

Regions page of Variable Properties

Applies to acoustic raw and virtual variables for echogram region display and variable-level preferred region detection configuration.

PageDisplay

PageGeneral

PageNotes

PageRasterImages

PageTime

Detected, surface-from-line, resampled, or imported Surface Properties

Applies to detected, surface-from-line, resampled, and imported surfaces. For more information, refer to Creating surfaces and Detecting surfaces.

PageSurfaceDetection

Surface Detection page of EV File Properties

EV file-level properties for surface detection.

PageTimeSeries

Time Series OperatorName page of Time Series Properties

Applies to virtual time series variables.

PageTimeSeriesDisplay

Display page of Time Series Properties

Applies to raw and virtual time series variables.

PageTimeSeriesOverlay

Time Series Overlay page of Variable Properties

Applies to single beam acoustic raw and virtual variables for the display of time series overlaid on an echogram.

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 |

...

Note: Use ObjectName | Operands to list the operands of a virtual variable.

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 60.0

Example: Modify EV file search locations

The locations that Echoview searches for data files, calibration files and Python source files are variable-sized SpacedLists. Use the following EV File Property Options:

  • DataFileLocations
  • CalibrationFileLocations
  • PythonFileLocations

List the current data file locations.

> Ev File | Properties DataFileLocations

Ev File | "%Data File Folder%" "%EV File Folder%"

Add a data file location. Enclose a path in double quotation marks if it contains spaces.

> Ev File | Properties DataFileLocations += | "D:\echoview_user\data"

Ev File

Remove the location at index position 0.

> Ev File | Properties DataFileLocations 0 -=

Ev File

Replace the current list with a new location.

> Ev File | Properties DataFileLocations = | "D:\new data location"

Ev File

Set the list to None to remove all locations, effectively restores locations to those of a new EV file.

> Ev File | Properties DataFileLocations = | None

Ev File

See also

About the command interface
About the console window
Exec
Using the console