# arpes.utilities.conversion.core.convert_to_kspace

arpes.utilities.conversion.core.convert_to_kspace(arr: xarray.core.dataarray.DataArray, bounds=None, resolution=None, calibration=None, coords=None, allow_chunks: bool = False, trace: Callable = None, **kwargs)[source]

Converts volumetric the data to momentum space (“backwards”). Typically what you want.

Works in general by regridding the data into the new coordinate space and then interpolating back into the original data.

For forward conversion, see sibling methods. Forward conversion works by converting the coordinates, rather than by interpolating the data. As a result, the data will be totally unchanged by the conversion (if we do not apply a Jacobian correction), but the coordinates will no longer have equal spacing.

This is only really useful for zero and one dimensional data because for two dimensional data, the coordinates must become two dimensional in order to fully specify every data point (this is true in generality, in 3D the coordinates must become 3D as well).

The only exception to this is if the extra axes do not need to be k-space converted. As is the case where one of the dimensions is cycle or delay, for instance.

You can request a particular resolution for the new data with the resolution= parameter, or a specific set of bounds with the bounds=

Examples

Convert a 2D cut with automatically inferred range and resolution.

```>>> convert_to_kspace(arpes.io.load_example_data())
xr.DataArray(...)
```

Convert a 3D map with a specified momentum window

```>>> convert_to_kspace(
fermi_surface_map,
kx=np.linspace(-1, 1, 200),
ky=np.linspace(-1, 1, 350),
)
xr.DataArray(...)
```
Parameters
• arr (xr.DataArray) – [description]

• #bounds ([type], optional) – [description]. Defaults to None.

• resolution ([type], optional) – [description]. Defaults to None.

• calibration ([type], optional) – [description]. Defaults to None.

• coords ([type], optional) – [description]. Defaults to None.

• allow_chunks (bool, optional) – [description]. Defaults to False.

• trace (Callable, optional) – Controls whether to use execution tracing. Defaults to None. Pass True to enable.

Raises
• NotImplementedError – [description]

• AnalysisError – [description]

• ValueError – [description]

Returns

[description]

Return type

[type]