Welcome to the PyScatman python module documentation!

The PyScatman module is a tool to perform a wide-angle coherent diffraction simulation, based on the Multi-Slice Fourier Transform (MSFT) approach.

The PyScatman module is based on the following building blocks:

  • It is a Python module
    Thus, this allows an easy interface with the user and with other Python modules and scripts
  • It is implemented in C++
    PyScatman is a compiled module written in C++. However, the user won’t have to deal with compilcated C++ stuff, because it regards only its implementation, and not its interface. The C++ implementation allows to achieve the following point
  • It has a high computational effeciency
    The MSFT approach is a computationally intensive task, requiring the exection of many Fourier Transforms per simulation. Depending on the hardware on which the module is executed, the C++ code enables to almost fully exploit all the computational resources provided by the PC, from single-core CPUs up to multi-core CPUs with multiple GPUs.

The following sections will guide you through the module features. Enjoy! ;)