Work

Electrical Impedance Tomography

Non-invasive medical imaging with deep learning

Year
2018
Language
Jupyter Notebook
Stars
8
Topics
data-science deep-learning machine-learning medical-imaging python

Overview

EIT is a non-invasive medical imaging technique that estimates the internal conductivity distribution of a body from voltage measurements taken at surface electrodes. This project explores deep-learning-based reconstruction: a CNN trained on simulated forward-model data learns to recover 2D / 3D conductivity maps directly from the measurement vector, replacing the traditional iterative inverse-problem solver.

Features

  • CNN-based reconstruction of 2D conductivity maps from electrode voltage vectors
  • Forward-model simulator generates training data with controlled noise and inclusions
  • Jupyter notebooks document the dataset generation, training loop, and evaluation
  • Compares learned reconstruction against the classical Gauss-Newton iterative inverse solver

Why it exists

Why deep learning for EIT

The classical EIT inverse problem is severely ill-posed — small voltage measurement errors translate into large reconstruction artifacts. A CNN trained on a wide distribution of simulated forward-model data learns a prior over plausible conductivity maps, which acts as implicit regularisation and produces noticeably cleaner reconstructions for the same input signal.

Simulator + model in one repo

The forward model (current injection → boundary voltages) is implemented alongside the CNN so the entire training dataset is generated on-the-fly. That avoided the usual problem of needing patient data to train a medical imaging model.

Tech stack

Modelling
PyTorch NumPy SciPy
Tooling
Jupyter Matplotlib
Domain
EIT forward model Gauss-Newton baseline

Architecture

graph LR
  E["Electrodes on<br/>body surface"] -->|Injected current| V["Voltage<br/>measurements"]
  V --> P["Preprocessing<br/>(normalize, denoise)"]
  P --> CNN["CNN<br/>Reconstruction Model"]
  CNN --> R["Conductivity Map<br/>(2D / 3D)"]
  R --> VIZ["Visualisation"]
  SIM["Forward Model<br/>Simulator"] -.->|Training data| CNN
  classDef phys fill:#0a0a0a,stroke:#666,color:#fff
  classDef ml fill:#1e1e1e,stroke:#444,color:#ddd
  class E,V,VIZ phys
  class CNN,SIM ml
Architecture: Electrical Impedance Tomography