2.5.24. prismatique.load.stem_intensity_images

stem_intensity_images(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 STEM intensity images, load a specified subcollection of said STEM intensity images into a hyperspy signal.

See the documentation for the class prismatique.stem.output.Params for a discussion on STEM intensity images, i.e. 2D-STEM output.

Parameters:
filenamestr

The relative or absolute path to the file containing the STEM intensity images. 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 STEM intensity images 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 1, then then multi_dim_slice[0] specifies a set of output layer indices, where each output layer index corresponds to a different output layer. In this case, the current Python function will load the STEM intensity images generated by electrons exiting from the output layers specified by multi_dim_slice[0]. 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 STEM intensity images 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:
stem_image_signalhyperspy._signals.signal1d.Signal1D | hyperspy._signals.signal2d.Signal2D

The subcollection of STEM intensity images, 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 stem_image_signal to the original indices specified by multi_dim_slice. For example, if the original output layer 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 stem_image_signal, where i is a nonnegative integer smaller than the total number of output layer indices specified in single_dim_slice.