예제 #1
0
 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
예제 #2
0
파일: spectrum.py 프로젝트: csb60/hyperspy
 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
예제 #3
0
파일: io.py 프로젝트: hongliliu/hyperspy
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
예제 #4
0
 def to_EELS(self):
     from hyperspy.signals.eels import EELSSpectrum
     dic = self._get_signal_dict()
     dic['mapped_parameters']['signal'] = 'EELS'
     return EELSSpectrum(dic)