_images/logo_about.png

Welcome to the documentation of InnStereo!

InnStereo (abbreviated from Innsbruck Stereographic) is an open-source stereographic projection program, intended for usage in geology and structural geology. The program aims to be similar to TectonicsFP in usability and functionality. Visit InnStereo’s website at www.innstereo.com.

The program is written in Python 3 and relies on MPLStereonet for stereographic calculations. The plots are rendered using Matplotlib and many calculations rely on Numpy. The graphical user interface is built using GTK+ and the Glade rapid application development program.

The program is currently in early development and the source-code is tracked in this Github repository. Due to the early stage of the development the documentation will still undergo frequent changes.

Contents:

User interface

This page offers an brief introduction to the user interface of Innsbruck Stereographic. Detailed information to some of these interface elements can be found by following the links.

The logic of the main window is to give the data as much space as possible and limit the visible icons to functions that will be used in most sessions. Furthermore the icons are grouped according to their context. Layer operations are close to the layer-view and dataset operations are close to the dataset-view. The calculations that take layers as input and output a new layer are grouped at the top.

The user interface aims to conform to the GNOME Human Interface Guidelines.

Canvas

The canvas is the central and most important part of the interface. It displays different plots and the legend. The layout of the plots depends on what view is currently selected (For details see: Views).

screenshot of the whole graphical user interface

The graphical user interface how it appears on the Gnome 3 desktop with the figure canvas in dark grey showing a single stereonet.

Project Functions

The project functions are still under development. A new project can be created by clicking on the first button of the row. Saving and loading of projects will be implemented soon.

screenshot with the project functions highlighted

The project functions allow the creation of a new project. Saving and loading projects will be implemented soon.

Printing and Image-Export

There are two ways to export images from Innsbruck Stereographic. A print function (not implemented yet) and an image-export dialog.

screenshot with the printing and image export button highlighted

The project functions allow the creation of a new project. Saving and loading projects will be implemented soon.

The image export dialog can save images in a number of different formats. Especially the vector formats, for example SVG, are ideal for publishing and post-processing. SVGs can be edited in programs like Inkscape to be print-ready.

screenshot with the image-export dialog highlighted

The image export dialog offers different image formats.

Plot Settings

The plot-settings button from the top toolbar opens the plot-settings dialog.

screenshot with the plot settings button highlighted

The plot-settings button.

The dialog allows the user to change general settings of the plot. An important option is the pixel density setting. The number depends on the pixel density of the users screen and can affect the readability and the sharpness of the lines and symbols.

The next option lets the user change the projection of the stereonet. Two options are available: an equal area and an equal angle option (For details see: Stereonet).

Below that are options to turn the grid of the stereonet on and off, and the option to turn the legend on or off.

screenshot with the plot settings dialog highlighted

The plot-settings dialog has option for the pixel density, the projection of the stereonet, grid settings, and legend settings.

Steronet operations

The next group of buttons in the menubar perform stereonet operations. This part of the interface will likely still undergo many changes. Currently there are options to calculate the eigenvalue of a layer, move the poles of a layer to an independent linear dataset, and the option to find the best-fitting plane for a set of linear elements.

screenshot highlighting the buttons that execute stereonet operations

The highlighted buttons perform stereonet operations on the selected layers.

Layers-Section

Layer operations

This part of the interface performs layer operations. This includes adding new data-layers, grouping layers, and deleting layers. The operations affect the layer-view which lies to the right of these buttons (See section: Layer view)

The 5 circular symbols, that each have a green plus symbol, create new layers, that correspond the the 5 datatypes that Innsbruck Stereographic uses. This includes layers for planes, linears, faultplanes, folds and small-circles (For details see: Layer types).

screenshot highlighting the buttons for layer operations

The highlighted area shows the buttons that perform layer operations.

Layer view

The layer-view lists all the layers of a project. There are data-layers and group-layers. Group-layers are folders that can hold many data-layers. Group-layers have a folder symbol, while data-layers have a coloured box, that corresponds to either the great- or small-circle colour, or the filling of the marker for linear datasets.

The checkbox allows the toggling of each layers’ visibility in the plot. A group layer that is turned off, means that all the data-layers it contains, will not be drawn either.

One or more layers can be selected for calculations, grouping, or deleting. Drag-and-drop is currently under development.

screenshot highlighting the layer view

The highlighted area shows the layer view with a few nested layers.

Layer-Settings Dialog

Double clicking on a data-layer opens up the layer-settings dialog. This dialog allows each layer to be customized individually. This includes various formatting options and how the layer should be drawn. For plane-layers for example the user can customize the styling of the great circle and the pole point. The user can also choose to draw the great circle, the pole point, or both.

screenshot highlighting the layer settings dialog

By double clicking on a layer, the appearance can be customized in the layer-settings dialog.

Colours can be chosen for the lines, and the fill and edge of markers. This is done by clicking on the colour-buttons, which opens the colour-chooser dialog.

screenshot highlighting the color-chooser dialog

Clicking on a colourbutton in the layer-settings dialog, open the colour-chooser dialog.

Data-Section

Data Operations

The menubar for data operations stores functions that affect the data of a layer. The buttons only work when a layer is selected in the layer-view. When zero layers or more than one layer is selected, the buttons will not work.

The first button can be toggled on, to directly draw datapoints on the stereonet. There is also a button to add empty lines to the layer, to enter data in the data-view cells. The button with the folder icon opens the data-import dialog (For details see: Data Input and Output).

screenshot highlighting the menubar for data-operations

The data operations include options to add and remove lines, import data, and draw points directly on the canvas.

Data-View

The data-view displays the datapoints of the currently selected layer. If no layer or a group-layer is selected the data-view will be empty.

screenshot highlighting the data-view

The data-view lists all the datapoints of the currently selected layer.

Statusbar

The statusbar lies below the figure canvas and is either empty or shows the dip-direction and dip of the current mouse-cursor position, when the mouse-cursor moves of the stereonet.

screenshot highlighting the statusbar and the dip-direction and dip indicator

When moving the mouse of the stereonet, the statusbar will show the dip-direction and dip of that point.

Stereonet

The stereonet or stereographic projection is the most important visualization tool for orientation data in structural geology. Most figures are made using an equal area projection, but sometimes and equal angle projection is used as well.

Projections

Equal area projection

In most cases it is preferable to use a projection that optimises equal area, because it makes it easier to assess the spatial distribution of structures. The projection that is usually chosen for this, is the Lambert Azimuthal Equal-Area Projection with equatorial aspect (See: Snyder 1987, p. 182). In geology this is usually referred to a Schmidt Net, after Walter Schmidt.

equal area stereonet with small circles showing consistent size

Small circles (all 10° radius) make it easier to see that area is preserved reasonably well across all orientations. Angles are slightly distorted and make the circles appear as ellipses.

The x-axis (horizontal) and y-axis (vertical) coordinates of a latitude-longitude measurement can be calculated using the following formula:

\[x = Rk \cos(\phi) \sin(\lambda - \lambda_{0} y = Rk \sin(\phi)\]\[\phi = Latitude \lambda = Longitude \lambda_{0} = Central Meridian (y-axis)\]

With k equal to:

\[k = \frac{2 k_{0}}{1 + \cos(\phi) \cos(\lambda - \lambda_{0}}\]
Equal angle projection

Equal angle projection preserve angle but severely distort areas. The projection used for this kind of plots is the Stereographic Projection with equatorial aspect (See: Snyder 1987, p. 154). This is usually referred to as a Wulff Net in geology, after Georgij Viktorovich Wulff.

equal angle stereonet with small circles showing inconsistent size

Equal angle projections preserve angles, which can be seen by all small circles being perfect circles. Areas are not preserved and this is shown by the varying projected size of the small circles (all 10° radius).

Further Reading

Layer types

Innsbruck-Stereographic has 5 different layer types, that each have specific use cases. They are described in detail in the following sections. Each layer type has different formatting options and certain calculations are limited to one layer type.

Plane dataset

A plane dataset are used for any geologic structure that can be abstracted to a plane. In a stereonet a plane can be displayed as either a great circle or its pole.

stereonet with great circle and pole

A plane oriented 140/40 is shown here both as a great circle and a pole.

Another important information for planes is their stratigraphic orientation. This information can be entered in the “Stratigraphy”-column, but is not required. An “n” indicates that the plane is oriented normally and an “i” indicates that the plane is oriented inversely.

Line dataset

Line datasets should be chosen for structures that can be abstracted to linear elements. Lines are displayed in a stereonet as points.

Faultplane dataset

This dataset is used for faults that have a conjugated linear element, associated with the movement along this plane. In the stereonet this appears as a combination of how planes and linear elements are displayed.

Fold dataset

The fold dataset has not been implemented yet.

Small circle dataset

Small circle datasets are used for geologic structures that have a cone-shaped distribution in space. Small circles appear as ellipses in the stereonet.

Figure Formatting

Formatting is not just a way of displaying information, but a science in itself. Formatting of figures has a strong influence on how information is conveyed. If a figure is to be used in a scientific publication, extra care should be taken, in order to not be misleading. Especially the usage of certain colourmaps have recently become quite controversial (See Further Reading).

The plots produced by Innsbruck Stereographic can be customized in many ways. There are options to customize the appearance of great circles, small circles, pole points and linear elements. Each layer can have customized colours, line-styles, point-styles. Contour plots can be customized as well, using different colourmaps, contour-lines, contour-fills and contour-line-labels.

It should be noted that it is currently not planned to offer professional layout options. This means that most plots, will look quite professional by default, it will sometimes require some post-processing in order to make them print-ready. The easiest way to do this is to save a SVG (or other vector file format) of the plot and edit it in a vector editing program like Inkscape.

Layer Formatting

Layers can be formatted by double-clicking the layer-view (In order to avoid renaming the layer it is best to double-click on the coloured square). This opens the Layer-Settings Dialog where all formatting options can be applied. All changes in layer formatting are momentarily updated in the plot-legend.

Great and Small Circles

Planes are transformed to great circles and conical-distributions to small circles in the stereonet. The user can set the colour, line-thickness, line-style (solid, dashed, dotted, dash-dotted), and the capstyle for these lines.

Plane- and faultplane-datasets have the option to draw the great circles or the pole-points of the individual planes. Both can be turned on an off independently. If the pole-points are contoured it might even make sense to switch both of the options off to only display the contouring.

screenshot showing some great and small circles and the layer formatting dialog

This figure shows the different ways in which small- and great circles can be formatted.

Linear Structures

Linear structures appear as points in the stereonet. Common linears are pole-points of planes, fold-axes, stretching-lineations, intersection-lineation, but also things like crystallographic orientation of mineral grains or magnetic fabric orientation (For a more detailed discussion see for example: Van Der Pluijm & Marshak 2004).

The user can set fill-colours, edge-colours, point-styles (circles, squares, etc..), size, and edge-thickness for points.

screenshot showing different formatting of linear structures

Linear structures, or the points they become in the stereonet are shown here with different formatting.

screenshot showing pole points formatting

Pole points have the same formatting options as linear-datasets have.

Contours

Contours have formatting options for the contour-fills, contour-lines and the contour-line-labels. In addition to formatting options the dialog tab also offers different methods for how the contours should be calculated (The contouring methods and their trade-offs will be discussed in a separate section of the documentation).

screenshot showing the dialog tab for contouring a layer

Most layers have a tab in the layer-setting dialog to contour the data. There are options for contouring method and the formatting of the contours.

screenshot showing contour fills

Contours can be shown as fills. The colours depend on the colourmap the user chooses.

screenshot showing contour lines

Contour lines can either shown with a single colour, or like here, with a colourmap.

screenshot showing contours with both fills and lines

This figure shows contouring with both contour-fills and contour-lines turned on.

Rose Diagram

Rose diagram formatting is still under development.

Plot Formatting

Plot formatting options are set in the plot properties dialog. Currently only the grid can be turned on and off.

Further Reading

Calculations

InnStereo can perform a number of calculations for common tasks that occur when working with spatial data. In structural geology many geometries are connected to conjugated geomtries by a simple relationship (when ignoring natural variation). For example the stretching axis will always lie more or less 90° to the necking-axis of a boudin. That means that a statistical meaningful sample of necking-axis can be used to find the stretching direction, even if structures like stretching lineations are absent.

The following sections outline some of the currently available calculations. Calculations will always use all the selected layers as a data-source. If different layer-types are selected, the calculation will not be performed.

The results of a calculation are always added to the project as a new layer. The new layer is independent, and changes to the source-layer are not passed on to the result-layer.

Intersection of Planes

This calculations yields the average intersection of a set of planes. The intersection should lie in the area where most great-circles intersect.

Best-Fitting Plane

The best-fitting plane can be calculated for a set of linears. This will yield a great circle that will pass through as many points as possible. The resulting plane will be added to the project as a plane layer.

Eigenvector and Eigenvalue

This method calculates the 3 eigenvectors and eigenvalues of a dataset. The algorithm will check if plane-layers or line-layers are selected. The results are added to the project as a new layer. The legend will be updated to show the 3 vectors in dip-direction/dip format with the 3 eigenvalues in parentheses.

Copy Poles

This calculation will copy the poles of a plane-layer and adds them to the project as a new line layer.

Normal Planes

This method calculates the planes that lie normal to a set of linears and adds the resulting planes as a new layer to the project. This can be used to calculate the cross-section plane from a fold-axis.

Further Reading

Views

In order to get an optimal overview over a dataset, Innsbruck Stereographic uses different preconfigured views that each show different aspects of the data. The views can be selected from the menubar.

screenshot of interface showing how views can be selected

In the Views menu four different layouts can be selected.

Stereonet View

The stereonet view consists of only of the stereonet. It is the main view and gives the best overview over the data.

screenshot of a plot how it appears in the stereonet view

This is how a plot appears in the stereonet view.

Stereonet and Rose-Diagram View

In this view a stereonet and rose diagram are shown side-by-side. This view is ideal for data where the stereonet does not make the directional distribution readily apparent.

screenshot of a plot how it appears in the stereonet and rose view

This is how a plot appears in the stereonet and rose diagram view.

Rose Diagram View

In this view only the rose diagram is shown. This is a good way of looking at data where only the directional distribution is of interest.

screenshot of a plot how it appears in the rose diagram view

This is how a plot appears in the rose diagram view.

Paleostress View

The paleostress view is still in development.

Data Input and Output

In order to populate the layers or datasets with data, it is useful to do bulk import of data that has been prepared in a spreadsheet program. Innsbruck Stereographic can open various types of text files and text-based legacy formats from older stereographic projection programs.

Input

The easiest way to add data to an existing layer is the file parse dialog. In order to use the file parser, one needs to create a dataset first (e.g. a plane dataset) and select it. The button opens a file chooser dialog, that one can use to locate the file on the hard-drive.

screenshot with location of file parser button highlighted

The button for the file parser is in the folder icon in the highlighted area.

After a file has been chosen the parsing dialog opens. It includes an option to skip over lines at the beginning of the file, that usually contain metadata. The result of the parsing are shown in a table at the bottom of the dialog. Using the column numbers shows in that table, one can assign the columns to their respective counterparts of Innsbruck Stereographic.

screenshot of the file parser dialog

The file parser dialog during a data-import. The columns in the data are assigned to the columns that Innsbruck Stereographic uses.

Input of legacy formats

The files of any program that outputs CSV-style files can be imported in Innsbruck Stereographic. The file formats of more prominent stereographic projection programs are listed below.

TectonicsFP

TectonicsFP (Ortner et al., 2002) and its predecessors TektonikQB, TektonikFB and TectonicVB, all use a variety of CSV files that can be easily imported using the file parser dialog. The assignment of the columns is the following:

File Extension Despription User Layer Type Column Structure
pln Planes Plane Dipdir, Dip, Comment
lin Linears Linear Dipdir, Dip, Comment
fpl Faultplanes Faultplane (1), Plane Dipdir, Plane Dip, Linear Dipdir, Linear Dip, Comment
cor Corrected Faultplanes (Linears flattened onto plane) Faultplane (1), Plane Dipdir, Plane Dip, Linear Dipdir, Linear Dip, Comment
azi Azimuth measurements Linear Dipdir
t** PT-Axis calculation output In Development  
This table shows how the file formats of TectonicsFP can be imported to Innsbruck Stereographic. (1) The first column of the “.fpl” and “.cor” files consists of a two-digit number. The first digit denotes the sense of movement of the fault (“0” or “5” = unknown, “1” or “+” = overthrust, “2” or “-” = downthrust, “3” = dextral strike-slip, “4” = sinistral strike-slip). The second digit denotes the quality or, or the confidence in the measurement. The first digit can be parsed using the “Tectonics FPL Notation” checkbox. The values will then be translated to the values that Innsbruck Stereographic uses. The second digit is currently not included in Innsbruck Stereographic.

Output

Datasets of individual layers can be exported in the CSV-format. This can be done by pressing on the button to the left of the data table. The user can then choose a directory and filename for the data. The button only works if only one layer is selected in the layer-tree.

CSV-files can be openend by many programs including spread-sheet-calculation programs. Other export methods and database connections are planned for the future.

screenshot of the position of the file export button

The button for data exporting is to the left of the data table.

Further Reading

  • Description of Comma-separated values on Wikipedia
  • Ortner, H., Reiter, F. & Acs, P. (2002). Easy handling of tectonic data: the programs TectonicVB for Mac and TectonicsFP for Windows. Computers & Geosciences(28/10), 1193-1200 (doi:10.1016/S0098-3004(02)00038-9).
  • Reiter, F. & Acs, P., (1996-2011). TectonicsFP 1.75 - Computer Software for Structural Geology: Operating Manual. Bundled with the TectonicsFP installation.

Screenshots

This is collection of screenshots how the interface looks in various distributions.

screenshot of Innsbruck Stereographic running on Fedora 21

Innsbruck Stereographic running on Fedora 21 using the Gnome 3 desktop.

screenshot of Innsbruck Stereographic running on Ubuntu-Gnome 15.04

Innsbruck Stereographic running on Ubuntu-Gnome 15.04.

screenshot of Innsbruck Stereographic running on Ubuntu 14.10

Innsbruck Stereographic running on Ubuntu 14.10 using the Unity 7 desktop.

Changelog

Versioning will work this way. Alpha releases will be done, so people can test early interface design decisions. Beta releases will done after the program is more mature. Eventually this will lead to the first 1.0 release. Download the most recent release from this page.

InnStereo v1.0-beta.2

  • [Feature] When opening project files can be filtered for JSON-files.
  • [Feature] The cells for sense-of-movement now show a placeholder text with the options.
  • [Feature] Statusbar gives helpful messages in editing mode.
  • [Feature] Improved the selecting and unselecting behaviour.
  • [Bug] Fixed an issue with layers staying highlighted.
  • [Bug] Fixed highlighted layers being drawn although their parents are unchecked.

InnStereo v1.0-beta.1

  • [Feature] Loading and saving is now possible using JSON-files.
  • [Feature] It is now possible to turn the user interface into a night-mode, that uses a dark interface.
  • [Feature] Layers or subsets of layers can now be highlighted.
  • [Feature] Drag and Drop is now possible for layers. This also works between multiple windows.
  • [Bug] Added two missing tooltips.
  • [Bug] New group-layers are now always expanded and inserted above the first selected item.

InnStereo v1.0-alpha.7

  • [Feature] Pressing tab in the last column of the last feature creates a new row. This increases the speed at which data can be entered by hand. In addition the behaviour of the selection was improved. New rows are automatically selected and deleting rows now moves the selection up the list.
  • [Feature] Added a function that calculates the PT-Axis for a faultplane layer.
  • [Feature] A new toolbutton allows to calculate the mean vector (or mean direction) of a set of linears.
  • [Bug] Fixed the bug where rotated layers were displayed correctly in the preview, but were incorrectly added to the project.
  • [Bug] Fixed unresponsive “New Project” menuitem.
  • [Bug] Markers of poles and linears are now only shown once in the legend.
  • [Bug] Small circle layer are now shown in the layers.
  • [Bug] Fixed eigenvector function for linear layers.

InnStereo v1.0-alpha.6

  • [Bug] Rotations across stereonet boundaries leading to false results fixed. Points were falsely plotted on the upper hemisphere.
  • [Bug] Planes and linears now rotate in same direction.

InnStereo v1.0-alpha.5

  • [Feature] Data-Rotation-Dialog implemented.
  • [Feature] Improved dialog structure (switches, sensitivity, layout).
  • [Bug] Fixed loading the setting of line drawing switch which was always on.
  • [Bug] Fixed dialog windows not having a transient parent set.

InnStereo v1.0-alpha.4

  • [Feature] Stereonet can now show a center cross for easier readability of the data.
  • [Feature] Stereonet can now either show a North-symbol or the degrees around the edges.
  • [Feature] Data can be exported as CSV-files.
  • [Feature] Statusbar now displays some helpful messages and warnings.
  • [Feature] The layer-properties dialog now remembers the active page for each layer.
  • [Feature] Layer properties can now also be accessed by pressing on a toolbar-button.
  • [Feature] The builds for Windows now have a more identifiable icon.
  • [Feature] The number of datasets are now shown for each layer in the legend.
  • [Bug] Fixed the issue, that caused calculations to yield values outside of the normal range of degrees.
  • [Defaults] Changed the default standard-deviations for contouring to 2 (previously 3).
  • [Defaults] Some changes to the default appearance of linears and poles.

InnStereo v1.0-alpha.3

  • [Feature] Function to calculate the intersection of a group of planes.
  • [Feature] Calculate the plane that lies normal to a linear.
  • [Bug] Fixed some strings in the user interface that were not English. Localization of the program will be done as soon as time permits.

InnStereo v1.0-alpha.2

  • [Bug] Fixed issue that prevented any operations that required the GtkFileChooserDialog under Windows. This prevented saving a figure and choosing a file for file-parsing.
  • [Bug] Fixed unresponsive find best-fitting plane button.

InnStereo v1.0-alpha.1

  • [Feature] Plot planar structures as great circles or poles.
  • [Feature] Plot linear structures.
  • [Feature] Plot conical distributions as small circles.
  • [Feature] Switch between equal area and equal angle projection.
  • [Feature] Datasets have basic layer management.
  • [Feature] Datasets can be contoured.
  • [Feature] Import CSV-files into a layer.
  • [Feature] Legend is dynamically generated.
  • [Feature] Calculate the best-fitting plane for a set of linears.
  • [Feature] Rose diagram.
  • [Feature] Lines and markers have most formatting options that are possible in matplotlib.

Indices and tables