MultisliceTransform#

class abtem.multislice.MultisliceTransform(potential, detectors=None, conjugate=False, transpose=False)[source]#

Bases: abtem.transform.ArrayObjectTransform

Transformation applying the multislice algorithm to wave functions, producing new wave functions or measurements.

Parameters
  • potential (BasePotential) – A potential as BasePotential object.

  • detectors ((list of) BaseDetector, optional) – A detector or a list of detectors defining how the wave functions should be converted to measurements after running the multislice algorithm.

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

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

__init__(potential, detectors=None, conjugate=False, transpose=False)[source]#

Methods

__init__(potential[, detectors, conjugate, ...])

apply(array_object)

Apply the transform to the given waves.

copy()

Make a copy.

ensemble_blocks([chunks])

Split the ensemble into an array of smaller ensembles.

generate_blocks([chunks])

Generate chunks of the ensemble.

select_block(index, chunks)

Select a block from the ensemble.

Attributes

axes_metadata

List of AxisMetadata.

base_axes_metadata

List of AxisMetadata of the base axes.

base_shape

Shape of the base axes.

conjugate

Use the complex conjugate of the transmission function.

detectors

List of detectors defining how the wave functions should be converted to measurements.

ensemble_axes_metadata

Axes metadata describing the ensemble axes added to the waves when applying the transform.

ensemble_shape

The shape of the ensemble axes added to the waves when applying the transform.

metadata

Metadata added to the waves when applying the transform.

potential

Electrostatic potential for each multislice slice.

shape

Shape of the ensemble.

transpose

Reverse the order of propagation and transmission.

apply(array_object)#

Apply the transform to the given waves.

Parameters

array_object (ArrayObject) – The array object to transform.

Returns

transformed_array_object

Return type

ArrayObject

property axes_metadata: abtem.core.axes.AxesMetadataList#

List of AxisMetadata.

Return type

AxesMetadataList

property base_axes_metadata: list[abtem.core.axes.AxisMetadata]#

List of AxisMetadata of the base axes.

Return type

list[AxisMetadata]

property base_shape: tuple[int, ...]#

Shape of the base axes.

Return type

tuple[int, ...]

property conjugate: bool#

Use the complex conjugate of the transmission function.

Return type

bool

copy()#

Make a copy.

property detectors: list[abtem.detectors.BaseDetector]#

List of detectors defining how the wave functions should be converted to measurements.

Return type

list[BaseDetector]

property ensemble_axes_metadata#

Axes metadata describing the ensemble axes added to the waves when applying the transform.

ensemble_blocks(chunks=None)#

Split the ensemble into an array of smaller ensembles.

Parameters

chunks (iterable of tuples) – Block sizes along each dimension.

Return type

Array

property ensemble_shape#

The shape of the ensemble axes added to the waves when applying the transform.

generate_blocks(chunks=1)#

Generate chunks of the ensemble.

Parameters

chunks (iterable of tuples) – Block sizes along each dimension.

property metadata: dict#

Metadata added to the waves when applying the transform.

Return type

dict

property potential: abtem.potentials.iam.BasePotential#

Electrostatic potential for each multislice slice.

Return type

BasePotential

select_block(index, chunks)#

Select a block from the ensemble.

Parameters
  • index (tuple of ints) – Index of selected block.

  • chunks (iterable of tuples) – Block sizes along each dimension.

property shape#

Shape of the ensemble.

property transpose: bool#

Reverse the order of propagation and transmission.

Return type

bool