major = imhead(imagename=imagenames[1], mode="get", hdkey="beammajor")["value"]
minor = imhead(imagename=imagenames[1], mode="get", hdkey="beamminor")["value"]
pix = abs(imhead(imagename=imagenames[1], mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for 12co10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="16~32",
                 mask="mask_12CO10.mask",
                 thres=rms_co10 * 0)

### create momement maps for 12co21
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="16~32",
                 mask="mask_12CO21.mask",
                 thres=rms_co21 * 0)
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="5~80",
                 mask="mask_eso148.mask",
                 thres=0.002 * 6.5)

# ESO 286
myim.createmask(dir_data=dir_data,
                imagename=imagenames[1].split("/")[-1],
                thres=0.002 * 8.0,
                outmask="mask_eso286.mask")

outmask = dir_data + "mask_eso286.mask"
os.system("cp -r " + outmask + " " + outmask + ".all")
major = imhead(imagename=imagenames[1], mode="get", hdkey="beammajor")["value"]
minor = imhead(imagename=imagenames[1], mode="get", hdkey="beamminor")["value"]
pix = abs(imhead(imagename=imagenames[1], mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
                thres=rms * threshold_mask,
                outmask="datacube.mask")

outmask = dir_data + "datacube.mask"
os.system("cp -r " + outmask + " " + outmask + ".all")
major = imhead(imagename=dir_data + imagename, mode="get",
               hdkey="beammajor")["value"]
minor = imhead(imagename=dir_data + imagename, mode="get",
               hdkey="beamminor")["value"]
pix = abs(imhead(imagename=dir_data + imagename, mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps
myim.moment_maps(dir_data=dir_data,
                 imagename=dir_data + imagename,
                 chans=chans,
                 mask="datacube.mask",
                 thres=rms * threshold_moment)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for c18o10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="1~11",
                 mask="mask_C18O.mask",
                 thres=0.00075 * 2.5)

### create momement maps for ch3oh
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="1~11",
                 mask="mask_C18O.mask",
                 thres=0.0007 * 2.5)

### create momement maps for cs21
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[2],
                 chans="1~11",
                 mask="mask_C18O.mask",
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="15~40",
                 mask="mask_eso148_hcn.mask",
                 thres=0.0005 * 2.7)

# hco_plus43
myim.createmask(dir_data=dir_data,
                imagename=imagenames[1].split("/")[-1],
                thres=0.0006 * 2.3,
                outmask="mask_eso148_hco_plus.mask")

outmask = dir_data + "mask_eso148_hco_plus.mask"
os.system("cp -r " + outmask + " " + outmask + ".all")
major = imhead(imagename=imagenames[1], mode="get", hdkey="beammajor")["value"]
minor = imhead(imagename=imagenames[1], mode="get", hdkey="beamminor")["value"]
pix = abs(imhead(imagename=imagenames[1], mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
Beispiel #6
0
pixelsize = pix * 3600 * 180 / np.pi
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()
myim.moment_maps(dir_data=dir_data,
                 imagename=imagename,
                 chans=chans,
                 mask=maskname,
                 thres=thres2)

### NGC 1614
os.system("rm -rf " + dir_data + "mask2.image")
imagename = imagenames[0]
thres = 0.0014 * 2.
thres2 = 0.0014 * 2.5
maskname = "ngc1614.mask"
chans = "1~28"

myim.createmask(dir_data=dir_data,
                imagename=imagename,
                thres=thres,
                outmask=maskname)
Beispiel #7
0
im_12co10 = images_cube[0]
im_12co21 = images_cube[1]
im_ci10 = images_cube[2]

rms_12co10 = 0.003
rms_12co21 = 0.0015
rms_ci10 = 0.007

### create mask for each moment map
myim.createmask(dir_data=dir_data,
                imagename=im_12co10.split("/")[-1],
                thres=rms_12co10 * 4.,
                outmask="12co10.mask")
myim.moment_maps(dir_data=dir_data,
                 imagename=im_12co10,
                 chans="18~75",
                 mask="12co10.mask",
                 thres=rms_12co10 * 4.)

myim.createmask(dir_data=dir_data,
                imagename=im_12co21.split("/")[-1],
                thres=rms_12co21 * 4.,
                outmask="12co21.mask")
myim.moment_maps(dir_data=dir_data,
                 imagename=im_12co21,
                 chans="18~75",
                 mask="12co21.mask",
                 thres=rms_12co21 * 4.)

myim.createmask(dir_data=dir_data,
                imagename=im_ci10.split("/")[-1],
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for 12co10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="14~40",
                 mask="mask_12CO.mask",
                 thres=-10.)

### create momement maps for 12co21
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="12~41",
                 mask="mask_12CO.mask",
                 thres=-10.)

### create momement maps for 13co10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[2],
                 chans="17~38",
                 mask="mask_13CO.mask",
Beispiel #9
0
im_13co10 = "line_13co10_contsub_clean20_nat_uv_smooth.image.moment0"
im_13co21 = "line_13co21_contsub_clean20_nat_smooth.image.moment0"

#####################
### Main Procedure
#####################
### create cube mask
imagenames = glob.glob(dir_data + "*.image")
myim.createmask(dir_data=dir_data,
                imagename=imagenames[0].split("/")[-1],
                thres=-1.0)

### create momement maps
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="14~40",
                 mask="mask1.image",
                 thres=-1.0)
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="12~41",
                 mask="mask1.image",
                 thres=-1.0)
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[2],
                 chans="17~38",
                 mask="mask1.image",
                 thres=-1.0)
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[3],
                 chans="16~40",
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for 12co10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="18~75",
                 mask="mask_12CO.mask",
                 thres=rms_co * 3.0)

myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="18~75",
                 mask="mask_12CO.mask",
                 thres=rms_co * 3.0)

### create momement maps for 12co21
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[2],
                 chans="18~75",
                 mask="mask_12CO.mask",
                 thres=rms_co * 3.)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for CI10
myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[1],
                 chans="7~35",
                 mask="mask_i18293.mask",
                 thres=rms_i18293 * 5.5)

# NGC 5104
myim.createmask(dir_data=dir_data,
                imagename=imagenames[2].split("/")[-1],
                thres=rms_n5104 * 3.0,
                outmask="mask_n5104.mask")

outmask = dir_data + "mask_n5104.mask"
os.system("cp -r " + outmask + " " + outmask + ".all")
major = imhead(imagename=imagenames[2], mode="get", hdkey="beammajor")["value"]
minor = imhead(imagename=imagenames[2], mode="get", hdkey="beamminor")["value"]
pix = abs(imhead(imagename=imagenames[2], mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
Beispiel #12
0
# ESO 148
myim.createmask(dir_data=dir_data,
                imagename=imagenames[0].split("/")[-1],
                thres=0.00018 * 2.,
                outmask="mask_irasf00182.mask")

outmask = dir_data + "mask_irasf00182.mask"
os.system("cp -r " + outmask + " " + outmask + ".all")
major = imhead(imagename=imagenames[0], mode="get", hdkey="beammajor")["value"]
minor = imhead(imagename=imagenames[0], mode="get", hdkey="beamminor")["value"]
pix = abs(imhead(imagename=imagenames[0], mode="list")["cdelt1"])
pixelsize = pix * 3600 * 180 / np.pi
beamarea = (major * minor * np.pi / (4 * np.log(2))) / (pixelsize**2)
ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j + 1, j + 1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

myim.moment_maps(dir_data=dir_data,
                 imagename=imagenames[0],
                 chans="0~16",
                 mask="mask_irasf00182.mask",
                 thres=0.00018 * 2.5)
               hdkey = "beammajor")["value"]
minor = imhead(imagename = imagenames[0],
               mode = "get",
               hdkey = "beamminor")["value"]
pix = abs(imhead(imagename = imagenames[0],
                 mode = "list")["cdelt1"])
pixelsize = pix*3600*180 / np.pi
beamarea = (major*minor*np.pi/(4*np.log(2))) / (pixelsize**2)

ia.open(outmask)
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j+1 , j+1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()

### create momement maps for 12co21
myim.moment_maps(dir_data = dir_data,
    imagename = imagenames[0],
    chans = "55~310",
    mask = "mask_12CO.mask",
    thres = 3. * rms)

os.system("rm -rf " + dir_data + "*immath")
os.system("rm -rf " + dir_data + "*mask*")
Beispiel #14
0
 pixelsize = pix * 3600 * 180 / np.pi
 beamarea = (major * minor * np.pi/(4 * np.log(2))) / (pixelsize ** 2)
 ia.open(dir_data + outmask)
 mask = ia.getchunk()
 labeled, j = scipy.ndimage.label(mask)
 myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j+1 , j+1)
 object_slices = scipy.ndimage.find_objects(labeled)
 threshold = beamarea * pixelmin
 for i in range(j):
     if myhistogram[i + 1] < threshold:
         mask[object_slices[i]] = 0
 ia.putchunk(mask)
 ia.done()
 myim.moment_maps(dir_data = dir_data,
                  imagename = dir_data + spw_cs76[k].split("/")[-1],
                  chans = chan_cs76[k],
                  mask = outmask,
                  thres = rms_cs76[k] * 2.7)
 os.system("mv " + dir_data + spw_cs76[k].split("/")[-1]+".moment0 " + dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment0")
 os.system("mv " + dir_data + spw_cs76[k].split("/")[-1]+".moment1 " + dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment1")
 os.system("mv " + dir_data + spw_cs76[k].split("/")[-1]+".moment2 " + dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment2")
 fits_hcn = glob.glob(dir_data + "*hcn43*moment0*.fits")
 template_hcn = fits_hcn[0].replace(".fits", ".image")
 importfits(fitsimage = dir_data + fits_hcn[0],
            imagename = dir_data + template_hcn)
 imregrid(imagename = dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment0",
          template = template_hcn,
          output = dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment0.regrid",
          overwrite = True)
 imregrid(imagename = dir_data + spw_cs76[k].split("/")[-1].split("_AL2B6")[0] + "_cs76.moment1",
          template = template_hcn,
mask = ia.getchunk()
labeled, j = scipy.ndimage.label(mask)
myhistogram = scipy.ndimage.measurements.histogram(labeled, 0, j+1 , j+1)
object_slices = scipy.ndimage.find_objects(labeled)
threshold = beamarea * pixelmin
for i in range(j):
    if myhistogram[i + 1] < threshold:
        mask[object_slices[i]] = 0
ia.putchunk(mask)
ia.done()


### create momement maps for 12co10
myim.moment_maps(dir_data = dir_data,
    imagename = imagenames[0],
    chans = "14~40",
    mask = "mask_12CO.mask",
    thres = 0.0011 * 3.)


### create momement maps for 12co21
myim.moment_maps(dir_data = dir_data,
    imagename = imagenames[1],
    chans = "12~41",
    mask = "mask_12CO.mask",
    thres = 0.0007 * 2.5)


### create momement maps for 13co10
myim.moment_maps(dir_data = dir_data,
    imagename = imagenames[2],