OpendTect is a free, open source seismic interpretation system and software development platform. The system supports all tools needed for visualizing, analyzing and interpreting 2D, 3D and 4D seismic and Ground Penetrating Radar (GPR) data. The software is written in C++ and the same codebase compiles and runs on Windows, macOS and Linux. It also has a mature plugin programming interface that allows third parties to develop plugins to add functionality to the system without touching the OpendTect source code. A binary installer for OpendTect can be downloaded from the dGB download page.
This source code is released under the GPLv3 or higher license. Commercial and Academic licenses are offered by dGB Earth Sciences for OpendTect Pro, an extension of OpendTect that adds special functions for professional users and the potential to rent or purchase commercial plugins offering access to unique seismic interpretation workflows. The differences in functionality of the open source OpendTect, commercial OpendTect Pro and commercial plugins is compared here.
OpendTect is a flexible and powerful R&D software platform that you can extend for seismic data analysis. dGB Earth Sciences is also available to undertake industry funded (single or multi-client) projects to enhance OpendTect itself or create advanced plugin functionality.
OpendTect is used worldwide by thousands of open source users, thousands of academic users and hundreds of commercial users.
The repository contains a number of release branches and 3 development branches. The current stable release branches are 8.0 and 7.0
The development branches are:
| BRANCH | DESCRIPTION |
|---|---|
| main | This is the bleeding edge where migration of OpendTect to new versions of its major dependencies, Qt and OpenSceneGraph, is tested and major new functionality is added. |
| od8.0 | This is the main development branch for the next stable release series 8.0. No major new features are currently being added to this branch as it is being prepared for release. |
| od7.0 | This is the previous development branch for the prevous stable release series 7.0. No major new features are currently being added to this branch as it is reaching end-of-life. |
OpendTect is released under the GPLv3 or higher license.
The Pixi package manager can be used to obtain all required dependencies and build the OpendTect development (main) branch. Everything is kept within the source code folder to avoid cluttering your system. A fully functional build of OpendTect is created in the inst folder. OpendTect can be built from source and run with just 3 commands.
Note for Windows: you will need to install msvc2022 64 bit (>= v17.8.4 - free community edition is sufficient).
Note for macOS: the supplied pixi.toml file is only set up for Windows and Linux. Extending it to macOS should be relatively simple if you have access to that hardware.
Linux and macOS
curl -fsSL https://pixi.sh/install.sh | shWindows
Or run:
powershell -ExecutionPolicy ByPass -c "irm -useb https://pixi.sh/install.ps1 | iex"Assuming git is installed, open a shell window and enter:
git clone -b main --depth 1 https://github.com/OpendTect/OpendTect.gitThis will create a folder called OpendTect with the source code.
To configure the build, change to the source code folder and enter:
pixi run configTo build in Release mode, open a shell, change to the source code folder (unless already there) and enter:
pixi run buildOr to build in Debug mode, open a shell, change to the source code folder (unless already there) and enter:
pixi run build-devTo run the Release build, open a shell, change to the source code folder (unless already there) and enter:
pixi run releaseOr to run the Debug build, open a shell, change to the source code folder (unless already there) and enter:
pixi run debug- A C++ compiler and compilation tool chain:
- Windows: msvc2022 64 bit (>= v17.8.4). The free community edition is sufficient.
- macOS: SDK 14 (deployment version >= 12.0)
- Linux: gcc 64 bit version 13.3.1 or higher
- CMake version 3.24 or higher (3.27 or higher recommended)
- The c++17 version is enabled by default on all platforms.
To build the software you need to also download and install/build a few dependencies which probably are not installed in your system. The version of dependencies varies between the branches. The Qt dependencies are available in binary installers, the others have to be built from source.
| BRANCH | DEPENDENCIES |
|---|---|
| main | Qt 6.9.3, OpenSceneGraph 3.6.5, Proj 9.8.1 (optional), Sqlite 3.51.1 (optional), HDF5 2.1.1 (optional) |
| od8.0_rel, od8.0 | Qt 6.8.3, OpenSceneGraph 3.6.5, Proj 9.8.1 (optional), Sqlite 3.51.1 (optional), HDF5 1.14.6 (optional) |
| od7.0_rel, od7.0 | Qt 5.15.2, OpenSceneGraph 3.6.5, Proj 9.3.1 (optional), Sqlite 3.44.2 (optional), HDF5 1.14.6 (optional) |
For the Qt install the following components must be selected depending on your build platform:
- 'MSVC 2022 64-bit' (Windows), 'Desktop' (Linux/macOS)
- Additional Libraries: Qt Charts, Qt Positioning, Qt WebChannel
- Extensions: Qt WebEngine (MSVC 2022 x64/Desktop)
- Optionally debug information files (recommended on Windows)
- Optionally Qt source code is available for all the versions in use:
Configure using CMake, compile and install.
Configure using CMake, compile and install.
Retrieve from their download site or the OpendTect SDK
The link to HDF5 requires to provide the path to an existing HDF5 installation. All versions above 1.10.3 are supported, but using the current API 2.1 is preferred. Installation is best done using their binary installations (on Windows especially), or from the package manager on Linux. Windows developers however need to recompile the sources since no debug binary libraries can be downloaded. Only the C components of the HDF5 installation are required. The current Pixi setup does not work with HDF5 2.1.0 and Qt 6.9.3. There is a compatibility issue between these versions.
Configure CMake ensuring to set the following variables:
- QT_ROOT= set this to the Qt install location for the appropriate version of Qt for the OpendTect version
- OSG_ROOT="OpenSceneGraph install location"
- PROJ_ROOT="PROJ install location" or OD_NO_PROJ=ON to disable it
- SQLite3_ROOT="SQLite3 install location" (optional, but required by Proj)
- HDF5_ROOT="HDF5 install location" (optional)
Start Visual Studio 2022, open the OpendTect solution and build.
Configure CMake ensuring to set the following variables:
- QT_ROOT= set this to the Qt install location for the appropriate version of Qt for the OpendTect version
- OSG_ROOT="OpenSceneGraph install location"
- PROJ_ROOT="PROJ install location" or OD_NO_PROJ=ON to disable it
- SQLite3_ROOT="SQLite3 install location" (optional, but required by Proj)
- HDF5_ROOT="HDF5 install location" (optional)
- ZLIB_ROOT="ZLIB install location" (optional)
- OpenGL_GL_PREFERENCE=LEGACY
Run make in the toplevel folder (i.e. where this README.MD file is located)
You can contribute to the enhancement of OpendTect either by:
- providing bug fixes or enhancements to the OpendTect source code following the usual Github Fork-Pull Request process.
- or independently by developing and releasing open source plugins from your own Github or equivalent repository. See the wmplugins repository as an example of this approach.
An overview of the design principles and preferred coding style/practices employed by dGB in the development of OpendTect are described in dGB's coding guide

