3: [1,1,2,2]
        }

from gbtpy.makecube import velo_iterator
velo = velo_iterator(datapfits,linefreq=None).next()

interp_polyorder=15

scanrange = [9,54]
off_templates = {}
for percentile in (50,95,99):
    for ii,exclude in enumerate(([-58,103,158,193],[-10,70],[])):

        off_template,off_template_in,off_poly = make_off_template.make_off(hdul, scanrange=scanrange,
                exclude_velo=exclude, interp_vrange=[-150,250],
                interp_polyorder=interp_polyorder, sampler=sampler, return_uninterp=True, 
                return_poly=True,
                percentile=percentile, exclude_spectral_ends=10)

        off_templates[(percentile,ii)] = off_template,off_template_in,off_poly

oti_med = off_templates[(50,0)][1]

pl.figure(1)
pl.clf()
for ot in off_templates:
    off_template,off_template_in,off_poly = off_templates[ot]
    ax1 = pl.subplot(4,2,ot[1]+1)
    L, = ax1.plot(velo, off_template)
    ax1.plot(velo, off_template_in, label=ot, color=L.get_color())
    ax1.set_ylim(0.915,1.0)
filename = '/Users/adam/observations/gbt/AGBT12B_221_01/AGBT12B_221_01.raw.acs.fits'
filepyfits = pyfits.open(filename,memmap=True)
datapfits = filepyfits[1].data
dataarr = datapfits.DATA

from gbtpy.makecube import velo_iterator
velo = velo_iterator(datapfits,linefreq=None).next()

sampler = 'A9'
off_templates = {}
for percentile in (50,95,99):
    for ii,exclude in enumerate(([-58,103,158,193],[-127,103,158,193],[-127,43,69,103,158,193],[-127,-96,-78,38,62,96,158,193])):

        off_template,off_template_in,off_poly = make_off_template.make_off(filepyfits, scanrange=scanrange,
                exclude_velo=exclude, interp_vrange=[-350,350],
                interp_polyorder=10, sampler=sampler, return_uninterp=True, 
                return_poly=True,
                percentile=percentile, exclude_spectral_ends=10)

        off_templates[(percentile,ii)] = off_template,off_template_in,off_poly

oti_med = off_templates[(50,0)][1]

pl.figure(1)
pl.clf()
for ot in off_templates:
    off_template,off_template_in,off_poly = off_templates[ot]
    ax1 = pl.subplot(4,2,ot[1]+1)
    L, = ax1.plot(velo, off_template)
    ax1.plot(velo, off_template_in, label=ot, color=L.get_color())
    ax1.set_ylim(0.89,0.98)