exp_spectrum.wavelengths = exp_spectrum.wavelengths + shift signal = pylab.append(signal, exp_spectrum.intensities[784]) if signal[-1] < noise: print 'Signal too low, setting to zero...\n' minerrs.append(0) ctemps.append(0) it += 1 continue exp_spectrum = exp_spectrum.normalize() #exp_spectrum.wavelengths = 9.998381e-1 * exp_spectrum.wavelengths + 5.90766e-11 test_temperatures = range(temp_start, temp_end + step, step) if not test_spectra: print '\n Generating spectra (this may take a while) ...' for temp in test_temperatures: test_spectrum = temperature.lines(istate, vi, fstate, vf, J[-1], temp) test_spectrum = test_spectrum.map(exp_spectrum.wavelengths) test_spectrum = test_spectrum.broaden(fwhm, linetype=1) test_spectra.append(test_spectrum.normalize()) errors = [] for test_spectrum in test_spectra: errors.append( pylab.sum(abs(exp_spectrum.intensities - test_spectrum.intensities))) tck1 = interpolate.splrep(test_temperatures, errors, s=0) der1 = interpolate.splev(test_temperatures, tck1, der=1) tck2 = interpolate.splrep(test_temperatures, der1, s=0) roots = interpolate.sproot(tck2) if len(roots) is not 1:
import temperature from gases import N2 from pylab import * import operator from scipy import interpolate istate = N2.C3Piu() vi = 0 fstate = N2.B3Pig() vf = 0 Tr = 450 J = range(51) ns = temperature.lines(istate, vi, fstate, vf, J[-1], Tr) ns = ns.normalize() ns.show() # newwave = linspace(min(ns.wavelengths), max(ns.wavelengths), 10000) # mapped = ns.map(newwave) # smooth1 = ns.broaden() # smooth1 = smooth1.normalize() # smooth2 = mapped.broaden() # smooth2 = smooth2.normalize() # smooth1.show() # smooth2.show() show()
import temperature from gases import N2 from pylab import * import operator from scipy import interpolate istate = N2.C3Piu() vi = 0 fstate = N2.B3Pig() vf = 0 Tr = 450 J = range(51) ns = temperature.lines(istate, vi, fstate, vf, J[-1], Tr) ns = ns.normalize() ns.show() #newwave = linspace(min(ns.wavelengths), max(ns.wavelengths), 10000) #mapped = ns.map(newwave) #smooth1 = ns.broaden() #smooth1 = smooth1.normalize() #smooth2 = mapped.broaden() #smooth2 = smooth2.normalize() #smooth1.show() #smooth2.show() show()
exp_spectrum.wavelengths = exp_spectrum.wavelengths + shift signal = pylab.append(signal, exp_spectrum.intensities[784]) if signal[-1] < noise: print 'Signal too low, setting to zero...\n' minerrs.append(0) ctemps.append(0) it += 1 continue exp_spectrum = exp_spectrum.normalize() #exp_spectrum.wavelengths = 9.998381e-1 * exp_spectrum.wavelengths + 5.90766e-11 test_temperatures = range(temp_start, temp_end+step, step) if not test_spectra: print '\n Generating spectra (this may take a while) ...' for temp in test_temperatures: test_spectrum = temperature.lines(istate, vi, fstate, vf, J[-1], temp) test_spectrum = test_spectrum.map(exp_spectrum.wavelengths) test_spectrum = test_spectrum.broaden(fwhm, linetype=1) test_spectra.append(test_spectrum.normalize()) errors = [] for test_spectrum in test_spectra: errors.append(pylab.sum(abs(exp_spectrum.intensities - test_spectrum.intensities))) tck1 = interpolate.splrep(test_temperatures, errors, s=0) der1 = interpolate.splev(test_temperatures, tck1, der=1) tck2 = interpolate.splrep(test_temperatures, der1, s=0) roots = interpolate.sproot(tck2) if len(roots) is not 1: print 'Temperature ambiguous, setting to zero...' ctemps.append(0)