arpes.utilities.conversion.base.CoordinateConverter#

class arpes.utilities.conversion.base.CoordinateConverter(arr, dim_order=None, *, calibration=None)[source]#

Infrastructure code to support a new coordinate conversion routine.

In order to do coordinate conversion from c_i to d_i, we need to give functions c_i(d_j), i.e. to implement the inverse transform. This is so that we convert by interpolating the function from a regular grid of d_i values back to the original data expressed in c_i.

From this, we can see what responsibilities these conversion classes hold:

  • They need to specify how to calculate c_i(d_j)

  • They need to cache computations so that computations of c_i(d_j) can be performed efficiently for different coordinates c_i

  • Because they know how to do the inverse conversion, they need to know how to choose reasonable grid bounds for the forward transform, so that this can be handled automatically.

These different roles and how they are accomplished are discussed in detail below.

__init__(arr, dim_order=None, *, calibration=None)[source]#

Intern the volume so that we can check on things during computation.

Methods

__init__(arr[, dim_order, calibration])

Intern the volume so that we can check on things during computation.

conversion_for(dim)

Fetches the method responsible for calculating dim from momentum coordinates.

get_coordinates([resolution, bounds])

Calculates the coordinates which should be used in momentum space.

identity_transform(axis_name, *args)

Just returns the coordinate requested from args.

kspace_to_BE(binding_energy, *args)

The energy conservation equation for ARPES.

prep(arr)

Perform preprocessing of the array to convert before we start.

Attributes

is_slit_vertical

For hemispherical analyzers, whether the slit is vertical or horizontal.