Introduction
si4ti is a LGPL licensed seismic inversion tool for monitoring effects in 4D seismic from changes in acoustic properties of a reservoir.
Timeshift
si4ti timeshift computes the dynamic timeshift between traces of different datasets (vintages). It uses vertical and horizontal smoothing constraints, and no prior information.
Impedance
si4ti impedance uses a statistical wavelet and lateral, horizontal and 4D smoothing for computing the relative acoustic impedance of a set of vintages.
Installation
Pre-built executables for Linux can be downloaded from here.
Build from source
We provide two build flags that let you turn on and off the timeshift
(BUILD_TIMESHIFT) and impedance (BUILD_IMPEDANCE) tools. By default, both
tools are built.
To build si4ti you need:
- A C++11 compatible compiler (tested on gcc)
- CMake version 3.15 or greater
- Eigen3 version 3.3.4 or greater
- OpenMP
- segyio run cmake with
EXPERIMENTAL=ONto get the required C++ headers - fftw If built with
USE_FFTW=True - Boost
mathmodule version 1.76 or greater ifBUILD_TIMESHIFT=ON
To build the documentation you also need:
To build and install si4ti run the following commands in your console:
git clone https://github.com/equinor/si4ti
mkdir si4ti/build
cd si4ti/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
make install
To build the documentation run:
cmake .. -DBUILD_DOC=TRUE
make doc
Usage
For more information on how to run the programs:
timeshift --help
impedance --help
apply-timeshift --help
Python bindings
si4ti provides a Python bindings for the impedance calculations. No Python interface for the timeshift is provided.
Installation
Pre-built wheels are available for the following platforms for Python 3.10 up to 3.14:
manylinux_2_28forx86_64- MacOS X 15.0 and newer for
arm64
The pre-built wheels can be installed via pip
pip install si4ti
si4ti is compute intense and highly profits from compiler optimisation and
vectorisation. Therefore, the prebuilt wheels have vectorisation enabled, but
still aim for good portability. The x86_64 wheels use x86-64-v3
architecture optimisations which should be supported by Intel Haswell (released
2013), AMD Excavator, and newer CPUs, see the GCC documentation for more
information and overview
of microarchitecture levels on
Wikipedia. The
arm64 wheels are currently using the default optimisation chosen by the
compiler and should be portable between all arm64 platforms.
Build from source
You can install si4ti from source via the the Git repository. This allows to compile the package with FFTW3 support as well as platform specific optimisation which may improve the performance.
During compilation, you need the following dependencies.
- A C++11 compatible compiler (tested on gcc and clang)
- Python 3.10 or greater including the development headers
- CMake version 3.15 or greater
- Eigen3 version 3.3.4 or greater
- OpenMP
- fftw if the bindings are built with
USE_FFTW=ON
Compilation of the Python bindings via pip only builds the bindings and not
the command line tools. One can specify compile options directly during the
pip invocation similarly to using CMake directly. The following command
builds and installs the Python bindings in test configuration with OpenMP and
FFTW on MacOS from the python/ directory of the repository.
First change into the python/ directory
cd python/
and then invoke the build process via pip
OpenMP_ROOT="/opt/homebrew/opt/libomp" pip install -Ccmake.define.USE_FFTW=ON .[test]
Afterwards you can run the tests
python -m pytest --memray tests
Note, that you are expected to observe increased performance if compiling with
platform specific optimisation. You can add relevant compiler flags either via
the CXXFLAGS environment variable or the CMake parameter CMAKE_CXX_FLAGS
(via -Ccmake.define.CMAKE_CXX_FLAGS=<flags>).
Usage
The interface is inspired by the command line interface. Please check the Python help for details. You can find the Python help via
import si4ti
help(si4ti)
Release files for si4ti 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| si4ti-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| si4ti-1.2.0-cp314-cp314-macosx_15_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 15.0+ ARM64 | Details |
| si4ti-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| si4ti-1.2.0-cp313-cp313-macosx_15_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 15.0+ ARM64 | Details |
| si4ti-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| si4ti-1.2.0-cp312-cp312-macosx_15_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 15.0+ ARM64 | Details |
| si4ti-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| si4ti-1.2.0-cp311-cp311-macosx_15_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 15.0+ ARM64 | Details |
| si4ti-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| si4ti-1.2.0-cp310-cp310-macosx_15_0_arm64.whl | CPython 3.10 | CPython 3.10 | macOS 15.0+ ARM64 | Details |
Total release size: 3.7 MB
Release files / si4ti-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | si4ti-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 332.1 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8a50600c49b49aee6e0ea45223b0eed8187fdcdf858f3f465d91bbd4a5325906
|
|
BLAKE2b-256 checksum How to use checksums |
65140246688d94442ab9dc9ccc96d83dbb8cacabbb8cf1f59907a11e6044b41a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp314-cp314-macosx_15_0_arm64.whl
| Download URL | si4ti-1.2.0-cp314-cp314-macosx_15_0_arm64.whl |
|---|---|
| Size | 414.4 kB |
| Tags | CPython 3.14 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e0176c58f1eb07970a807b00b42b40bbd71ca3f7871f59b1858e17cb0a9e761e
|
|
BLAKE2b-256 checksum How to use checksums |
6634835e31b7802e738ed12cbd769d80200acdd56d2b375eab09f2eb0e3e2b27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | si4ti-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 331.4 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
49ddb7cefd8269fae5e395c1c701a3eac719f0111ed409b7c556da644fd0bb22
|
|
BLAKE2b-256 checksum How to use checksums |
0496564023739b500fb81697dae8b6de8f5bc06821c04ab2b2ab1b4b18fec5c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | si4ti-1.2.0-cp313-cp313-macosx_15_0_arm64.whl |
|---|---|
| Size | 414.3 kB |
| Tags | CPython 3.13 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
215ce053277c4927b1523d588bdaa6ee8edacd5512e5802091bf39c73c79ffe3
|
|
BLAKE2b-256 checksum How to use checksums |
797f001e72a71095b5b2ebf0534106ecd4ac893025749019df52c7c6513f2ea1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | si4ti-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 331.3 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
556896dcf630e15d2eb9c1487b60bf24bae5654a22478643f718f45c6c0af72e
|
|
BLAKE2b-256 checksum How to use checksums |
4fd3f84a4ea438d55ca30a2a386c7d9efb5f7b81b1cf3f0d5d8326698ecebe8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | si4ti-1.2.0-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 414.2 kB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
132d1ac5fd8dc167bf0ca887231c319699e90a66d79486c9a105a6bf416f580a
|
|
BLAKE2b-256 checksum How to use checksums |
63dda9abf1e56525e6fbab105b0231896a4aab095b210a48bfeab9ec05fdac5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | si4ti-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 330.7 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9856ab3bbac84083edf2420f4ef6419cbaf691deec495fba5307922f32a8c45a
|
|
BLAKE2b-256 checksum How to use checksums |
7df2e33a200cfe8b2dee9103b847f988625c33dfd6aab7c9cd9472471e0c6a29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | si4ti-1.2.0-cp311-cp311-macosx_15_0_arm64.whl |
|---|---|
| Size | 413.2 kB |
| Tags | CPython 3.11 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4cae10b5e10b354b619aec1d913aaf636945f886b7e74109c2d86cb7b7b2bcbb
|
|
BLAKE2b-256 checksum How to use checksums |
605ac63874ce94fcd7437febb1befcc33f9b8755a87ef03743bc6d51869eb1d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | si4ti-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 332.2 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a570c5a47673d610a8a00efcb7643b03a5289e1dfb0db148bb3208d32be6d841
|
|
BLAKE2b-256 checksum How to use checksums |
94e978aa68001270a8661c6c293b14eaebe83b6e35dff20a7b4c82ea756f7fed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / si4ti-1.2.0-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | si4ti-1.2.0-cp310-cp310-macosx_15_0_arm64.whl |
|---|---|
| Size | 412.1 kB |
| Tags | CPython 3.10 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
caca4a9fb6a58c4b96bdd3372f8df523871c421f761ba294f412329a1e2fec1b
|
|
BLAKE2b-256 checksum How to use checksums |
09c447f3bf617f1398c42f0bc8a44dd90fec7415c106d0265c54f40837574c30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency log