  Conventional tomographic reconstruction algorithms assume that one has
obtained pure projection images, involving no within-specimen diffraction
effects nor multiple scattering. Advances in x-ray nanotomography are leading
towards the violation of these assumptions, by combining the high penetration
power of x-rays which enables thick specimens to be imaged, with improved
spatial resolution which decreases the depth of focus of the imaging system. We
describe a reconstruction method where multiple scattering and diffraction
effects in thick samples are modeled by multislice propagation, and the 3D
object function is retrieved through iterative optimization. We show that the
same proposed method works for both full-field microscopy, and for coherent
scanning techniques like ptychography. Our implementation utilizes the
optimization toolbox and the automatic differentiation capability of the
open-source deep learning package TensorFlow, which demonstrates a much
straightforward way to solve optimization problems in computational imaging,
and endows our program great flexibility and portability.
