Example #1
0
        show_modelfit(
            spectra,
            vel,
            width,
            tem,
            col,
            figsavename=paths.fpath(
                "chemistry/ch3oh_rotdiagram_fits_SelectedPixel{0}.{1}".format(
                    selreg, filetype)),
            fignum=4 + selreg,
            ylim=ylim)

        speclist = [
            pyspeckit.Spectrum(fn) for fn in glob.glob(
                paths.merge_spath("*{0}_spw*7m12m_hires*fits".format(
                    target.format(selreg))))
        ]
        for sp in speclist:
            sp.data -= np.nanpercentile(sp.data, 10)
        spectra = pyspeckit.Spectra(speclist)
        beam = radio_beam.Beam.from_fits_header(spectra.header)
        # "baseline"
        #spectra.data -= np.nanpercentile(spectra.data, 10)
        spectra.data *= beam.jtok(spectra.xarr)
        spectra.unit = 'K'

        spectra.plotter(figure=selreg + 8)

        del spectra.specfit.Registry.multifitters['ch3oh']
        spectra.specfit.Registry.add_fitter('ch3oh', ch3oh_fitter(), 4)
        spectra.specfit.fitter = spectra.specfit.Registry.multifitters['ch3oh']
pruned_ppcat = Table.read(paths.tpath("dendrogram_continuum_catalog.ipac"),
                          format='ascii.ipac')
dendromask = fits.getdata(paths.apath('dendrograms_min1mJy_diff1mJy_mask_pruned.fits'))

minvelo = 45*u.km/u.s
maxvelo = 90*u.km/u.s

# array merged
data = {}

for row in pruned_ppcat:
    name = row['_idx']
    data[name] = {}

    fn = paths.merge_spath("dendro{name:03d}_spw{ii}_mean_7m12m.fits")
    bgfn = paths.merge_spath("dendro{name:03d}_spw{ii}_background_mean_7m12m.fits")

    data[name] = spectral_overlays.spectral_overlays(fn, name=name,
                                                     freq_name_mapping=freq_name_mapping,
                                                     frequencies=frequencies,
                                                     yoffset=yoffset,
                                                     minvelo=minvelo,
                                                     maxvelo=maxvelo,
                                                     suffix="_7m12m",
                                                     background_fn=bgfn,
                                                    )

firstentry = list(data.keys())[0]
colnames = list(data[firstentry].keys())
coltypes = {k:type(data[firstentry][k]) for k in colnames}
Example #3
0
            cubefn = paths.dpath(
                'merge/fullcube_cutouts/e2cutout_full_W51_7m12m_spw{0}{1}_lines.fits'
                .format(spw, suffix))
            print(cubefn)

            spectra = spectra_from_cubefn(cubefn, reg, bins_arcsec, coordinate)

            for bins, (key, spectrum) in zip(bins_arcsec, spectra.items()):
                include = np.isfinite(spectrum) & np.array(
                    [(bm.major < 1 * u.arcsec) & (bm.minor < 1 * u.arcsec)
                     for bm in spectrum.beams])
                avg_beam = spectral_cube.cube_utils.average_beams(
                    spectrum.beams, includemask=include)
                spectrum.meta['beam'] = avg_beam
                spectrum.write(paths.merge_spath(
                    'e2e_radial_bin_{0:0.2f}to{1:0.2f}_7m12m_spw{2}{3}.fits'.
                    format(bins[0], bins[1], spw, suffix)),
                               overwrite=True)

    for spw in (0, 1, 2, 3):

        cubefn = paths.dpath(
            '12m/fullcube_cutouts/e2cutout_full_W51_spw{0}_lines.fits'.format(
                spw))
        print(cubefn)

        spectra = spectra_from_cubefn(cubefn, reg, bins_arcsec, coordinate)

        pl.figure(1).clf()

        for bins, (key, spectrum) in zip(bins_arcsec, spectra.items()):
from line_parameters import frequencies, freq_name_mapping, yoffset
import pyregion

cores = pyregion.open(paths.rpath('cores.reg'))

minvelo = 45*u.km/u.s
maxvelo = 90*u.km/u.s

# array merged hi-res
data = {}

for corereg in cores:
    name = corereg.attr[1]['text']
    data[name] = {}

    fn = paths.merge_spath("{name}_spw{ii}_7m12m_hires_mean.fits")
    #bgfn = paths.merge_spath("{name}_spw{ii}_background_mean_7m12m.fits")

    data[name] = spectral_overlays.spectral_overlays(fn, name=name,
                                                     freq_name_mapping=freq_name_mapping,
                                                     frequencies=frequencies,
                                                     yoffset=yoffset,
                                                     minvelo=minvelo,
                                                     maxvelo=maxvelo,
                                                     suffix="_7m12m_hires",
                                                     #background_fn=bgfn,
                                                    )

firstentry = list(data.keys())[0]
colnames = list(data[firstentry].keys())
coltypes = {k:type(data[firstentry][k]) for k in colnames}
            cubefn = paths.dpath('merge/fullcube_cutouts/e2cutout_full_W51_7m12m_spw{0}{1}_lines.fits'
                                .format(spw,suffix))
            print(cubefn)

            spectra = spectra_from_cubefn(cubefn, reg, bins_arcsec, coordinate)

            for bins, (key, spectrum) in zip(bins_arcsec, spectra.items()):
                include = np.isfinite(spectrum) & np.array([(bm.major < 1*u.arcsec) &
                                                            (bm.minor < 1*u.arcsec)
                                                            for bm in spectrum.beams])
                avg_beam = spectral_cube.cube_utils.average_beams(spectrum.beams,
                                                                  includemask=include)
                spectrum.meta['beam'] = avg_beam
                spectrum.write(paths.merge_spath('e2e_radial_bin_{0:0.2f}to{1:0.2f}_7m12m_spw{2}{3}.fits'
                                                 .format(bins[0], bins[1], spw,
                                                         suffix)),
                               overwrite=True
                              )

    for spw in (0,1,2,3):

        cubefn = paths.dpath('12m/fullcube_cutouts/e2cutout_full_W51_spw{0}_lines.fits'
                             .format(spw))
        print(cubefn)

        spectra = spectra_from_cubefn(cubefn, reg, bins_arcsec, coordinate)

        pl.figure(1).clf()

        for bins, (key, spectrum) in zip(bins_arcsec, spectra.items()):
        beam = radio_beam.Beam.from_fits_header(spectra.header)
        # "baseline"
        #spectra.data -= np.nanpercentile(spectra.data, 10)
        spectra.data *= beam.jtok(spectra.xarr)
        spectra.unit='K'

        pl.figure(selreg, figsize=(24,16)).clf()
        spectra.plotter(figure=selreg)

        show_modelfit(spectra, vel, width, tem, col,
                      figsavename=paths.fpath("chemistry/ch3oh_rotdiagram_fits_SelectedPixel{0}.png"
                                              .format(selreg)),
                      fignum=4+selreg, ylim=ylim)

        speclist = [pyspeckit.Spectrum(fn) for fn in
                    glob.glob(paths.merge_spath("*{0}_spw*7m12m_hires*fits".format(target.format(selreg))))]
        for sp in speclist:
            sp.data -= np.nanpercentile(sp.data, 10)
        spectra = pyspeckit.Spectra(speclist)
        beam = radio_beam.Beam.from_fits_header(spectra.header)
        # "baseline"
        #spectra.data -= np.nanpercentile(spectra.data, 10)
        spectra.data *= beam.jtok(spectra.xarr)
        spectra.unit='K'

        spectra.plotter(figure=selreg+8)

        del spectra.specfit.Registry.multifitters['ch3oh']
        spectra.specfit.Registry.add_fitter('ch3oh', ch3oh_fitter(), 4)
        spectra.specfit.fitter = spectra.specfit.Registry.multifitters['ch3oh']
pruned_ppcat = Table.read(paths.tpath("dendrogram_continuum_catalog.ipac"),
                          format='ascii.ipac')
dendromask = fits.getdata(
    paths.apath('dendrograms_min1mJy_diff1mJy_mask_pruned.fits'))

minvelo = 45 * u.km / u.s
maxvelo = 90 * u.km / u.s

# array merged
data = {}

for row in pruned_ppcat:
    name = row['_idx']
    data[name] = {}

    fn = paths.merge_spath("dendro{name:03d}_spw{ii}_mean_7m12m.fits")
    bgfn = paths.merge_spath(
        "dendro{name:03d}_spw{ii}_background_mean_7m12m.fits")

    data[name] = spectral_overlays.spectral_overlays(
        fn,
        name=name,
        freq_name_mapping=freq_name_mapping,
        frequencies=frequencies,
        yoffset=yoffset,
        minvelo=minvelo,
        maxvelo=maxvelo,
        suffix="_7m12m",
        background_fn=bgfn,
    )