Inheritance of properties

Introducing inheritance of properties

Inheritance governs how your new virtual variable automatically adopts properties when you create it. These are the settings you see on the pages of the variable properties dialog box.

This is an important aspect of Echoview as some inherited properties affect ping sample data in your new variable. Refer to Inheritance and sample data below.

If you have inadvertently caused a new virtual variable to inherit incorrect properties, you can either replace the variable, or manually rectify the settings (in the properties dialog box, using the console or with a script).

Conceptualizing inheritance: child and parent variables

The new variable is the child, and it inherits properties from its parent variable. Refer to Figure 1 below for an example.

You specify the parent variable in Opernad 1 in all cases, except for the Arithmetic and Towed body time offset variables, for which it is Operand 2.

dB difference

Figure 1: The Fileset1: SV Q1 telegrams T1 raw variable is the parent variable, and the Q1 cleaned virtual variable is the child variable. If there are multiple operands dB difference or Q1 classified by dB difference, the parent variable is typically Operand 1 (refer to Conceptualizing inheritance: child and parent variables above).

About inheritance of properties

When inheritance occurs

Inheritance of properties happens only once for a virtual variable, at the instant when you pass an operand into it by

  • clicking on an existing variable in the Dataflow window and dragging in a variable from the Dataflow toolbox, or
  • dragging in a variable from the Dataflow toolbox and linking another variable to it, or
  • navigating away from the Operands page of the properties dialog box for the first time after creating the virtual variable.

If you change the properties of the parent variable, or change the parent variable after running any of the above steps for the first time, the updates will not propagate to the child (refer to Inheritance and sample data below).

What is inherited

In general the child variable inherits all properties from the parent.

What is not inherited

New virtual variables do not inherit the following properties from the parent.

  • Properties specific to an operator (e.g., the variable name, or the matrix values from any of the convolution operators).
  • Properties from the Notes page of the Variable Properties dialog box.
  • LocalCal calibrations from an ECS file (i.e., new variables inherit SourceCal).
  • Line visibility—the visibility for new virtual lines defaults to Show on all on the Visibility page.
  • Sounder detected exclude above and below lines.

Behavior for new Boolean variables

If the data type is Boolean, the color scheme, minimum and maximum data threshold and multibeam bottom preview are not inherited.

Behavior of the GLCM operator

The GLCM texture feature operator does not inherit the color scheme or the minimum and maximum data threshold.

Inheriting color legend settings

Neither new target length variables nor vessel speed at pings or ping time offset variables inherit the display minimum or range for the color legend.

Transducer geometry inheritance

Virtual variables inherit the transducer geometry. If multiple transducers exist in the EV file, you may alter it.

  1. Open the Calibration page of the Variable properties dialog box.
  2. In the Geometry section
    1. select the Override transducer inheritance checkbox, and
    2. choose the transducer from the drop-down menu.
  3. Click OK

Inheritance and sample data

Certain properties in the parent variable (e.g., the Minimum/Maximum threshold on the Data page and Calibration settings on the Calibration page) can filter or modify ping sample data for the child and subsequent variables at the point of inheritance (refer to When inheritance occurs above).

Trace through the property settings in your inheritance chain if you suspect this is affecting your data.

Inheritance of properties before Echoview 5.0

The current inheritance implementation in Echoview may not be backward compatible with EV files created with versions earlier than Echoview 5.0.

If you attempt to open such an EV file, Echoview will modify the inheritance chain to conform with the current paradigm (refer to Conceptualizing inheritance: child and parent variables above).

Furthermore, Echoview may not recognize the calibrations settings from earlier versions (refer to Transition from Echoview 4 and Transition for calibration scripting).

See also

Calibration settings for virtual variables
Creating and deleting virtual variables
About virtual variables
About the Dataflow window
About the Dataflow Toolbox
Virtual variable applications