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)
import cube from spectral_cube import SpectralCube, Projection from astropy import units as u Dir = '/home/heh15/workingspace/Arp240/scatter/' imageDir = Dir + 'image/' # NGC 5257 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)
############################################################ ### 12CO 1-0 cube processing. ### name = imageDir + '12CO10/NGC5257_12CO10_combine_contsub_uvrange_pbcor.fits' imagecube = SpectralCube.read(name) 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)