Observations

class kemitter.Observation

Class for storing energy-momentum spectroscopy measurement data.

Stores all necessary measurement information for fitting and processing. Can be used to store any image and wavelength mapping that can be expressed as a set of NumPy arrays.

data

ndarray – 2D array containing image data with float type.

wavelength

ndarray – 1D array containing wavelength mapping data with float type.

pol_angle

int or float – polarizer angle in degrees.

filepath

str or None – path to source file containing original data [optional].

loaded

bool – whether or not data has been loaded by a loading method. Initially set to False.

n_frames

int – the number of frames comprising the observation

Raises:AttributeError – if no data has been loaded

Warning

Multiple frames in one observation is currently unsupported.

dispersed_pixel_count

int – the image size in the wavelength (x) dimension

Raises:AttributeError – if no data has been loaded
momentum_pixel_count

int – the image size in the momentum (y) dimension

Raises:AttributeError – if no data has been loaded
load()

Launches an interactive loading session.

Returns (bool):
True if observation was successfully loaded, False otherwise.

Notes

Opening an interactive loader is a blocking operation, i.e. code will stop running until the loader is closed.

load_from_array(data, wavelength, pol_angle, filepath=None)

Loads all required observation data into required fields from a generic NumPy array. Sets the loaded attribute to True upon success.

Parameters:
  • data (ndarray) – 2D array containing image data with float type
  • wavelength (ndarray) – 1D array containing wavelength mapping data with float type
  • pol_angle (int or float) – polarizer angle in degrees
  • filepath (str or None) – path to source file containing original data [optional]