Machine-Learning used for borehole televiewer data interpretation.
Clone the repository:
git clone https://github.com/shakasaki/deeplogger.git
cd deeploggerThe 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 deeploggerGUI / inference env (lightweight, CPU-only):
conda env create -f environment-gui.yml
conda activate deeplogger-guiThis 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-depsNote: requirements-lock-train.txt is platform-specific (Linux + CUDA 13). On
other platforms use the environment*.yml files, which resolve fresh.
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].
Download the borehole data from ETH Polybox using pooch:
python deeplogger/download_data.pyRunning 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).
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
.lasis converted to a multiscale zarr cache (<dir>/.cache/) on first open — slow once; reopen the cached.zarrfor 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.
pytest test/