{"id":19835538,"url":"https://github.com/equinor/si4ti","last_synced_at":"2025-08-12T23:10:59.705Z","repository":{"id":45989314,"uuid":"366103185","full_name":"equinor/si4ti","owner":"equinor","description":"si4ti is a LGPL licensed seismic inversion tool for monitoring effects in 4D seismic from changes in acoustic properties of a reservoir.","archived":false,"fork":false,"pushed_at":"2025-06-26T11:44:39.000Z","size":19372,"stargazers_count":4,"open_issues_count":4,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-27T14:50:32.764Z","etag":null,"topics":["cli","impedance","python3","seismic","seismic-inversion","timeshift"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/si4ti/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equinor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-10T16:12:57.000Z","updated_at":"2025-06-26T11:36:03.000Z","dependencies_parsed_at":"2025-04-09T08:39:21.241Z","dependency_job_id":null,"html_url":"https://github.com/equinor/si4ti","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/equinor/si4ti","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fsi4ti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fsi4ti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fsi4ti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fsi4ti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equinor","download_url":"https://codeload.github.com/equinor/si4ti/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fsi4ti/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270149345,"owners_count":24535728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","impedance","python3","seismic","seismic-inversion","timeshift"],"created_at":"2024-11-12T12:08:21.929Z","updated_at":"2025-08-12T23:10:59.694Z","avatar_url":"https://github.com/equinor.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction ##\nsi4ti is a LGPL licensed seismic inversion tool for monitoring effects in 4D\nseismic from changes in acoustic properties of a reservoir.\n\n### Timeshift ###\nsi4ti timeshift computes the dynamic timeshift between traces of different\ndatasets (vintages). It uses vertical and horizontal smoothing constraints, and\nno prior information.\n\n### Impedance ###\nsi4ti impedance uses a statistical wavelet and lateral, horizontal and 4D\nsmoothing for computing the relative acoustic impedance of a set of vintages.\n\n## Installation ##\nPre-built executables for Linux can be downloaded from\n[here](https://github.com/equinor/si4ti/releases).\n\n## Build from source ##\nWe provide two build flags that let you turn on and off the timeshift\n(`BUILD_TIMESHIFT`) and impedance (`BUILD_IMPEDANCE`) tools. By default, both\ntools are built.\n\nTo build si4ti you need:\n * A C++11 compatible compiler (tested on gcc)\n * [CMake](https://cmake.org) version 3.15 or greater\n * [Eigen3](https://eigen.tuxfamily.org) version 3.3.4 or greater\n * [OpenMP](https://www.openmp.org)\n * [segyio](https://github.com/equinor/segyio) run cmake with `EXPERIMENTAL=ON`\n   to get the required C++ headers\n * [fftw](https://www.fftw.org) If built with `USE_FFTW=True`\n * [Boost](https://www.boost.org) `math` module version 1.76 or greater if\n   `BUILD_TIMESHIFT=ON`\n\nTo build the documentation you also need:\n * [sphinx](https://pypi.org/project/Sphinx)\n\nTo build and install si4ti run the following commands in your console:\n\n```bash\ngit clone https://github.com/equinor/si4ti\nmkdir si4ti/build\ncd si4ti/build\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake\nmake install\n```\n\nTo build the documentation run:\n```bash\ncmake .. -DBUILD_DOC=TRUE\nmake doc\n```\n\n## Usage ##\nFor more information on how to run the programs:\n```bash\ntimeshift --help\nimpedance --help\napply-timeshift --help\n```\n\n## Python bindings ##\nsi4ti provides a Python bindings for the impedance calculations. No Python\ninterface for the timeshift is provided.\n\n### Installation ###\nPre-built wheels are available for the following platforms for Python 3.10 up to\n3.13:\n\n * `manylinux_2_28` for `x86_64`\n * MacOS X 14.0 and newer for `arm64`\n * MacOS X 13.0 and newer for `x86_64`\n\nThe pre-built wheels can be installed via `pip`\n\n```bash\npip install si4ti\n```\n\nsi4ti is compute intense and highly profits from compiler optimisation and\nvectorisation. Therefore, the prebuilt wheels have vectorisation enabled, but\nstill aim for good portability. The `x86_64` wheels use `x86-64-v3`\narchitecture optimisations which should be supported by Intel Haswell (released\n2013), AMD Excavator, and newer CPUs, see [the GCC documentation for more\ninformation](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html) and overview\nof [microarchitecture levels on\nWikipedia](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels). The\n`arm64` wheels are currently using the default optimisation chosen by the\ncompiler and should be portable between all `arm64` platforms.\n\n### Build from source ###\nYou can install si4ti from source via the the Git repository. This allows to\ncompile the package with FFTW3 support as well as platform specific\noptimisation which may improve the performance.\n\nDuring compilation, you need the following dependencies.\n * A C++11 compatible compiler (tested on gcc and clang)\n * Python 3.10 or greater including the development headers\n * [CMake](https://cmake.org) version 3.15 or greater\n * [Eigen3](https://eigen.tuxfamily.org) version 3.3.4 or greater\n * [OpenMP](https://www.openmp.org)\n * [fftw](https://www.fftw.org) if the bindings are built with `USE_FFTW=ON`\n\nCompilation of the Python bindings via `pip` only builds the bindings and not\nthe command line tools. One can specify compile options directly during the\n`pip` invocation similarly to using CMake directly. The following command\nbuilds and installs the Python bindings in test configuration with OpenMP and\nFFTW on MacOS from the `python/` directory of the repository.\n\nFirst change into the `python/` directory\n\n```bash\ncd python/\n```\n\nand then invoke the build process via pip\n\n```bash\nOpenMP_ROOT=\"/opt/homebrew/opt/libomp\" pip install -Ccmake.define.USE_FFTW=ON .[test]\n```\n\nAfterwards you can run the tests\n\n```bash\npython -m pytest --memray tests\n```\n\nNote, that you are expected to observe increased performance if compiling with\nplatform specific optimisation. You can add relevant compiler flags either via\nthe `CXXFLAGS` environment variable or the CMake parameter `CMAKE_CXX_FLAGS`\n(via `-Ccmake.define.CMAKE_CXX_FLAGS=\u003cflags\u003e`).\n\n### Usage ###\nThe interface is inspired by the command line interface. Please check the\nPython help for details. You can find the Python help via\n\n```python\nimport si4ti\nhelp(si4ti)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fsi4ti","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequinor%2Fsi4ti","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fsi4ti/lists"}