name = imageDir + 'NGC5257/12CO21/NGC5257_12CO21_combine_smooth_pbcor.fits' imagecube = SpectralCube.read(name) Imcube = imagecube.with_spectral_unit(u.km / u.s, velocity_convention='radio', rest_value=225.46 * 10**9 * u.Hz) ## create rms cube rmscube = cube.calc_noise_in_cube(Imcube) # mask the the low value of rmscube. mask = rmscube < 3.0e-3 * u.Jy / u.beam lowrms = rmscube.with_mask(~mask) newrms = lowrms.with_fill_value(3.0e-3) ## find the signal of the cube. outcube = cube.find_signal_in_cube(Imcube, newrms, snr_hi=5) kcube = outcube.to(u.K) kcube.write(imageDir + 'NGC5257/NGC5257_kcube_pbcor.fits') # NGC 5258 name = imageDir + 'NGC5258/NGC5258_12CO21_combine_smooth_pbcor.fits' imagecube = SpectralCube.read(name) Imcube = imagecube.with_spectral_unit(u.km / u.s, velocity_convention='radio', rest_value=225.46 * 10**9 * u.Hz) ## create rms cube rmscube = cube.calc_noise_in_cube(Imcube) # mask the the low value of rmscube.
import cube from astropy.utils import data from spectral_cube import SpectralCube, Projection from radio_beam import Beam from astropy import units as u Dir='/1/home/heh15/workingspace/Arp240/scatter/' imageDir=Dir+'image/' # import the image into the spectral cube name=imageDir+'NGC5257/NGC5257_12CO21_combine_sinbeam_cube.fits' imagecube=SpectralCube.read(name) # newbeam=Beam(1.02*u.arcsec,0.55*u.arcsec,-64.5*u.deg) # outcube=cube.convolve_cube(imagecube,newbeam) rmscube=cube.calc_noise_in_cube(imagecube) outcube=cube.find_signal_in_cube(imagecube,rmscube)
name = imageDir + 'NGC5258_12CO10_combine_contsub_pbcor.fits' imagecube = SpectralCube.read(name) # imcube=imagecube.with_spectral_unit(u.km/u.s,velocity_convention='radio',rest_value=112.73*10**9*u.Hz) common_beam = imagecube.beams.common_beam(tolerance=1e-5) Imcube = imagecube.convolve_to(common_beam) ## create rms cube rmscube = cube.calc_noise_in_cube(Imcube) # # mask the the low value of rmscube. # mask=rmscube<3.0e-3*u.Jy/u.beam # lowrms=rmscube.with_mask(~mask) # newrms=lowrms.with_fill_value(3.0e-3) ## find the signal of the cube. outcube = cube.find_signal_in_cube(Imcube, rmscube, snr_hi=5) outcube.write(imageDir + 'NGC5258_12CO10_pbcor_cube.fits', overwrite=True) # kcube=outcube.to(u.K) # kcube.write(imageDir+'NGC5258_12CO10_kcube.fits') fitsfile = imageDir + 'NGC5258_12CO10_pbcor_cube.fits' outcube = SpectralCube.read(fitsfile) ### moment 0 map ### imcube = outcube.with_spectral_unit(u.km / u.s, velocity_convention='radio', rest_value=112.73 * 10**9 * u.Hz) moment0 = imcube.moment(order=0) moment0.write(imageDir + 'NGC5258_12CO10_pbcor_cube_mom0.fits', overwrite=True) mom0_data = moment0.hdu.data
common_beam = imagecube.beams.common_beam(tolerance=1e-5) # Imcube = imagecube.convolve_to(common_beam) smooth_beam = radio_beam.Beam(major=2.186 * u.arcsec, minor=1.896 * u.arcsec, pa=-87.6 * u.deg) Imcube = imagecube.convolve_to(smooth_beam) ## create rms cube rmscube = cube.calc_noise_in_cube(Imcube, spatial_average_nbeam=1.0, spectral_average_nchan=2) ## find the signal of the cube. outcube = cube.find_signal_in_cube(Imcube, rmscube, snr_hi=4, nchan_hi=1, nchan_lo=2) outcube.write(imageDir + '12CO10/NGC5257_12CO10_uvrange_pbcor_cube.fits', overwrite=True) imcube = outcube.with_spectral_unit(u.km / u.s, velocity_convention='radio', rest_value=112.73 * 10**9 * u.Hz) mom0 = imcube.moment(order=0) mom0.write(imageDir + '12CO10/NGC5257_12CO10_uvrange_pbcor_cube_mom0.fits', overwrite=True) co10mom0 = mom0 ### 12CO 2-1 cube processing. ###