2.5.8. prismatique.load.com_momenta

com_momenta(filename, multi_dim_slice=None, use_two_axes_to_map_probe_position_if_possible=False, skip_validation_and_conversion=False)[source]

From a given STEM simulation output file that stores center of mass (COM) momentum patterns, load a specified subcollection of said COM momentum patterns into a hyperspy signal.

See the documentation for the class prismatique.stem.output.Params for a discussion on COM momentum patterns.

Parameters:
filenamestr

The relative or absolute path to the file containing the COM momentum patterns. Any non-temporary file generated by the function prismatique.stem.sim.run(), with originally the basename "stem_sim_intensity_output.h5" is valid. See the documentation for the class prismatique.stem.output.Params for a discussion on the layout and structuring of prismatique STEM simulation output files.

multi_dim_slicetuple (int | slice | list (int)) | None, optional

The “multidimensional slice object”, which specifies the subcollection of COM momentum patterns to load from file. We define a multi-dimensional slice object as a tuple of items which contains at most one item being a list of integers, and the remaining items being slice and/or int objects.

If multi_dim_slice is a tuple of length 2, then then multi_dim_slice[0] specifies a set of output layer indices, where each output layer index corresponds to a different output layer; and multi_dim_slice[1] specifies the vector component indices, where the indices 0 and 1 would correspond to the \(x\)- and \(y\)-components of the COM momentum respectively. In this case, the current Python function will load the COM momentum patterns generated by electrons exiting from the output layers specified by multi_dim_slice[0], for the vector components specified by multi_dim_slice[1]. Note that prismatique.load.output_layer_depths(filename)[multi_dim_slice[0]] yields the depths of the specified output layers.

Otherwise, if multi_dim_slice is set to None, then all the COM momentum patterns stored in the file are loaded.

use_two_axes_to_map_probe_position_if_possiblebool, optional

If use_two_axes_to_map_probe_position_if_possible is set to True, and prismatique.load.scan_pattern_type(filename) == "rectangular grid", then two hyperspy axes are used rather than one to map the probe position. In this case, the two axes have the same dimensions as the rectangular grid on which the probe positions lie. Otherwise, one hyperspy axis is used to map the probe positions.

skip_validation_and_conversionbool, optional

If skip_validation_and_conversion is set to False, then validations and conversions are performed on the above parameters.

Otherwise, if skip_validation_and_conversion is set to True, no validations and conversions are performed on the above parameters. This option is desired primarily when the user wants to avoid potentially expensive validation and/or conversion operations.

Returns:
com_momentum_signalhyperspy._signals.signal2d.Signal2D

The subcollection of COM momentum patterns, stored in a hyperspy signal: If two axes are used to map the probe position, then the STEM intensity images are stored in an instance of the hyperspy._signals.signal2d.Signal2D class; otherwise they are stored in an instance of the hyperspy._signals.signal1d.Signal1D class. See the documentation and/or reference guide for the hyperspy package for details on how to use instances of the hyperspy._signals.signal1d.Signal1D and hyperspy._signals.signal2d.Signal2D classes.

navigational_to_original_indices_mapdict

A dictionary that maps the navigational indices of the hyperspy signal com_momentum_signal to the original indices specified by multi_dim_slice. For example, if the original output layer indices indices map to a set of corresponding navigational indices, then navigational_to_original_indices_map["output_layer_indices"][i] yields the output layer index specified in the expression single_dim_slice=multi_dim_slice[0] if multi_dim_slice is not None else slice(None) that corresponds to the i th atomic configuration index in the nagivation index space of com_momentum_signal, where i is a nonnegative integer smaller than the total number of output layers specified in single_dim_slice.