def plot(i, pol):
     ii12 = analyse.loadfits(qdir+fits12[i][:-5]+'.qlook.ii.fits')
     ii13 = analyse.loadfits(qdir+fits13[i][:-5]+'.qlook.ii.fits')
     ii18 = analyse.loadfits(qdir+fits18[i][:-5]+'.qlook.ii.fits')
     rms12 = analyse.loadfits(qdir+fits12[i][:-5]+'.qlook.rms.fits')
     rms13 = analyse.loadfits(qdir+fits13[i][:-5]+'.qlook.rms.fits')
     rms18 = analyse.loadfits(qdir+fits18[i][:-5]+'.qlook.rms.fits')
     sp12 = analyse.loadfits(qdir+fits12[i][:-5]+'.qlook.data.fits')
     sp13 = analyse.loadfits(qdir+fits13[i][:-5]+'.qlook.data.fits')
     sp18 = analyse.loadfits(qdir+fits18[i][:-5]+'.qlook.data.fits')
     fig = pylab.figure(figsize=(25,25))
     fig.suptitle(name, fontsize=22)
     plot = analyse.custom_draw_map(figure=fig, xspacing=0.2, yspacing=0.2,
                                    tick_labels_size=12, colorber_font_size=11, show=False)
     splt = functools.partial(analyse.draw_otf_spectrum, figure=fig, tick_labels_size=12,
                              xlim=(-150,150), show=False)
     plot(ii12, subplot=331, title='12CO(2-1): mom0')
     plot(ii13, subplot=331+3, title='13CO(2-1): mom0')
     plot(ii18, subplot=331+6, title='C18O(2-1): mom0')
     plot(rms12, subplot=332, title='12CO(2-1): rms')
     plot(rms13, subplot=332+3, title='13CO(2-1): rms')
     plot(rms18, subplot=332+6, title='C18O(2-1): rms')
     splt(sp12, subplot=333, title='12CO(2-1): spectrum')
     splt(sp13, subplot=333+3, title='13CO(2-1): spectrum')
     splt(sp18, subplot=333+6, title='C18O(2-1): spectrum')
     fig.savefig(dirpath+name+'_%s_test.png'%(pol), dpi=70)
     fig.savefig(savepath+'qlook_obs_otf_'+timestamp+'_%s.png'%(pol.upper()))
     pylab.close(fig)
def easy_analyse(fitspath, output_dir, flag=None, plot=False, save=False):
    import analyse
    print('make_cube: %s'%(fitspath.split('/')[-1]))
    raw_data = analyse.loadfits(fitspath)
    cw_data = analyse.makespec(raw_data)

    if flag is None:
        fitted_data, flag = analyse.basefit(cw_data)
    else:
        flag = analyse.loadfits(flag)
        fitted_data = analyse.basefit_flag(cw_data, None, flag)
        pass
    convolved_data = analyse.convolve(fitted_data, 2)
    fitted_data = analyse.basefit_flag(convolved_data, None, flag)

    ii = analyse.make_2d_map(fitted_data, flag)
    rms = analyse.make_2d_map(fitted_data, flag, 'rms')

    if save:
        savepath = output_dir + fitspath.split('/')[-1].split('.fits')[0]
        analyse.savefits(fitted_data, savepath+'.qlook.data.fits', clobber=True)
        analyse.savefits(flag, savepath+'.qlook.flag.fits', clobber=True)
        analyse.savefits(ii, savepath+'.qlook.ii.fits', clobber=True)
        analyse.savefits(rms, savepath+'.qlook.rms.fits', clobber=True)
        pass

    if plot:
        savepath = output_dir + fitspath.split('/')[-1].split('.fits')[0]
        isotope = fitspath.split('_')[-2]
        plot = analyse.custom_draw_map(figure=(8,8), xspacing=0.2, yspacing=0.2,
                                       tick_labels_size=12, colorber_font_size=11, show=False)
        plot(ii, title='mom0: '+isotope).save(savepath+'.qlook.ii.png')
        plot(rms, title='rms: '+isotope).save(savepath+'.qlook.rms.png')
        analyse.draw_otf_spectrum(fitted_data, figure=(12,5), title='spectra: '+isotope,
                                  show=False).savefig(savepath+'.qlook.spectrum.png')
        pass

    raw_data.data = None
    cw_data.data = None
    return fitted_data, flag