MultisliceTransform
MultisliceTransform#
- class abtem.multislice.MultisliceTransform(potential, detectors=None, conjugate=False, transpose=False)[source]#
Bases:
abtem.transform.ArrayObjectTransformTransformation applying the multislice algorithm to wave functions, producing new wave functions or measurements.
- Parameters
potential (BasePotential) – A potential as
BasePotentialobject.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).
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.
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: 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
- 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