Skip to content

shakasaki/deeplogger

Repository files navigation

DeepLogger

Machine-Learning used for borehole televiewer data interpretation.

Installation

Clone the repository:

git clone https://github.com/shakasaki/deeplogger.git
cd deeplogger

Reproducible environments (recommended)

The repo ships two conda specs (both Python 3.12, editable install):

Env File torch Use for
deeplogger environment.yml CUDA (GPU) training + development ([dev,gui])
deeplogger-gui environment-gui.yml CPU-only running the GUI / CPU inference ([gui])

Training / development env (GPU):

conda env create -f environment.yml   # or: mamba env create -f environment.yml
conda activate deeplogger

GUI / inference env (lightweight, CPU-only):

conda env create -f environment-gui.yml
conda activate deeplogger-gui

This skips the ~3-4 GB of CUDA wheels; inference runs on CPU.

The environment*.yml files pin only Python; dependencies are resolved from pyproject.toml. For a bit-for-bit rebuild, install the matching fully-pinned snapshot instead:

# training env (Linux + CUDA 13 wheels)
pip install -r requirements-lock-train.txt && pip install -e . --no-deps
# gui env (CPU-only, portable)
pip install -r requirements-lock-gui.txt   && pip install -e . --no-deps

Note: requirements-lock-train.txt is platform-specific (Linux + CUDA 13). On other platforms use the environment*.yml files, which resolve fresh.

Minimal install

If you only need the library (no GUI, no dev tools):

python -m pip install -e .

Optional extras: .[dev] (pytest), .[gui] (napari/streamlit viewer), .[jax].

Data

Download the borehole data from ETH Polybox using pooch:

python deeplogger/download_data.py

Running this a second time will not re-download files that already exist. The data directory can be relocated with the DEEPLOGGER_DATA_DIR environment variable (defaults to ./data).

Viewer (GUI)

Fast pyqtgraph browse viewer for borehole logs, with a napari bridge for labeling. Needs the [gui] extra and a real display (won't work over plain SSH). Use the deeplogger-gui env:

conda activate deeplogger-gui
python -m deeplogger.gui.viewer data/Bedretto_Input_HS/MB7/MB7_ATV_unknown.las
  • A .las is converted to a multiscale zarr cache (<dir>/.cache/) on first open — slow once; reopen the cached .zarr for instant browsing:
    python -m deeplogger.gui.viewer data/Bedretto_Input_HS/MB7/.cache/MB7_ATV_unknown.zarr
  • Only depth (vertical) scrolls/zooms; azimuth is locked.
  • ATV controls: colormap, auto-contrast, Remove SVD (live destripe), Save processed… (write the processed log to a new .zarr).
  • Label window…: zoom to a depth window, then open it in napari to draw a label — freehand paint or the sinusoid picker (depth/dip/azimuth/aperture) — and save an [image, mask] .pt. Zoom in first if the window is too tall.

Legacy Streamlit GUI (being retired): streamlit run app.py.

Tests

pytest test/

About

Deep Learning for borehole televiewer data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors