def get_fine_structure_as_spectrum(self): """Returns a spectrum containing the fine structure. Notes ----- The fine structure is corrected from multiple scattering if the model was convolved with a low-loss spectrum """ from hyperspy.signals.eels import EELSSpectrum channels = int(np.floor( self.fine_structure_width / self.energy_scale)) data = np.zeros(self.fine_structure_coeff.map.shape + (channels,)) s = EELSSpectrum({ 'data' : data, 'axes' : self.intensity._axes_manager._get_axes_dicts()}) s.get_dimensions_from_data() s.axes_manager.signal_axes[0].offset = self.onset_energy.value # Backup the axes_manager original_axes_manager = self._axes_manager self._axes_manager = s.axes_manager for spectrum in s: self.charge_value_from_map() spectrum.data[:] = self.function( s.axes_manager.signal_axes[0].axis) # Restore the axes_manager and the values self._axes_manager = original_axes_manager self.charge_value_from_map() s.mapped_parameters.title = self.name.replace( '_',' ') + ' fine structure' return s
def to_EELS(self): from hyperspy.signals.eels import EELSSpectrum dic = self._get_signal_dict() dic['mapped_parameters']['signal_type'] = 'EELS' eels = EELSSpectrum(dic) if hasattr(self, 'learning_results'): eels.learning_results = copy.deepcopy(self.learning_results) return eels
def load_with_reader(filename, reader, record_by=None, signal=None, **kwds): from hyperspy.signals.image import Image from hyperspy.signals.spectrum import Spectrum from hyperspy.signals.eels import EELSSpectrum messages.information(reader.description) file_data_list = reader.file_reader(filename, record_by=record_by, **kwds) objects = [] for file_data_dict in file_data_list: if record_by is not None: file_data_dict['mapped_parameters']['record_by'] = record_by # The record_by can still be None if it was not defined by the reader if file_data_dict['mapped_parameters']['record_by'] is None: print "No data type provided. Defaulting to image." file_data_dict['mapped_parameters']['record_by'] = 'image' if signal is not None: file_data_dict['mapped_parameters']['signal'] = signal if file_data_dict['mapped_parameters']['record_by'] == 'image': s = Image(file_data_dict) else: if file_data_dict['mapped_parameters']['signal'] == 'EELS': s = EELSSpectrum(file_data_dict) else: s = Spectrum(file_data_dict) if defaults.plot_on_load is True: s.plot() objects.append(s) if len(objects) == 1: objects = objects[0] return objects
def to_EELS(self): from hyperspy.signals.eels import EELSSpectrum dic = self._get_signal_dict() dic['mapped_parameters']['signal'] = 'EELS' return EELSSpectrum(dic)