We propose to interpret Cryogenic Electron Microscopy (CryoEM) data as a supervision for learning parameters of CryoEM microscopes. Following this formulation, we present a differentiable version of Transmission Electron Microscopy (TEM) Simulator that provides differentiability of all continuous inputs in a simulation. We demonstrate the learning capability of our simulator with two examples, detector parameter estimation and denoising. With our differentiable simulator, detector parameters can be learned from real data without time-consuming handcrafting. Besides, our simulator enables new way to denoising micrographs. We develop this simulator with the combination of Taichi and PyTorch, exploiting kernel-based and operator-based parallel differentiable programming, which results in good speed, low memory footprint and expressive code. We call our work as Differentiable TEM Detector as there are still challenges to implement a fully differentiable transmission electron microscope simulator that can further differentiate with respect to particle positions. This work presents first steps towards a fully differentiable TEM simulator. Finally, as a subsequence of our work, we abstract out the fuser that connects Taichi and PyTorch as an open-source library, Stannum, facilitating neural rendering and differentiable rendering in a broader context. We publish our code on GitHub.
|Date made available
|KAUST Research Repository