In [1]:
import specutils

In [2]:
inloglam = specutils.get_loglam(minwave=2500., maxwave=2800.)
influx = sin(arange(inloglam.size)/500.*2.*pi)+rand(inloglam.size, )*0.1
inivar = ones(inloglam.size)
inivar[10:15] = 0
inivar[110:120] = 0
inivar[250:270] = 0

In [10]:
newloglam = specutils.get_loglam(minwave=2401.8, maxwave=2821.0, dloglam=2E-4)
newflux, newivar = specutils.interpol_spec(inloglam, influx, inivar, newloglam)

In [11]:
figure(figsize=(12,8))
plot(inloglam, influx, 'b', newloglam, newflux, 'r')
plot(newloglam, newflux, 'ro')
plot(inloglam, influx, 'b*')
plot(newloglam, newivar, 'r+')
plot(inloglam, inivar, 'b+')
xlim(3.405, 3.410)
ylim(0.5,1.5)


Out[11]:
(0.5, 1.5)

In [45]:
figure(figsize=(12,8))
plot(inloglam, influx, 'b', newloglam, newflux, 'r')


Out[45]:
[<matplotlib.lines.Line2D at 0x11048c210>,
 <matplotlib.lines.Line2D at 0x11048c490>]

In [40]:
inivar


Out[40]:
array([ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  0.,  0.,  0.,
        0.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.])

In [152]:
a = array([1,2,3,4,5,6])
b = array([1,4,5])

In [154]:
c = np.in1d(a,b)
print(c)


[ True False False  True  True False]

In [155]:
c = np.in1d(b,a)
print(c)


[ True  True  True]

In [250]:
inivar[inivar>0].size


Out[250]:
458
inloglam.size != inivar.size

In [274]:
inloglam.size == inivar.size == influx.size


Out[274]:
True

In [321]:
ss = specutils.UnivariateSpline(inloglam, influx, k=3, s=20)

In [322]:
figure(figsize=(12,8))
plot(inloglam, influx)
plot(inloglam, ss(inloglam), 'r')


Out[322]:
[<matplotlib.lines.Line2D at 0x11c7ac1d0>]

In [325]:
ss.get_knots()


Out[325]:
array([ 3.39799001,  3.44719001])

In [16]:
x = None
y = x+'.fits'


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-16-38e63eb228e3> in <module>()
      1 x = None
----> 2 y = x+'.fits'

TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

In [17]:
arange(1)


Out[17]:
array([0])

In [ ]: