MultisliceTransform#
- class abtem.multislice.MultisliceTransform(potential, detectors=None, conjugate=False, transpose=False, multislice_func=None, **multislice_func_kwargs)[source]#
Bases:
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, multislice_func=None, **multislice_func_kwargs)[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
List of AxisMetadata.
List of AxisMetadata of the base axes.
Shape of the base axes.
Use the complex conjugate of the transmission function.
List of detectors defining how the wave functions should be converted to measurements.
Axes metadata describing the ensemble axes added to the waves when applying the transform.
The shape of the ensemble axes added to the waves when applying the transform.
Metadata added to the waves when applying the transform.
multislice_func
Electrostatic potential for each multislice slice.
Shape of the ensemble.
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:
- property axes_metadata: AxesMetadataList#
List of AxisMetadata.
- property base_axes_metadata: list[AxisMetadata]#
List of AxisMetadata of the base axes.
- property base_shape: tuple[int, ...]#
Shape of the base axes.
- property conjugate: bool#
Use the complex conjugate of the transmission function.
- copy()#
Make a copy.
- property detectors: list[BaseDetector]#
List of detectors defining how the wave functions should be converted to measurements.
- 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.
- property potential: BasePotential#
Electrostatic potential for each multislice slice.
- 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.