diff --git a/spe2py.py b/spe2py.py index f21848e..b8bba6d 100644 --- a/spe2py.py +++ b/spe2py.py @@ -158,12 +158,26 @@ def _get_wavelength(self): try: wavelength_string = StringIO(self.footer.SpeFormat.Calibrations.WavelengthMapping.Wavelength.cdata) except AttributeError: - print("XML Footer was not loaded prior to calling _get_wavelength") - raise + """ + possibly because a calibration is present. + Try getting the WavelengthError.cdata instead of Wavelength.cdata when calibration is present. + """ + try: + wavelengthErrorStr = self.footer.SpeFormat.Calibrations.WavelengthMapping.WavelengthError.cdata + wavelengthErrorStrStream = StringIO(wavelengthErrorStr.replace(" ", "\n")) + wavelengthError = np.loadtxt(wavelengthErrorStrStream, delimiter=',') + return wavelengthError[:,0] + except: + print("XML Footer was not loaded prior to calling _get_wavelength") + return except IndexError: print("XML Footer does not contain Wavelength Mapping information") return + + + + wavelength = np.loadtxt(wavelength_string, delimiter=',') return wavelength