Exemple #1
0
    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:
Exemple #2
0
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()
Exemple #3
0
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()
Exemple #4
0
    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)