RadialPhasePlate#

class abtem.transfer.RadialPhasePlate(num_flips, semiangle_cutoff, phase_shift=3.141592653589793, power_law=2.0, shift_central_semiangle=0.0, energy=None, extent=None, gpts=None, sampling=None)[source]#

Bases: BaseAperture

__init__(num_flips, semiangle_cutoff, phase_shift=3.141592653589793, power_law=2.0, shift_central_semiangle=0.0, energy=None, extent=None, gpts=None, sampling=None)[source]#

Methods

__init__(num_flips, semiangle_cutoff[, ...])

apply(waves[, max_batch])

copy()

Make a copy.

ensemble_blocks([chunks])

Split the ensemble into an array of smaller ensembles.

generate_blocks([chunks])

Generate chunks of the ensemble.

match_grid(other[, check_match])

Match the grid to another object with a Grid.

show([max_angle])

to_diffraction_patterns([max_angle, gpts])

Converts the transfer function instance to DiffractionPatterns.

Attributes

accelerator

Accelerator object describing the acceleration energy.

angular_sampling

The sampling in scattering angles of the transfer function [mrad].

axes_metadata

List of AxisMetadata.

base_axes_metadata

List of AxisMetadata of the base axes.

base_shape

Shape of the base axes.

distributions

energy

Electron acceleration energy in electron volts.

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.

extent

Extent of grid for each dimension in Ångstrom.

gpts

Number of grid points for each dimension.

grid

Simulation grid.

in_place

The array representing the waves may be modified in-place.

metadata

Metadata added to the waves when applying the transform.

num_flips

Number of phase flips.

nyquist_sampling

Nyquist sampling corresponding to the semiangle cutoff of the aperture [Å].

phase_shift

Phase shift of the phase plate.

power_law

Power law of the phase plate.

reciprocal_space_sampling

Reciprocal-space sampling in reciprocal Ångstrom.

sampling

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

semiangle_cutoff

Semiangle cutoff of the aperture [mrad].

shape

Shape of the ensemble.

shift_central_semiangle

Shift central semiangle of the phase plate.

soft

True if the aperture has a soft edge.

wavelength

Relativistic wavelength in Ångstrom.

property accelerator: Accelerator#

Accelerator object describing the acceleration energy.

property angular_sampling: tuple[float, float]#

The sampling in scattering angles of the transfer function [mrad].

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.

copy()#

Make a copy.

Return type:

Self

property energy: float | None#

Electron acceleration energy in electron volts.

property ensemble_axes_metadata: list[AxisMetadata]#

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

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

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

Extent of grid for each dimension in Ångstrom.

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

Number of grid points for each dimension.

property grid: Grid#

Simulation grid.

property in_place: bool#

The array representing the waves may be modified in-place.

match_grid(other, check_match=False)#

Match the grid to another object with a Grid.

property metadata: dict#

Metadata added to the waves when applying the transform.

property num_flips: int#

Number of phase flips.

property nyquist_sampling: float#

Nyquist sampling corresponding to the semiangle cutoff of the aperture [Å].

property phase_shift: float#

Phase shift of the phase plate.

property power_law: float#

Power law of the phase plate.

property reciprocal_space_sampling: tuple[float, float]#

Reciprocal-space sampling in reciprocal Ångstrom.

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

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

property semiangle_cutoff: float | BaseDistribution#

Semiangle cutoff of the aperture [mrad].

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

Shape of the ensemble.

property shift_central_semiangle: float#

Shift central semiangle of the phase plate.

property soft: bool#

True if the aperture has a soft edge.

to_diffraction_patterns(max_angle=None, gpts=None)#

Converts the transfer function instance to DiffractionPatterns.

Parameters:
  • max_angle (float, optional) – The maximum diffraction angle in radians. If not provided, the maximum angle will be determined based on the self._max_semiangle_cutoff attribute of the instance. If neither max_angle nor self._max_semiangle_cutoff is available, a RuntimeError will be raised.

  • gpts (int | tuple[int, int], optional) – The number of grid points in reciprocal space for performing Fourier Transform. If not provided, a default value of 128 will be used.

Returns:

The diffraction patterns obtained from the conversion.

Return type:

abtem.measurements.DiffractionPatterns

property wavelength: float#

Relativistic wavelength in Ångstrom.