Software Libraries and Reproducibility

Reproducible RF Imaging Research

Reproducibility is the cornerstone of scientific progress. In RF imaging, reproducibility requires sharing: (1) the data or simulation code; (2) the algorithm implementation; (3) the evaluation pipeline; and (4) the exact parameters used.

The community has made significant progress in open-source tools and standardised benchmarks, but challenges remain --- especially for hardware-in-the-loop experiments. This section surveys the key software libraries and provides a recommended pipeline.

Definition:

DeepInverse Library

DeepInverse (Tachella et al., 2023) is a PyTorch library for solving imaging inverse problems with deep learning:

  • Forward operators: blur, inpainting, compressed sensing, MRI, tomography. Custom operators easily added.
  • Reconstruction methods: PnP-ADMM, RED, unrolled networks, diffusion posterior sampling, equivariant imaging.
  • Training: supervised, self-supervised (Noise2Noise, SURE, equivariant), and unsupervised (DIP).
  • Evaluation: PSNR, SSIM, LPIPS built-in.
  • Pretrained denoisers: DnCNN, DRUNet, SwinIR available.

For RF imaging: define the sensing matrix A\mathbf{A} as a custom LinearPhysics operator and use any built-in reconstruction algorithm.

Definition:

ODL (Operator Discretization Library)

ODL provides an abstract framework for inverse problems based on operator theory:

  • Operators: define forward operators as Operator objects with domain, range, and adjoint.
  • Spaces: discretised function spaces with inner products.
  • Solvers: Landweber, conjugate gradient, ADMM, Douglas-Rachford.
  • Integration: interfaces with ASTRA (tomography), PyFFTW, and scikit-image.

ODL's operator abstraction aligns well with the sensing matrix A\mathbf{A} formalism used throughout this book: define A\mathbf{A} as an Operator and its adjoint AH\mathbf{A}^{H} follows automatically.

Definition:

Pyxu and PyVista

Pyxu (formerly Pycsou) is a Python library for proximal algorithms:

  • Proximal operators for 1\ell_1, TV, nuclear norm, etc.
  • Splitting algorithms: ADMM, primal-dual, forward-backward.
  • GPU support via CuPy.
  • Composable operator framework.

PyVista is a 3D visualisation library built on VTK:

  • Renders voxel grids, point clouds, and meshes.
  • Useful for visualising 3D RF imaging reconstructions.
  • Supports isosurface extraction, volume rendering, and comparison of ground truth vs. reconstruction.

Definition:

Reproducibility Checklist for RF Imaging

A reproducible RF imaging experiment should provide:

  1. Data: raw measurements or simulation code with fixed seeds.
  2. Code: full implementation of the reconstruction algorithm, including pre-processing and post-processing.
  3. Environment: software versions (Python, PyTorch, CUDA) and hardware specifications (GPU model, RAM).
  4. Parameters: all hyperparameters (regularisation λ\lambda, step sizes, network architecture, training epochs).
  5. Metrics: evaluation code that computes all reported metrics.
  6. Baselines: implementation of comparison methods under identical conditions.

Publishing code on GitHub and data on Zenodo or IEEE DataPort enables independent verification. Many top venues now require code availability for publication.

Software Libraries for RF Imaging

LibraryFocusForward ModelReconstructionGPURF Imaging Ready
DeepInverseDeep inverse problemsCustom operatorsPnP, unrolling, diffusionYesNeeds custom A
ODLOperator frameworkCustom operatorsLandweber, CG, ADMMLimitedNeeds custom A
PyxuProximal algorithmsCustom operatorsADMM, PD, FBYes (CuPy)Needs custom A
PyVista3D visualisationN/AN/AN/AVisualisation only
SciPy/NumPyGeneral scientificManuallstsq, fft, optimNoFull manual setup
PyTorch/TFDeep learningCustomAny learned methodYesFull manual setup

Example: Designing a Reproducible CS Imaging Experiment

Design a fully reproducible experiment comparing matched filter, LASSO, and a U-Net for RF image reconstruction. Specify the data, code, and evaluation pipeline.

,
🎓CommIT Contribution(2026)

CommIT RF Imaging Simulator

A. Rezaei, G. CaireTU Berlin CommIT Group, Technical Report

The CommIT group has developed a modular Python simulator for RF imaging that implements the Kronecker-structured sensing model A=AfreqAspace\mathbf{A} = \mathbf{A}_{\mathrm{freq}} \otimes \mathbf{A}_{\mathrm{space}} with GPU acceleration via CuPy and PyTorch. The simulator supports the full 13-phase pipeline from scene generation through Monte Carlo evaluation, and has been used for all experimental results in this book. The emphasis on geometric consistency in the forward model distinguishes it from standard channel simulators.

simulatorKroneckerGPUMonte Carlo
🔧Engineering Note

Publishing Measurement Data

Sharing raw measurement data enables reproducibility and benchmarking. Best practices:

  1. Format: HDF5 or MATLAB .mat with structured metadata (antenna positions, frequencies, timestamps, calibration).
  2. Documentation: include a README with measurement setup, procedure, and known issues.
  3. Licence: use a permissive licence (CC-BY or MIT) to encourage reuse.
  4. Repository: archive on Zenodo, IEEE DataPort, or a university data repository for persistent DOI.
  5. Baseline code: include code that loads the data and produces a basic image (matched filter or backpropagation).

Common Mistake: Unfair Algorithm Comparisons

Mistake:

Comparing a well-tuned deep learning method against an untuned classical baseline (e.g., LASSO with a suboptimal λ\lambda).

Correction:

Ensure all methods are given their best chance: (1) Tune hyperparameters for each method using the validation set. (2) Use the same training/validation/test split for all methods. (3) Report the tuning procedure and final hyperparameter values. (4) Use established implementations when available (not custom reimplementations that may contain bugs). (5) Report computational cost (time, memory) alongside accuracy.

Historical Note: The Reproducibility Crisis in Science

2010s

A 2016 Nature survey found that 70% of researchers had failed to reproduce another scientist's experiments, and over 50% had failed to reproduce their own. Signal processing and machine learning are not immune: a 2019 study found that fewer than 30% of NeurIPS papers provided sufficient code to reproduce results. The RF imaging community is still young enough to establish strong reproducibility norms from the start.

DeepInverse

A PyTorch library for solving imaging inverse problems with deep learning, supporting PnP, unrolling, diffusion, and self-supervised training methods.

ODL (Operator Discretization Library)

A Python framework for inverse problems based on abstract operator theory, providing operator composition, adjoint computation, and iterative solvers.

Quick Check

You want to implement PnP-ADMM for RF imaging with a pretrained DRUNet denoiser. Which library provides this out of the box?

ODL

DeepInverse

Pyxu

RadarSimPy

Key Takeaway

DeepInverse provides ready-made PnP, unrolling, and diffusion reconstruction with pretrained denoisers. ODL and Pyxu offer abstract operator frameworks for classical algorithms. PyVista enables 3D visualisation. Reproducibility requires sharing code, data, seeds, and the complete evaluation pipeline. Fair comparisons demand equal tuning effort for all methods and identical evaluation conditions.