conventional_multislice_step

conventional_multislice_step#

abtem.multislice.conventional_multislice_step(waves, potential_slice, propagator, antialias_aperture, conjugate=False, transpose=False)[source]#

Calculate one step of the multislice algorithm for the given batch of wave functions through a given potential slice.

Parameters:
  • waves (Waves) – A batch of wave functions as a Waves object.

  • potential_slice (PotentialArray or TransmissionFunction) – A potential slice as a PotentialArray or TransmissionFunction.

  • propagator (FresnelPropagator, optional) – A Fresnel propagator type matching the wave functions. The main reason for using this argument is to reuse a previously calculated propagator. If not provided a new propagator is created.

  • antialias_aperture (AntialiasAperture, optional) – An antialias aperture type matching the wave functions. The main reason for using this argument is to reuse a previously calculated antialias aperture. If not provided a new antialias aperture is created.

  • conjugate (bool, optional) – If True, use the conjugate of the transmission function (default is False).

  • transpose (bool, optional) – If True, reverse the order of propagation and transmission (default is False).

Returns:

forward_stepped_waves – Wave functions propagated and transmitted through the potential slice.

Return type:

Waves