Skip to content

Object Tree

The Object Tree is a powerful feature of the IGMAS+ GUI that allows you to view and manipulate the structure of your project. It provides a hierarchical view of all objects in your project.

In this chapter, you will not only learn how to use the Object Tree to manage your project objects but also the basic concepts of the IGMAS+ modelling. This includes the model, bodies, interfaces, working sections, anomaly fields, stations, voxel cubes, etc.

The Object Tree is located on the left side of the GUI and displays all objects in a tree-like structure.
You can use the Object Tree to search select, rename, delete, and organize objects in your project.
Each object can be expanded or collapsed to show or hide its children:

IGMAS+ Object Tree

IGMAS+ Object Tree

Objects are organized in a hierarchical structure, with the root object at the top and child objects nested below. The Object Tree is divided into several sections, each representing a different type of object in your project:

  • Project icon Project: The root object of the project. It contains all other objects in the project:
    • Model icon Model: The model object represents the entire model in your project. It contains all other objects related to the model, such as:
      • Fields icon Fields: the measured, calculated and residual anomaly fields of the model, grouped by their type (e.g., Gravity: z-component, Geoid Undulation, Magnetic: Total Field induced, etc).
      • Interface icon Interfaces: the interfaces of the model, which are used to define the boundaries between the bodies in the model.
      • Section icon Sections: the working sections of the model, vertical planes that are used to edit and visualize the model.
      • Station icon Stations: the stations of the model, which are used to define the locations of measurements in the model.
      • Voxel icon Voxel Cube: the voxel cube of the model, a 3D grid of voxels.
    • Clipping plane icon Clipping Planes: the clipping planes of the model, which are used to define the boundaries of the model in the 3D view.
    • Image icon Bitmaps: collection of images that can be visualized in the 3D and 2D views.
    • Bookmark icon Bookmarks: the bookmarks of the model, which are used to save the various camera positions in the 3D view.
    • Additional data icon Additional Data: the additional data of the model, e.g. set of points Points icon or lines Lines icon.

Model

IGMAS+ workflows are based on the concept of a 3-D subsurface model, which is a simplified representation of a real-world subsurface.

Here is a couple of nice quotes that might be good to keep in mind about the models:

Quote

A theory has only the alternative of being right or wrong. A model has a third possibility: it may be right, but irrelevant.
Manfred Eigen

Quote

All models are wrong, but some are useful.
George E. P. Box

The Model icon Model object represents the entire model in your project. It contains all other objects related to the model, such as fields, interfaces, sections, stations and a voxel cube.
The model name is displayed in the Object Tree in square brackets after Model, e.g. Model [Synthetic Saltdome].

The Model properties are:

Model properties

Model properties

  • Name: The name of the model. It can be changed here.
  • Body Count: The number of bodies in the model (fon information only, can't be changed here).
  • Projection: The geographic projection of the model coordinates. It can be changed here, see more in the Projections chapter.
  • Properties related to the magnetic field calculation:
    • magnetic total field: The magnitude of the inducing total magnetic field. Can be changed here.
    • inclination: The inclination of the inducing total magnetic field. Can be changed here.
    • declination: The declination of the inducing total magnetic field. Can be changed here.
  • vertical exaggeration: The vertical exaggeration of the model. It is used to visualize the model in the 2D and 3D views. Can be changed here.
  • Triangle Kernel: The properties related to the triangle (polyhedron) computation kernel of IGMAS+:
    • Algorithm: The algorithm used to calculate the response of the polyhedron model. Can be changed here.
    • gravitational constant: The gravitational constant used for the gravity anomaly calculations, both for polyhedron (triangles) and voxel (voxels) models. Can be changed here.
    • Use Triangle anomaly: The option to turn on or off the triangle (polyhedron) anomaly calculation.
  • Border Effect: The properties related to the reduction of the border (edge) effect of the model:
    • border-algorithm: The option to select an algorithm used for reduction of the border effect of the model. Default is none, which means there is no reduction of the border effect.
    • Use border anomaly: The option to turn on or off the border effect reduction.

Bodies

The basic model element is the body, which defines an area of constant physical parameter (e.g. density, susceptibility). Its hull is composed of a number of triangles with controlled orientation. This hull has to be complete, without gaps or overlapping triangles.

For a single isolated body there is Reference body that is surrounding it, but usually a body has more than one direct neighbors.

Interfaces

An interface is a set of triangles separating two bodies. Each interface belongs to one body on the right hand side and to another body on the left hand side.

Note

Left and right is defined by the mathematical orientation of the triangle, not by the geometry itself (see Triangle Orientation).

The core Interfaces object has the following uneditable properties:

  • Interfaces: total number of interfaces in the model
  • Triangle count: total number of triangles in the model

IGMAS+ Interfaces - Properties
IGMAS+ Interfaces - Properties

All existing interfaces are listed in the Object Tree under the Interfaces object and are grouped by their body names. Their visualization in the 3D View may be switched on or off using the check-boxes.

IGMAS+ Interfaces - Objects
IGMAS+ Interfaces - Objects

Under the body name, all interfaces surrounding this body are listed:

IGMAS+ Interfaces - Body - Objects
IGMAS+ Interfaces - Body - Objects

Two body names for each single interface, which are separated by the body separator <>, e.g Caprock <> Cretaceous. The first name specifies the name of the left body, the second name the body on the right hand side.

The list entries are sorted according to bodies: Each body has an entry in the first hierarchical level, followed by all interfaces surrounding this body, i.e. building its complete hull.

The interfaces themselves as well as their list are built
automatically and cannot be changed by the user.

The following figure shows all interfaces which belong to the hull of the Caprock body from the Salt Dome model:

Caprock body hull

Caprock body hull

These interfaces are:

  • Caprock and Cretaceous - Caprock <> Cretaceous (orange)
  • Caprock and Zechstein - Caprock <> Zechstein (orange)
  • Reference and Caprock - Reference <> Caprock (cyan)

Together they build the complete hull of the body Caprock.

Interfaces are the actual targets for the anomaly calculation: there is no anomaly without at least one interface separating two bodies with different physical parameter.

While interface properties are not editable, each interface link to the following body properties:

Object tree - interface and body properties

Object tree - interface and body properties

Sections

Sections or working sections are vertical planes, which are used as carriers for the geometry vertices. Each vertex of a triangle lies on one of the sections, the vertices of each triangle have to lie either on adjacent sections, or on the same section (in this case they are vertical). There are no vertices between the sections.

All sections of the model have to be parallel to each
other, however, they do not have to be equidistant nor do
they have to be parallel to the axes.

Each section has the following properties:

Object tree - section properties

Object tree - section properties
  • Name (Default: An index): May be changed.
  • Section Normal: The normal defines the orientation of the section, it is not changeable, as it has to be defined during the model initialization process.
  • Point: The two points define the position of each section (not changeable for an existing model).
  • Section Mirrors: Each section may be accompanied by one or two mirror sections, which may be used to control the 3D triangulation. Please refer to the EVA example for more details on the use of section mirrors.

You may Remove or Copy and Shift an existing section (Right Button in the Object Tree).

Note

Use EditModel - Triangulation or Triangulation icon after these operations.

The 2D View (Add ViewAdd 2D View or 2D View icon in the Toolbar) is used to display the geometry on the sections.
Sections be edited only in the 2D View.

Polygons and Vertices

The 2D View show the model along the section, which is composed of polygons.

The polygons are defined by a number of vertices, usually marked with grey circles:

Polygon vertices

Polygon vertices

Vertices marked with red colour are associated to triangulation errors:

Polygon vertices associated to triangulation errors

Polygon vertices associated to triangulation errors

See more about the triangulation errors in the Model Triangulation chapter.

The vertex symbols may be switched on and off use V key. Their size and color may be changed using EditPreferences.

Polygons are always related to a section. Their properties are:

Polygon properties

Polygon properties

  • Body Part Index: a name or a number (index), which may be assigned to each polygon. This name is used to identify geometrically separated parts of the same body.
  • zState: Position of a polygon relative to the other polygons of the same body. The zState is for information only, and is not editable. Possible values are:
    • MIDDLE: The same body has a polygon on the next and on the previous section. May be used for continuous triangulation.
    • ALONE: No polygon of the same body on the adjacent sections. Polygon is not used for the triangulation.
    • FRONT: The same body has a polygon on the previous section, but not on the next one. The corresponding section is the last section defining this body.
    • BACK: The same body has a polygon on the next section, but not on the previous one. The corresponding section is the first section defining this body.
  • Body: The interior of the polygon defines the intersection of a body with the vertical section. The body itself can't be changed here, but may be changed using the function Set Body(s) (see, e.g. EVA example).

The vertices define the geometry of the polygon. They may be shifted, deleted or inserted (see Geometry Modification chapter).
A polygon may be removed using Right Button click on a polygon in the Object Tree and then Remove.

Fields

The Fields object contains all the anomaly fields of the model: measured, calculated and residual anomaly fields of the model, grouped by their type.

You can turn the visualization of the fields in the different views on or off using the check-boxes.

The anomaly fields are given at each station as point data.
For the 3D View the station points are
triangulated and built into a color-coded surface:

Fields - in 3D view

Fields - in 3D view

For the 2D View the station triangulated surface is projected on the section plane and displayed as a profile line above each section:

Fields - in 2D View

Fields - in 2D View

Note

Click on the legend entry to change the color and line style of the corresponding field profile line:

Fields - 2D View legend

The following fields are available (each measured or/and calculated, and corresponding residual):

  • Gravity icon Gravity: The three components of the gravity field, i.e. the x-component, y-component and z-component: GxG_x, GyG_y amd GzG_z.
    GzG_z, the vertical component of the gravity field, is usually called "gravity field".
  • Gravity icon Gravity invariants: Inv0Inv_0, Inv1Inv_1 and Inv2Inv_2;
  • Gravity icon Gravity gradients: All tensor components of the gravity gradient tensor: GxxG_{xx}, GxyG_{xy}, GxzG_{xz}, GyxG_{yx}, GyzG_{yz} and GzzG_{zz} (6 components due to symmetry of the tensor), and also the horizontal gradient HGzHG_z and horizontal directive tendency HDTHDT which are based on the invariants;
  • Magnetic icon Magnetic quantities: The three components MAGxMAG_x, MAGyMAG_y, MAGzMAG_z, the total magnetic field anomaly MAGtotMAG_{tot} and the total sum of induced and remanent field anomalies MAGtotrMAG_{totr};
  • Magnetic icon Magnetic gradients: MxxM_{xx}, MxyM_{xy}, MxzM_{xz}, MyxM_{yx}, MyzM_{yz} and MzzM_{zz} (6 components due to symmetry of the tensor).

Field available for calculation in IGMAS+

Field available for calculation in IGMAS+

Each field has its individual properties:

Individual field properties

Individual field properties

  • Auto Shift: The constant offset between measured and corresponding calculated anomaly field is subtracted automatically, if switched on.
    The algorithm behind this shift is described in the tutorial:

    ```math
    {\mathrm{shift}} = \mathrm{mean} \mathrm{(observed~field)} – \mathrm{mean} \mathrm{(modelled~field)}

      ```math
    \mathrm{calculated~value} = \mathrm{modelled~value} + \mathrm{shift}
    

    This correction is updated after each modification of the calculated anomaly.

  • Shift value: Only used, if Auto Shift is switched off - the value is used to be added to the calculated anomalies, which causes a constant offset (or shift).
  • error: Estimated error of the anomaly fields. It is used for the linear inversion of the physical parameter(s).

    Note

    error gz indicates the estimated error of the component \(G_z\), error gxx is the estimated error of the component \(G_{xx}\), etc.

  • Statistics: shows the following statistical values:

    • Standard Deviation: The standard deviation of the calculated anomaly field from the measured anomaly field
    • Average: The average difference between measured and calculated anomaly field (which is the Shift value, see above)
    • Variance: The variance of the anomaly field, calculated as the square of the Standard Deviation.

    These values are only for information, and only available, if both measured and calculated fields are defined. They are updated after each modification of the calculated anomaly.

Each field can be visualized in the 2D View, 2D Maps View and 3D View.

In the properties of the Field object you can adjust the way the field is visualized in the 3D View:

Fields properties

Fields properties

  • Transparency: control the transparency of the anomaly representation using the Transparency slider
  • Light: switch shading "on" or "off" using Light check-box
  • Show in 3D: select the field to be visualized in the 3D View
  • Exaggeration: change the exaggeration factor of the field
  • Offset: change the vertical offset of the field above the model

For instance:

Measured field in the 3D view with zero exaggeration factor, adjusted vertical offset and 30% transparency

Measured field in the 3D view with zero exaggeration factor, adjusted vertical offset and 30% transparency

Stations

The observed, calculated or residual anomaly fields are defined at stations i.e. a set of points with coordinates (\(x\), \(y\), \(z\)). If the elevation (\(z\)) is not given, 0 is assumed.

An offset (default: 13 cm) may be added to each station elevation. IGMAS+ assumes the coordinate system of model and station data to be identical.

The station positions are displayed as red points in the 3D View, connected by a red triangulated surface:

Stations in the 3D view

Stations in the 3D view

In the 2D View the approximate positions of stations are displayed as a red line, which is the projection of the triangulated surface on the section plane:

Stations in the 2D view

Stations in the 2D view

The station coordinates are imported together with the measured field(s) from a station file.

This function is deactivated, if there is no model present.

Please refer to the tutorial for a detailed discussion on station elevation.

Stations the following properties:

Station properties

Station properties

  • Station Count: The number of stations in the model (for information only, can't be changed here).
  • Name: The file name used to load the station data (for information only, can't be changed here).
  • Projection Distance (default 0): This value is used as the maximum distance (in model units) of station locations to be projected on the 2D View. The projected measured stations are marked with the + symbol, the calculated stations with a dot. The default value 0 results in no projected station symbols at all.

Stations in the 2D view with non-zero projection distance

Stations in the 2D view with non-zero projection distance
  • Difference Offset (default 0.001): Offset for calculation of magnetic gradients, related to the difference quotient. The default value is in model units.
  • zOffset (default 13 cm):
    This offset will be added to every station elevation. It may be used to shift all the station elevations by the same amount. The default of 13 cm represents the standard the distance of a gravimeter system from the ground (see more in the tutorial).

Voxel Cube

What is a voxel?

A voxel, short for "volumetric pixel," is a three-dimensional pixel element used to represent a value on a regular grid in three-dimensional space. Similar to how a pixel represents a point or an area in a two-dimensional image, a voxel represents a point or a volume element in a three-dimensional space, typically in the context of computer graphics, medical imaging and scientific visualization. Each voxel contains information about properties such as color, density, texture, or other attributes, depending on the application. Voxel-based representations are commonly used in various fields for tasks like modeling, simulation, analysis, and rendering of three-dimensional data.

Voxel cubes are used to represent a model as a 3D grid of voxels. The voxel cube is a 3D grid of regularly spaced points, each representing a voxel with a constant physical parameter (density or susceptibility).

Note

Strictly speaking, "cube" is not a correct term here, parallelepiped is the appropriate one. We use cube for historical reasons and simplicity.


Clipping Planes

IGMAS+ models are often extended laterally in order to avoid edge effects.
As these extensions are cumbersome for 3D visualization, they are clipped automatically in 3D views, using:

  • the lateral bounding box spanned by the station positions
  • the maximum vertical extension of the model and the station elevation, respectively

Clipping planes for the laterally extended model

Clipping planes for the laterally extended model

The clipping planes Clipping plane icon (clipplanes) define the clipping box of the model. The clipping planes are used to cut the model in the 3D view, so that only the part of the model inside the clipping box is displayed.

Clipping planes are six planes (Right, Left, Back, Front, Top, Bottom), one for each side, with the following properties:

Clipping planes properties

Clipping planes properties

Their positions may be changed using the slider (select the appropriate entry in the Object Tree, then the Property Editor Tab). To reset the position of the six clipping planes, use the Property Editor Tab of the Clipplanes entry in the Object Tree.

Use Clip to model icon Clip to model icon on the Tool bar to set the clipping planes to the model bounding box. This is useful if you want to visualize the whole model in the 3D View.

Use Clip to stations icon Clip to stations icon on the Tool bar to set the clipping planes to the bounding box of the stations. This is useful if you want to visualize the model in the 3D View without the extensions and focus on the stations.

The following figures show the same model as in the previous figure, but clipped to the area covered by stations, without (left) and with (right) clipping plane visualization:

Model clipped to stations without clipping planes

Model clipped to stations with clipping planes


Bitmaps

... to be added ...


Bookmarks

... to be added ...


Additional Data

... to be added ...


The Search function allows you to quickly find objects in the Object Tree by name one by one (by using up and down arrows or by pressing Enter):

Object Tree - Search

Object Tree - Search

or highlight all of them at once by using the list icon:

Object Tree - Highlight search results as a list

Object Tree - Highlight search results as a list

The search results are highlighted in the Object Tree, and you can click on an object to select it.