MultisliceTransform#
- class abtem.multislice.MultisliceTransform(potential, detectors=None, conjugate=False, transpose=False, multislice_func=None, **multislice_func_kwargs)[source]#
Bases:
WavesTransform[BaseMeasurements]Transformation 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).
multislice_func (callable, optional) – The multislice function defining the multislice algorithm used (default is
multislice_and_detect()).**multislice_func_kwargs – Additional keyword arguments passed to the multislice function.
- __init__(potential, detectors=None, conjugate=False, transpose=False, multislice_func=None, **multislice_func_kwargs)[source]#
Methods
__init__(potential[, detectors, conjugate, ...])apply(waves[, max_batch])Run the multislice algorithm on the given wave functions.
copy()Make a copy.
ensemble_blocks([chunks])Split the ensemble into an array of smaller ensembles.
generate_blocks([chunks])Generate chunks of 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.
distributionsAxes 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.
The multislice function defining the multislice algorithm used.
Electrostatic potential for each multislice slice.
Shape of the ensemble.
Reverse the order of propagation and transmission.
- apply(waves, max_batch='auto')[source]#
Run the multislice algorithm on the given wave functions. An output is returned for each detector.
- Parameters:
waves (Waves) – The wave functions to run the multislice algorithm on.
max_batch (int or str, optional) – The maximum batch size to use for the multislice algorithm. If ‘auto’ the batch size is chosen automatically based on the available memory.
- Returns:
waves – The wave functions after running the multislice algorithm.
- Return type:
tuple of Waves and BaseMeasurements
- 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.
- Return type:
Self
- 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.
- Return type:
Generator[tuple[tuple[int,...],tuple[slice,...],ndarray],None,None]
- property metadata: dict#
Metadata added to the waves when applying the transform.
- property multislice_func: Callable#
The multislice function defining the multislice algorithm used.
- property potential: BasePotential#
Electrostatic potential for each multislice slice.
- property shape: tuple[int, ...]#
Shape of the ensemble.
- property transpose: bool#
Reverse the order of propagation and transmission.