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}
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, )