abtem.core.axes

Contents

abtem.core.axes#

Module for handling axes metadata.

Module Contents#

Classes#

AxesMetadataList

AxisAlignedTiltAxis

AxisMetadata

EnergyAxis

EnergyLossAxis

Ensemble axis for energy loss (e.g. phonon/TDS or EELS), distinct from the accelerating beam EnergyAxis so the two never collide in metadata or in code that pattern-matches on isinstance(ax, EnergyAxis).

FrozenPhononsAxis

LinearAxis

NonLinearAxis

OrdinalAxis

ParameterAxis

PositionsAxis

PrismPlaneWavesAxis

RealSpaceAxis

ReciprocalSpaceAxis

SampleAxis

ScaleAxis

ScanAxis

SpinAxis

Labeled axis holding the two components of a spinor wave function.

ThicknessAxis

TiltAxis

UnknownAxis

WaveVectorAxis

Functions#

Data#

API#

class abtem.core.axes.AxesMetadataList(...)[source]#

Bases: list

class abtem.core.axes.AxisAlignedTiltAxis[source]#

Bases: abtem.core.axes.NonLinearAxis

direction: str#

‘x’

item_metadata(...)[source]#
property tilt#
units: str#

‘mrad’

class abtem.core.axes.AxisMetadata[source]#
concatenate(...) AxisMetadata[source]#

Concatenate this axis metadata with another compatible axis metadata.

coordinates(...) tuple[source]#
copy() AxisMetadata[source]#

Return a deep copy of this axis metadata.

format_coordinates(...)[source]#
format_label(...) str[source]#

Return a formatted label string, optionally with units.

format_title(...) str[source]#

Return a formatted title string for display.

format_type() str[source]#

Return the axis type name (the class name).

static from_dict(...) AxisMetadata[source]#

Reconstruct an AxisMetadata instance from a dictionary.

item_metadata(...) dict[source]#

Return metadata associated with a specific item along this axis.

label: str = <Multiline-String>#
limits(...) tuple[source]#

Return the (min, max) coordinate limits for this axis.

tex_label: Optional[str]#

None

tex_units: Optional[str]#

None

to_dict() dict[source]#

Serialize this axis metadata to a dictionary.

to_ordinal_axis(...)[source]#
units: Optional[str]#

None

class abtem.core.axes.EnergyAxis[source]#

Bases: abtem.core.axes.NonLinearAxis

format_title(...) str[source]#

Format title displaying energy in keV regardless of stored eV units.

item_metadata(...)[source]#
label: str#

‘Energy’

units: str#

‘eV’

class abtem.core.axes.EnergyLossAxis[source]#

Bases: abtem.core.axes.NonLinearAxis

Ensemble axis for energy loss (e.g. phonon/TDS or EELS), distinct from the accelerating beam EnergyAxis so the two never collide in metadata or in code that pattern-matches on isinstance(ax, EnergyAxis).

format_title(...) str[source]#

Format title displaying energy loss in meV.

item_metadata(...)[source]#
label: str#

‘energy loss’

units: str#

‘eV’

class abtem.core.axes.FrozenPhononsAxis[source]#

Bases: abtem.core.axes.AxisMetadata

label: str#

‘Frozen phonons’

class abtem.core.axes.LinearAxis[source]#

Bases: abtem.core.axes.AxisMetadata

convert_units(...)[source]#
coordinates(...) tuple[float, ...][source]#
format_coordinates(...) str[source]#
offset: float#

0.0

sampling: float#

1.0

to_ordinal_axis(...)[source]#
units: str = <Multiline-String>#
class abtem.core.axes.NonLinearAxis[source]#

Bases: abtem.core.axes.OrdinalAxis

format_coordinates(...)[source]#
format_title(...) str[source]#
units: str#

‘unknown’

class abtem.core.axes.OrdinalAxis[source]#

Bases: abtem.core.axes.AxisMetadata

concatenate(...) OrdinalAxis[source]#
coordinates(...) tuple[source]#
format_all_titles() list[str][source]#
format_title(...) str[source]#
item_metadata(...)[source]#
to_ordinal_axis(...) OrdinalAxis[source]#
values: tuple#

()

class abtem.core.axes.ParameterAxis[source]#

Bases: abtem.core.axes.NonLinearAxis

label: str = <Multiline-String>#
class abtem.core.axes.PositionsAxis[source]#

Bases: abtem.core.axes.OrdinalAxis

format_title(...) str[source]#
label: str#

‘x, y’

units: str#

‘Å’

class abtem.core.axes.PrismPlaneWavesAxis[source]#

Bases: abtem.core.axes.AxisMetadata

class abtem.core.axes.RealSpaceAxis[source]#

Bases: abtem.core.axes.LinearAxis

endpoint: bool#

True

sampling: float#

1.0

units: str#

‘pixels’

class abtem.core.axes.ReciprocalSpaceAxis[source]#

Bases: abtem.core.axes.LinearAxis

fftshift: bool#

True

sampling: float#

1.0

units: str#

‘pixels’

class abtem.core.axes.SampleAxis[source]#

Bases: abtem.core.axes.AxisMetadata

class abtem.core.axes.ScaleAxis[source]#
format_label()[source]#
label: str = <Multiline-String>#
tex_label: str | None#

None

units: Optional[str]#

None

class abtem.core.axes.ScanAxis[source]#

Bases: abtem.core.axes.RealSpaceAxis

class abtem.core.axes.SpinAxis[source]#

Bases: abtem.core.axes.OrdinalAxis

Labeled axis holding the two components of a spinor wave function.

The two components are mixed by the Pauli multislice solver, unlike ordinary ensemble axes whose members evolve independently, so this axis must never be split across dask chunks. Locate it by isinstance, never by position.

label: str#

‘spin’

values: tuple#

(‘up’, ‘down’)

class abtem.core.axes.ThicknessAxis[source]#

Bases: abtem.core.axes.NonLinearAxis

label: str#

‘thickness’

units: str#

‘Å’

class abtem.core.axes.TiltAxis[source]#

Bases: abtem.core.axes.OrdinalAxis

item_metadata(...)[source]#
property tilt: tuple#
units: str#

‘mrad’

class abtem.core.axes.UnknownAxis[source]#

Bases: abtem.core.axes.AxisMetadata

label: str#

‘unknown’

class abtem.core.axes.WaveVectorAxis[source]#

Bases: abtem.core.axes.OrdinalAxis

units: str#

‘1/Å’

abtem.core.axes.axis_from_dict(...)[source]#
abtem.core.axes.axis_to_dict(...)[source]#
abtem.core.axes.categories#

None

abtem.core.axes.complex_labels#

None

abtem.core.axes.format_axes_metadata(...)[source]#
abtem.core.axes.format_label(...) str[source]#
abtem.core.axes.format_title(...) str[source]#
abtem.core.axes.format_value(...) str[source]#
abtem.core.axes.latex_float(...) str[source]#