# 4.1.1.2. Data Manipulation Menu¶

## 4.1.1.2.1. Set input/output data headers¶

Input/output (i/o) data headers are important because it symbolized the data columns that will be exported to GIF inversion codes. If i/o headers are required, but not filled, they will appear in red in the information panel provided to the right of the data object when selected:

To set the i/o header, select the object and then the menu Data manipulationset I/O headers

## 4.1.1.2.2. Downsample Data¶

Data may be downsample in three ways: Simple down-sampling, mesh-based and by distance. With any method that deletes data locations, a new data object will be created after downsampling. See below for details.

### 4.1.1.2.2.1. Traditional downsampling¶

Traditional downsampling requires a number, $$n$$, which represents the fractional number of data kept (e.g, 3 is one-third, 4 is one-quarter). This downsampling can be done on any data object as the algorithm finds only the unique horizontal locations of data. To downsample the data this way, the menu structure is:

Data manipulationDownsamplingSimple

NOTE: This method of downsampling can be reached from the data viewer. Data first need to be selected (to either be downsampled or left alone) via the ViewEditData selection tab of the viwer control dialog. Then select its neighbouring tab: ViewEditSimple edit and select the radio button under “Downsample area.” The value associated with this will be $$n$$ as given above. A new data object name will be required.

### 4.1.1.2.2.2. Downsample by mesh¶

The second method of downsample requires a mesh (either 3D or ocTree) and will keep only one datum location per cell. EM data will have its times/frequencies preserved. The option also allows for either the closest location to the centre of each cell or a random location in each cell will be chosen. To access this function use:

Data manipulationDownsamplingMesh Based

### 4.1.1.2.2.3. Downsample by distance¶

The third method downsamples the data based on the distance between points

Data manipulationDownsamplingDistance

## 4.1.1.2.3. Remove data outside mesh¶

This function allows the user to remove data outside of a 3D mesh region that is of interest. With any method that deletes data locations, a new data object will be created after mesh-based removal. There are two options to choose: (1) removal outside the horizontal extent of the mesh or (2) removal outside the entire extent of the mesh. To perform either of these two tasks, click on the data object and then use the following menu (number corresponds from above):

1. Data manipulationRemove dataOutside mesh lateral extent or

2. Data manipulationRemove dataOutside of an entire mesh

## 4.1.1.2.4. Calculate a polynomial trend¶

Any data column may have a polynomial trend calculated. For access to this feature via magnetics or gravity data, click on the data item of interest and use the menu below. For all other data types, this feature can be accessed though the data viewer (See Note 2).

Data manipulationCalculatePolynomial trend

The calculation of a polynomial trend can be accessed in the data viewer. Data first need to be selected via the ViewEditData selection tab of the viwer control dialog. Then select its neighbouring tab: ViewEditRegional fit. A new data column name is manditory as well as the degree of polynomial.

Note

For removal of the trend, see the Calculator for how to subtract one column from another within a data object.

## 4.1.1.2.5. Apply a simple math operation to data¶

This functionality is used to apply basic math operations to a column of data. To access this functionality, click on the data item of interest and use the menu:

Data manipulationCalculate

Actions can be performed through the following pop-up window:

Step 1: For $$x$$ (Property), $$c$$ (Value or Property) and $$y$$ (new Property), choose from the following set of mathematical operations.
• Addition: adds Value to the selected Property; e.g. $$y = x + c$$

• Subtraction: subtracts Value from the selected Property; e.g. $$y = x - c$$

• Multiplication: multiplies the selected Property by Value; e.g. $$y = x \times c$$

• Division: divides the selected Property by Value; e.g. $$y = x / c$$

• Power: computes the power (elementwize) of Property by the Value; e.g. $$y = x ^ c$$

• Exponential: computes the power (elementwize) of Value by the Property; e.g. $$y = c^x$$

• Logarithm: computes the logarithm of Property with base Value [$$2 | 10 | e$$] ; e.g. $$y = log_c(x)$$

• Replace Min: returns the smaller of the two values when comparing Value to each entry in the selected Property; e.g. $$y = \textrm{min}(x,c)$$

• Replace Max: returns the larger of the two values when comparing Value to each entry in the selected Property; e.g. $$y = \textrm{max}(x,c)$$

• Absolute: returns the absolute value of Property; e.g. $$y = |x|$$

• Deg -> Rad: returns Property in radian; e.g. $$y = x * \pi / 180$$

• Rad -> Deg: returns Property in degree; e.g. $$y = x * 180 / \pi$$

Step 2: Set :math:x Choose a property Property from the drop-down menu
• OPTIONAL: For EMdata objects, operations can be applied on a single frequency or time channel.

Step 3: Set :math:c
• OPTION 1: Chose a Property from the object

• OPTION 2: Enter a number into the field for Value

Step 4: Determine if new Property is created
• Create is not selected: The new Property of data will replace the selected Property of data

• Create is selected: A new Property is created for the calculated data and a name must be provided

Step 5 [OPTIONAL]: Apply and continue
• Allows the user to keep the Calculator window opened and proceed with more operations. Any new Property columns are added to the drop-down menues.

Note

Spatial (X,Y) i/o Headers are not shown within the calculator. To apply the constant calculator to the x- or y-coordinates, remove them from the i/o header.

### 4.1.1.2.5.1. Add Gaussian noise to data¶

On occasion, one may want to add noise to a forward modelled dataset in order to test an inversion. To add Gaussian noise to a data column or columns, click on the data item of interest and use the menu:

Data manipulationCalculateAdd Gaussian noise

NOTE 1: Spatial (X,Y) i/o Headers are not shown within the calculator.

### 4.1.1.2.5.2. Add Constant Column¶

One may want to append a constant value to the data object.

### 4.1.1.2.5.3. Calculate line and bearing¶

Geophysical survey are often collected along survey lines. While the data may have Easting and Northing information, it is often useful to also know the direction (bearing) of survey. This function groups the survey observation stations with line IDs, and provide the local bearing of each observation with respect to its nearest neighbours.

NOTE: The assumption is made that survey points are provided in the same order as they were collected.

### 4.1.1.2.5.4. Calculate elevation from surface¶

This functionality allows the user to create an elevation (height of the data) column from a surface or topography object using a linear interpolation method. Elevations can be set at, above or below the surface by a specified amount. In addition, data columns (such as a flight altitude column) within the data object can be used to create the elevation values. This functionality is accessed through:

Data ManipulationCalculateCalculate elevation from surface

## 4.1.1.2.6. Coordinates¶

This functionality is accessed through:

Data ManipulationCoordinates

and can be used to:

• rotate or shift raw data into a local coordinate system

• use altitude data and surface topography to determine the data elevation

### 4.1.1.2.6.1. Shift spatial coordinates¶

This functionality allows the user to shift the Easting and Northing locations of the data within a data object. The action creates new data columns and does not delete the preexisting Easting and Northing locations. This functionality is accessed through:

Data ManipulationCoordinatesShift spatial coordinates

### 4.1.1.2.6.2. Rotate spatial coordinates and data¶

This functionality allows the user to change the Easting and Northing locations of the data within a data object by rotating about a fixed point. The use may also apply the rotation to specified data columns; this is useful when the dataset contains horizontal field measurements. This functionality is accessed through:

Data ManipulationCoordinatesRotate spatial coordinates

### 4.1.1.2.6.3. Use look-up table¶

This functionality allows the user to convert locations of the data from local coordinates to Easting and Northing by using a Survey file. This operation is routinely performed after importing raw DCIP2Ddata objects.

Data ManipulationCoordinatesLook-up table

## 4.1.1.2.7. Assign uncertainties¶

Assigning uncertainties is vital to inversion and therefore is also required as an i/o header. An explanation of the uncertainties and their role in the inversion process can be found in inversion fundamentals. To assign uncertainties to a data object, click on the object and select the menu:

Data manipulationAssign uncertainties

### 4.1.1.2.7.1. Frequency and Time-Dependent Uncertainties¶

#### 4.1.1.2.7.1.1. GUI¶

The user may want to specify or visualize a particular floor and percent for the uncertainties at every distinct frequency/time. In this case, the user may select:

• Data manipulationAssign uncertaintiesGUI

If the data and uncertainties I/O header has been set, error bars will be auto-populated. Uncertainties are assigned or modified by carrying out the following steps:

• FOR ALL data columns you want to compute and assign uncertainties for:

• Select the data column from the data type drop-down menu

• Fill in the Column name to specify the name of the column containing the uncertainties

• FOR ALL times/frequencies you want to compute and assign uncertainties for:

• Select the time/frequency from the time/frequency drop-down menu

• Under Select data, specify the percent uncertainty ($$0 < \varepsilon_\% < 100$$) and floor uncertainty for those data

• Click Assign selected to apply the uncertainties to that particular data type and time/frequency. Click Assign to all to apply the same factional percent and floor to the data at all times/frequencies. If either of these buttons is not clicked, GIFtools will not temporarily remember these uncertainties while calculating uncertainties for another data type and/or frequency.

When uncertainties for all data columns have been assigned, select OK to finish

#### 4.1.1.2.7.1.2. Column File [% | floor]¶

Users can load percentages and floors uncertainties at every distinct frequency/times from a column file. The user will be prompt with a list of properties to use. Multiple channels (i.e. Real and Imaginary data) can be set with the same file.

Important

The number of rows in the selected file must equal the number of frequencies/times present in the data object.

### 4.1.1.2.7.2. Assign Simple Uncertainties¶

To apply a constant floor value and identical percent when computing uncertainties for all data, select:

Data manipulationAssign uncertaintiesSimple

## 4.1.1.2.8. Add data from another data object of same type¶

Any data object can be combined with another data object from its same class (e.g., MAGdata with MAGdata). Click on the data item of interest and, With the exception of DC/IP data (see NOTE below), use the menu:

Data manipulationMerge [data class] objects

NOTE: DC/IP data: For DC or IP data, this function is found using the menu structure:

Data manipulationAdd dataMerge [data class] objects