arpes.utilities.conversion.forward.convert_coordinate_forward

arpes.utilities.conversion.forward.convert_coordinate_forward(data: Union[xarray.core.dataarray.DataArray, xarray.core.dataset.Dataset], coords: Dict[str, float], trace: Callable = None, **k_coords)[source]

This function is the inverse/forward transform for the small angle volumetric k-conversion code.

This differs from the other forward transforms here which are exact, up to correct assignment of offset constants.

This makes this routine very practical for determining the location of cuts to be taken around a point or direction of interest in k-space. If you use the exact methods to determine the location of interest in k-space then in general there will be some misalignment because the small angle volumetric transform is not the inverse of the exact forward transforms.

The way that we accomplish this is that the data is copied and a “test charge” is placed in the data which distinguished the location of interest in angle-space. The data is converted with the volumetric interpolation methods, and the location of the “test charge” is determined in k-space. With the approximate location in k determined, this process is repeated once more with a finer k-grid to determine more precisely the forward transform location.

A nice property of this approach is that it is automatic because it determines the result numerically using the volumetric transform code. Any changes to the volumetric code will automatically reflect here. However, it comes with a few downsides:

  1. The “test charge” is placed in a cell in the original data. This means that the resolution is limited by the resolution of the dataset in angle-space. This could be circumvented by regridding the data to have a higher resolution.

  2. The procedure can only be performed for a single point at a time.

  3. The procedure is relatively expensive.

Another approach would be to write down the exact small angle approximated transforms.

Parameters
  • data – The data defining the coordinate offsets and experiment geometry.

  • coords – The coordinates of a point in angle-space to be converted.

  • trace – Used for performance tracing and debugging.

Returns

The location of the desired coordinate in momentum.