hyperspy.io_plugins.emd module¶
- 
class hyperspy.io_plugins.emd.EMD(signals=None, user=None, microscope=None, sample=None, comments=None)¶
- Bases: - object- Class for storing electron microscopy datasets. - The - EMDclass can hold an arbitrary amount of datasets in the signals dictionary. These are saved as HyperSpy- Signalinstances. Global metadata are saved in four dictionaries (user, microscope, sample, comments). To print relevant information about the EMD instance use the- log_info()function. EMD instances can be loaded from and saved to emd-files, an hdf5 standard developed at Lawrence Berkeley National Lab (https://emdatasets.com/).- 
signals¶
- Dictionary which contains all datasets as - Signalinstances.- Type
- dictionary 
 
 - 
user¶
- Dictionary which contains user related metadata. - Type
- dictionary 
 
 - 
microscope¶
- Dictionary which contains microscope related metadata. - Type
- dictionary 
 
 - 
sample¶
- Dictionary which contains sample related metadata. - Type
- dictionary 
 
 - 
comments¶
- Dictionary which contains additional commentary metadata. - Type
- dictionary 
 
 - 
add_signal(signal, name=None, metadata=None)¶
- Add a HyperSpy signal to the EMD instance and make sure all metadata is present. - Parameters
- signal ( - Signal) – HyperSpy signal which should be added to the EMD instance.
- name (string, optional) – Name of the (used as a key for the signals dictionary). If not specified, signal.metadata.General.title will be used. If this is an empty string, both name and signal title are set to ‘dataset’ per default. If specified, name overwrites the signal title. 
- metadata (dictionary) – Dictionary which holds signal specific metadata which will be added to the signal. 
 
- Returns
- Return type
- None 
 - Notes - This is the preferred way to add signals to the EMD instance. Directly adding to the signals dictionary is possible but does not make sure all metadata are correct. This method is also called in the standard constructor on all entries in the signals dictionary! 
 - 
classmethod load_from_emd(filename, lazy=False, dataset_name=None)¶
- Construct - EMDobject from an emd-file.- Parameters
- filename (string) – The name of the emd-file from which to load the signals. Standard format is ‘*.emd’. 
- False (bool, optional) – If False (default) loads data to memory. If True, enables loading only if requested. 
- dataset_name (string or iterable, optional) – Only add dataset with specific name. Note, this has to be the full group path in the file. For example `/experimental/science_data’. If the dataset is not found, an IOError with the possible datasets will be raised. Several names can be specified in the form of a list. 
 
- Returns
- emd – A - EMDobject containing the loaded signals.
- Return type
 
 - 
log_info()¶
- ( all relevant information about the EMD instance. 
 
- 
- 
hyperspy.io_plugins.emd.EMD_VERSION= '0.2'¶
- 
class hyperspy.io_plugins.emd.FeiEMDReader(filename, select_type=None, first_frame=0, last_frame=None, sum_frames=True, sum_EDS_detectors=True, rebin_energy=1, SI_dtype=None, load_SI_image_stack=False, lazy=False)¶
- Bases: - object- Class for reading FEI electron microscopy datasets. - The - FeiEMDReaderreads EMD files saved by the FEI Velox software package.- 
dictionaries¶
- List of dictionaries which are passed to the file_reader. - Type
- list 
 
 - 
im_type¶
- String specifying whether the data is an image, spectrum or spectrum image. - Type
- string 
 
 
- 
- 
class hyperspy.io_plugins.emd.FeiSpectrumStream(stream_group, reader)¶
- Bases: - object- Read spectrum image stored in FEI’s stream format - Once initialized, the instance of this class supports numpy style indexing and slicing of the data stored in the stream format. - 
get_pixelsize_offset_unit()¶
 - 
property shape¶
 - 
stream_to_array(stream_data, spectrum_image=None)¶
- Convert stream to array. - Parameters
- stream_data (array) – 
- spectrum_image (array or None) – If array, the data from the stream are added to the array. Otherwise it creates a new array and returns it. 
 
 
 - 
stream_to_sparse_array(stream_data)¶
- Convert stream in sparse array - Parameters
- stream_data (array) – 
 
 
- 
- 
hyperspy.io_plugins.emd.calculate_chunks(shape, dtype, chunk_size_mb=100)¶
- Calculate chunks to get target chunk size. - The chunks are optimized for C-order reading speed. - Parameters
- shape (tuple of ints) – The shape of the array 
- dtype (string or numpy dtype) – The dtype of the array 
- chunk_size_mb (int) – The maximum size of the resulting chunks in MB. The default is 100MB as reccommended by the dask documentation. 
 
 
- 
hyperspy.io_plugins.emd.default_extension= 0¶
- 
hyperspy.io_plugins.emd.description= 'Read data from Berkeleys EMD files.'¶
- 
hyperspy.io_plugins.emd.fei_check(filename)¶
- Function to check if the EMD file is an FEI file. - Parameters
- filename (string) – The name of the emd-file from which to load the signals. Standard format is ‘*.emd’. 
- Returns
- Return type
- Boolean 
 
- 
hyperspy.io_plugins.emd.file_extensions= ('emd', 'EMD')¶
- 
hyperspy.io_plugins.emd.file_reader(filename, log_info=False, lazy=False, **kwds)¶
- 
hyperspy.io_plugins.emd.file_writer(filename, signal, signal_metadata=None, user=None, microscope=None, sample=None, comments=None, **kwds)¶
- 
hyperspy.io_plugins.emd.format_name= 'Electron Microscopy Data (EMD)'¶
- 
hyperspy.io_plugins.emd.full_support= False¶
- 
hyperspy.io_plugins.emd.reads_images= True¶
- 
hyperspy.io_plugins.emd.reads_spectrum= True¶
- 
hyperspy.io_plugins.emd.reads_spectrum_image= True¶
- 
hyperspy.io_plugins.emd.writes= True¶