BasePotential#

class abtem.potentials.iam.BasePotential[source]#

Bases: abtem.core.ensemble.Ensemble, abtem.core.grid.HasGridMixin, abtem.core.utils.EqualityMixin, abtem.core.utils.CopyMixin

Base class of all potentials. Documented in the subclasses.

__init__()#

Methods

__init__()

build([first_slice, last_slice, chunks, lazy])

copy()

Make a copy.

ensemble_blocks([chunks])

Split the ensemble into an array of smaller ensembles.

generate_blocks([chunks])

Generate chunks of the ensemble.

generate_slices([first_slice, last_slice])

match_grid(other[, check_match])

Match the grid to another object with a Grid.

project()

Sum of the potential slices as an image.

select_block(index, chunks)

Select a block from the ensemble.

show([project])

Show the potential projection.

to_images()

Converts the potential to an ensemble of images.

Attributes

axes_metadata

List of AxisMetadata.

base_axes_metadata

List of AxisMetadata for the base axes.

base_shape

Shape of the base axes of the potential.

ensemble_axes_metadata

List of AxisMetadata of the ensemble axes.

ensemble_shape

Shape of the ensemble axes.

exit_planes

The "exit planes" of the potential.

exit_thicknesses

The "exit thicknesses" of the potential.

extent

Extent of grid for each dimension in Ångstrom.

gpts

Number of grid points for each dimension.

grid

Simulation grid.

num_exit_planes

Number of exit planes.

num_frozen_phonons

Number of frozen phonons in the ensemble of potentials.

num_slices

Number of projected potential slices.

reciprocal_space_sampling

Reciprocal-space sampling in reciprocal Ångstrom.

sampling

Grid sampling for each dimension in Ångstrom per grid point.

shape

Shape of the ensemble.

slice_limits

The entrance and exit thicknesses of each slice [Å].

slice_thickness

Slice thicknesses for each slice.

thickness

Thickness of the potential [Å].

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 for the base axes.

Return type

list[AxisMetadata]

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

Shape of the base axes of the potential.

Return type

tuple[int, ...]

copy()#

Make a copy.

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

List of AxisMetadata of the ensemble axes.

Return type

list[AxisMetadata]

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: tuple[int, ...]#

Shape of the ensemble axes.

Return type

tuple[int, ...]

abstract property exit_planes: tuple[int, ...]#

The “exit planes” of the potential. The indices of slices where a measurement is returned.

Return type

tuple[int, ...]

property exit_thicknesses: tuple[float]#

The “exit thicknesses” of the potential. The thicknesses in the potential where a measurement is returned.

Return type

tuple[float]

property extent: tuple[float] | tuple[float, float] | tuple[float, ...]#

Extent of grid for each dimension in Ångstrom.

Return type

tuple[float] | tuple[float, float] | tuple[float, …]

generate_blocks(chunks=1)#

Generate chunks of the ensemble.

Parameters

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

property gpts: tuple[int] | tuple[int, int] | tuple[int, ...]#

Number of grid points for each dimension.

Return type

tuple[int] | tuple[int, int] | tuple[int, …]

property grid: abtem.core.grid.Grid#

Simulation grid.

Return type

Grid

match_grid(other, check_match=False)#

Match the grid to another object with a Grid.

property num_exit_planes: int#

Number of exit planes.

Return type

int

abstract property num_frozen_phonons: int#

Number of frozen phonons in the ensemble of potentials.

Return type

int

property num_slices: int#

Number of projected potential slices.

Return type

int

project()[source]#

Sum of the potential slices as an image.

Returns

projected – The projected potential.

Return type

Images

property reciprocal_space_sampling: tuple[float] | tuple[float, float] | tuple[float, ...]#

Reciprocal-space sampling in reciprocal Ångstrom.

Return type

tuple[float] | tuple[float, float] | tuple[float, …]

property sampling: tuple[float] | tuple[float, float] | tuple[float, ...]#

Grid sampling for each dimension in Ångstrom per grid point.

Return type

tuple[float] | tuple[float, float] | tuple[float, …]

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.

show(project=True, **kwargs)[source]#

Show the potential projection. This requires building all potential slices.

Parameters
  • project (bool, optional) – Show the projected potential (True, default) or show all potential slices. It is recommended to index a subset of the potential slices when this keyword set to False.

  • kwargs – Additional keyword arguments for the show method of Images.

property slice_limits: list[tuple[float, float]]#

The entrance and exit thicknesses of each slice [Å].

Return type

list[tuple[float, float]]

abstract property slice_thickness: numpy.ndarray#

Slice thicknesses for each slice.

Return type

ndarray

property thickness: float#

Thickness of the potential [Å].

Return type

float

to_images()[source]#

Converts the potential to an ensemble of images.

Returns

image_ensemble – The potential slices as images.

Return type

Images