FEI TIA (SER & EMI)#

RosettaSciIO can read .ser and .emi files files created by the FEI (now ThermoFisher) software TEM Imaging & Analysis (TIA), but the reading features are not complete (and probably they will be unless FEI/ThermoFisher releases the specifications of the format). That said we know that this is an important feature and if loading a particular .ser or .emi file fails for you, please report it as an issue in the issues tracker to make us aware of the problem.

RosettaSciIO (unlike TIA) can read data directly from the .ser files. However, by doing so, the information that is stored in the .emi file is lost. Therefore, it is strongly recommended to load using the .emi file instead.

If several .ser files are associated to the .emi file being read, all of them will be read and returned as a list.

API functions#

rsciio.tia.file_reader(filename, lazy=False, only_valid_data=True)#

Read sets of .ser and .emi files from the FEI/ThermoFisher software TIA (TEM Imaging & Analysis).

Parameters:
filenamestr, pathlib.Path

Filename of the file to read or corresponding pathlib.Path.

lazybool, default=False

Whether to open the file lazily or not. The file will stay open until closed in compute() or closed manually. get_file_handle() can be used to access the file handler and close it manually.

only_valid_databool, Default=True

For cases, where acquisition of series or linescan data stopped before the end. If True, load only the acquired data. If False, the empty data are filled with zeros.

Returns:
list of dict

List of dictionaries containing the following fields:

  • ‘data’ – multidimensional numpy.ndarray or dask.array.Array

  • ‘axes’ – list of dictionaries describing the axes containing the fields ‘name’, ‘units’, ‘index_in_array’, and either ‘size’, ‘offset’, and ‘scale’ or a numpy array ‘axis’ containing the full axes vector

  • ‘metadata’ – dictionary containing the parsed metadata

  • ‘original_metadata’ – dictionary containing the full metadata tree from the input file

When the file contains several datasets, each dataset will be loaded as separate dictionary.