AnnularDetector#

class abtem.detectors.AnnularDetector(inner=0.0, outer=None, offset=(0.0, 0.0), to_cpu=True, url=None)[source]#

Bases: _AbstractRadialDetector

The annular detector integrates the intensity of the detected wave functions between an inner and outer radial integration limits, i.e. over an annulus.

Parameters:
  • inner (float) – Inner integration limit [mrad].

  • outer (float) – Outer integration limit [mrad].

  • offset (two float, optional) – Center offset of the annular integration region [mrad].

  • to_cpu (bool, optional) – If True, copy the measurement data from the calculation device to CPU memory after applying the detector, otherwise the data stays on the respective devices. Default is True.

  • url (str, optional) – If this parameter is set the measurement data is saved at the specified location, typically a path to a local file. A URL can also include a protocol specifier like s3:// for remote data. If not set (default) the data stays in memory.

__init__(inner=0.0, outer=None, offset=(0.0, 0.0), to_cpu=True, url=None)[source]#

Methods

__init__([inner, outer, offset, to_cpu, url])

angular_limits(waves)

The outer limits of the detected scattering angles in x and y [mrad] for the given waves.

apply(waves[, max_batch])

copy()

Make a copy.

detect(waves)

Detect the given waves producing images.

ensemble_blocks([chunks])

Split the ensemble into an array of smaller ensembles.

generate_blocks([chunks])

Generate chunks of the ensemble.

get_detector_region(waves[, fftshift])

Get the annular detector region as a diffraction pattern.

get_detector_regions([waves])

Get the polar detector regions as a polar measurement.

show([waves, gpts, sampling, energy])

Show the segmented detector regions as a polar plot.

Attributes

axes_metadata

List of AxisMetadata.

azimuthal_sampling

Spacing between the azimuthal detector bins [mrad].

base_axes_metadata

List of AxisMetadata of the base axes.

base_shape

Shape of the base axes.

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.

inner

Inner integration limit in mrad.

metadata

Metadata added to the waves when applying the transform.

nbins_azimuthal

Spacing between the azimuthal detector bins [mrad].

nbins_radial

Spacing between the azimuthal detector bins [mrad].

offset

Center offset of the annular integration region [mrad].

outer

Outer integration limit in mrad.

radial_sampling

Spacing between the radial detector bins [mrad].

rotation

Rotation of the bins around the origin [rad].

shape

Shape of the ensemble.

to_cpu

The measurements are copied to host memory.

url

The storage location of the measurement data.

angular_limits(waves)[source]#

The outer limits of the detected scattering angles in x and y [mrad] for the given waves.

Parameters:

waves (BaseWaves) – The waves to derive the detector limits from.

Returns:

limits

Return type:

tuple of float

property axes_metadata: AxesMetadataList#

List of AxisMetadata.

property azimuthal_sampling: float#

Spacing between the azimuthal detector bins [mrad].

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

detect(waves)[source]#

Detect the given waves producing images.

Parameters:

waves (Waves) – The waves to detect.

Returns:

measurement

Return type:

Images or RealSpaceLineProfiles

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.

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]

get_detector_region(waves, fftshift=True)[source]#

Get the annular detector region as a diffraction pattern.

Parameters:
  • waves (BaseWaves) – The waves to derive the annular detector region from.

  • fftshift (bool, optional) – If True, the zero-frequency of the detector region if shifted to the center of the array, otherwise the center is at (0, 0).

Returns:

detector_region

Return type:

DiffractionPatterns

get_detector_regions(waves=None)#

Get the polar detector regions as a polar measurement.

Parameters:

waves (BaseWaves) – The waves to derive the polar detector regions from.

Returns:

detector_region

Return type:

PolarMeasurements

property inner: float#

Inner integration limit in mrad.

property metadata: dict#

Metadata added to the waves when applying the transform.

property nbins_azimuthal#

Spacing between the azimuthal detector bins [mrad].

property nbins_radial#

Spacing between the azimuthal detector bins [mrad].

property offset: tuple[float, float]#

Center offset of the annular integration region [mrad].

property outer: float | None#

Outer integration limit in mrad.

property radial_sampling: float#

Spacing between the radial detector bins [mrad].

property rotation#

Rotation of the bins around the origin [rad].

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

Shape of the ensemble.

show(waves=None, gpts=None, sampling=None, energy=None, **kwargs)#

Show the segmented detector regions as a polar plot.

Parameters:
  • waves (BaseWaves) – The waves to derive the segmented detector regions from.

  • gpts (two int, optional) – Number of grid points describing the wave functions to be detected.

  • sampling (two float, optional) – Lateral sampling of the wave functions to be detected [1 / Å].

  • energy (float, optional) – Electron energy of the wave functions to be detected [eV].

  • kwargs – Optional keyword arguments for DiffractionPatterns.show.

Returns:

visualization

Return type:

Visualization

property to_cpu: bool#

The measurements are copied to host memory.

property url: str | None#

The storage location of the measurement data.