Source-linked AI summary
PyHST2: an hybrid distributed code for high speed tomographic reconstruction with iterative reconstruction and a priori knowledge capabilities
Alessandro Mirone, Emmanuelle Gouillart, Emmanuel Brun, Paul Tafforeau, Jerome Kieffer
TL;DR
PyHST2 addresses the high data rates and reconstruction difficulties of modern synchrotron tomography. It combines a distributed hybrid architecture with iterative a-priori techniques, and provides parameter-validation methods when ground-truth data are unavailable.
Problem
Modern synchrotron tomography produces tens of terabytes and increasingly requires finer time resolution, better signal-to-noise ratio, and reduced radiation damage, while filtered back-projection struggles with noisy or under-sampled data.
Method
PyHST2 combines distributed high-performance computing with iterative reconstruction using total-variation penalization and a convex overlapping-patches functional, alongside filtered back-projection.
Results
The code implements advanced a-priori techniques, an efficient GPU scheme for overlapping patches, and statistical parameter validation including cross-validation and decoherence maximisation.
Takeaways & Limitations
PyHST2 supports high-quality reconstructions from reduced or noisy data and provides parameter-selection methods for cases without ground-truth data.
Takeaways & Limitations
The optimal penalization parameter depends on noise, measurement count, image magnitude, and image-gradient microstructure, and PyHST lacks an automatic convergence criterion.
Abstract
from arXiv · showhide
We present the PyHST2 code which is in service at ESRF for phase-contrast and absorption tomography. This code has been engineered to sustain the high data flow typical of the third generation synchrotron facilities (10 terabytes per experiment) by adopting a distributed and pipelined architecture. The code implements, beside a default filtered backprojection reconstruction, iterative reconstruction techniques with a-priori knowledge. These latter are used to improve the reconstruction quality or in order to reduce the required data volume and reach a given quality goal. The implemented a-priori knowledge techniques are based on the total variation penalisation and a new recently found convex functional which is based on overlapping patches. We give details of the different methods and their implementations while the code is distributed under free license. We provide methods for estimating, in the absence of ground-truth data, the optimal parameters values for a-priori techniques.
1. introduction
PyHST2 addresses synchrotron tomography’s growing data and quality demands through distributed computing and a-priori reconstruction techniques. It combines a hybrid architecture with total variation and overlapping-patches methods for noisy or reduced-data settings.
- Modern synchrotron tomography produces datasets of tens of terabytes, challenging available input-output bandwidth and computing power.Users also seek finer time resolution, better signal-to-noise ratio, and less radiation damage.
- PyHST2 uses a distributed hybrid architecture to address high-performance-computing issues while reconstructing high-quality images from reduced and noisy data.
- The code provides total variation regularization for piece-wise constant samples and an overlapping-patches technique for dictionary-learned sparse representations.
2. Software Description
PyHST2 supports synchrotron tomography through parallel-geometry assumptions, CPU/GPU distributed processing, extensive preprocessing, and GPU-accelerated reconstruction. Its pipeline handles raw detector data through correction, sinogram preparation, artifact reduction, and filtered back projection or iterative methods.
- Experimental scope: PyHST2 assumes monochromatic, limited-divergence beams and kinematic propagation, with parallel geometry currently implemented for reconstruction.The code is being adapted to finite, small divergence in nano-tomography.
- Experimental scope: The algorithm requires projections spanning at least 180 degrees and can virtually double detector diameter for suitable 360-degree scans.
- Implementation Details: Each CPU-bound process controls its CPU cores and optional GPU, while Python schedules memory-aware data packets and C/CUDA threads perform computation.Large datasets are processed step by step because total data volume can exceed available memory.
- Processing Pipe: Preprocessing removes dark-current and beam non-homogeneity, corrects hot spots, and can reduce residual ring artifacts before reconstruction.Flat-field correction interpolates between flat fields acquired during the scan to track beam-shape drift.
- Processing Pipe: Phase-contrast data can use the Paganin method, after which radiographies are rearranged into one sinogram per detector line.In parallel geometry, each reconstructed line depends on one sinogram.
- Reconstruction: Reconstruction uses filtered back projection or a-priori methods, with GPU tiling and texture interpolation accelerating back projection and forward projection.
3. A-priori Knowledge Techniques
PyHST2 addresses under-sampled or noisy tomography by combining data fidelity with image priors, including total variation and a convex overlapping-patches formulation. These methods support piecewise-constant or dictionary-sparse images and can use statistical procedures to select regularization parameters.
- Motivation: Filtered back-projection lacks image priors, so noisy or under-sampled data can leave image components poorly reconstructed.The reconstruction can instead incorporate sparsity or spatial regularity through optimization.
- Total Variation Penalization: Total variation uses an ℓ1 penalty on image gradients to promote gradient sparsity and piecewise-constant reconstructions.PyHST2 uses isotropic total variation to promote joint sparsity of gradient components and reduce staircasing effects.
- Total Variation Penalization: The parameter β balances data fidelity against spatial regularization: higher β produces smoother reconstructed images.ISTA and FISTA solve the resulting convex, non-smooth optimization problem; FISTA uses an accelerated scheme.
- Total Variation Penalization: β selection depends on measurement noise, measurement count, image magnitude, and gradient sparsity; statistical methods can help when ground truth is unavailable.The current implementation lets users choose β and the number of ISTA or FISTA iterations, without an automatic convergence criterion.
- Dictionary Learning: Dictionary learning represents image patches with a small number of components, providing a sparse prior for images that are not piecewise constant.Noise is filtered because it generally lacks the learned sparsity structure and requires many basis components to be represented.
- Dictionary Learning: Overlapping patches and post-processing averaging reduce discontinuities at patch borders after each patch is fitted by a fidelity-plus-sparsity objective.The convex formulation consistently incorporates averaging over overlapping zones, supporting robust numerical implementation.
- Dictionary Learning: Sparse image representations can address reduced-data tomography by using dictionary information to fill gaps left by missing measurements.The overlapping-patches method is formulated for both denoising and tomographic reconstruction through the operator Π.
- Implementation: The overlapping-patches functional is optimized with FISTA, whose expensive gradient operations involve patch–basis products and patch reconstruction.PyHST2 groups patches and dictionary operations into matrix multiplications using optimized GPU BLAS routines.
4. Applications
The applications demonstrate statistical parameter selection for overlapping-patches reconstruction when ground truth is unavailable, using cross-validation and decoherence maximisation on experimental and phantom data.
- The cross-validation estimator reconstructs a slice while withholding one projection, then measures the quadratic distance to the excluded projection data.
- The decoherence maximising estimator is designed to approach zero below the optimal β because penalization removes noise incoherent with the image’s sparsity structure.
- The absolute decoherence-estimator minimum is expected near the optimal β because low β retains noise while high β induces distortion.
- For the quartz sample, β = 3000 minimized cross-validation, while β = 10 retained more noise and β = 1 × 10^5 produced image distortion.
- The phantom used 150 projections with added Gaussian white noise and compared β = 0.001, β = 0.065, and β = 0.03 against ground-truth and decoherence-based choices.
5. Conclusions
The paper presents PyHST as a GPL-distributed reconstruction code combining advanced a-priori techniques with implementation strategies and statistical parameter validation.
- PyHST is distributed under the GPL license and implements advanced a-priori knowledge techniques.
- The overlapping-patches dictionary-learning technique receives an efficient GPU implementation scheme.
- The authors test the a-priori techniques and use statistical methods to validate parameter choices, including cross-validation and decoherence maximisation.