Пример #1
0
def getRMSes(full=False):
    """
	Runs these commands in the terminal:
	imstat in=IRC+10216/MAPSCorrect/irc+10216.co3-2.v.cm
	imstat in=OrionKL/MAPSCorrect/orkl_080106.co3-2.v.cm
	imstat in=NGC7538/MAPSCorrect/NGC7538S-s4.co3-2.v.cm
	imstat in=NGC1333/MAPSCorrect/iras2a.aver.co3-2.v.cm
	"""
    for folder, source in zip(folders, sources):
        if full:
            miriad.imstat({
                'in':
                '../{}/MAPSCorrect/{}.co3-2.v.full.cm'.format(folder, source)
            })
        else:
            miriad.imstat({
                'in':
                '../{}/MAPSCorrect/{}.co3-2.v.cm'.format(folder, source)
            })
Пример #2
0
for stk in ['i', 'q', 'u', 'v']:
    miriad.clean({
        'map': '{}.{}.mp'.format(src, stk),
        'beam': '{}.bm'.format(src),
        'out': '{}.{}.cc'.format(src, stk),
        'niters': 1000,
        'cutoff': tall
    })
    miriad.restor({
        'map': '{}.{}.mp'.format(src, stk),
        'beam': '{}.bm'.format(src),
        'model': '{}.{}.cc'.format(src, stk),
        'out': '{}.{}.cm'.format(src, stk),
    })

miriad.imstat({'in': '{}.i.cm'.format(src), 'region': 'box(6,6,50,122)'})

input('Press return to continue')

for stk in ['q', 'u', 'v']:
    miriad.cgdisp({
        'type': 'cont,pix',
        'labtyp': 'arcsec,arcsec',
        'device': '/xs',
        'options': 'full,beambl,3val',
        'csize': '0,1,0,0',
        'in': '{0}.{1}.cm,{0}.i.cm'.format(src, stk),
        'range': '{},lin,1'.format(rng),
        'cols1': 2,
        'slev': 'a,{}'.format(rms),
        'levs1': '-21,-18,-15,-12,-9,-6,-3,3,6,9,12,15,18,21',
Пример #3
0
def disp(uvo, uvc, so, mapdir, lines=[], stokesVrms=[]):
    """
	1. Plot uncorrected channel map
	2. Plot corrected channel map
	"""

    for i, lin in enumerate(lines):
        # for lin in ['cnt', 'co3-2', 'sio8-7']:
        devicetype = 'ps/cps'
        filename = lin
        src = '{}/{}.{}'.format(mapdir, so, lin)
        nxy = '1,1'

        path = '{}.v-i.perc'.format(src)
        if os.path.exists(path): shutil.rmtree(path)
        path = '{}.v-i.perc.uncorrected'.format(src)
        if os.path.exists(path): shutil.rmtree(path)

        rms = stokesVrms[i]
        if lin == 'cnt':
            for suffix in ['', 'uncorrected.']:
                opts = {
                    'exp':
                    '100*<{0}.{1}v.cm>/<{0}.{1}i.cm>'.format(src, suffix),
                    'mask': '<{}.{}i.cm>.gt.0.4'.format(src, suffix),
                }
                suffix = '.uncorrected' if suffix != '' else ''
                opts['out'] = '{}.v-i.perc{}'.format(src, suffix)
                miriad.maths(opts)
        else:
            for suffix in ['', 'uncorrected.']:
                val = 6 if suffix == '' else 8
                opts = {
                    'exp':
                    '100*<{0}.{1}v.cm>/<{0}.{1}i.cm>'.format(src, suffix),
                    'mask': '<{}.{}i.cm>.gt.{}'.format(src, suffix, val),
                }
                suffix = '.uncorrected' if suffix != '' else ''
                opts['out'] = '{}.v-i.perc{}'.format(src, suffix)
                miriad.maths(opts)

        for datatype in ['uncorr', 'corr']:
            cgdispOpts = {
                'type': 'cont,cont',
                'labtyp': 'arcsec,arcsec',
                'options': 'full,beambl,3val',
                'csize': '0,1,0,0',
                'cols1': 2,
                'cols2': 8,
                'levs1': '-95,-75,-55,-35,-15,15,35,55,75,95',
                'nxy': nxy,
            }

            if datatype is 'uncorr':
                # flux plot
                cgdispOpts['slev'] = 'p,1,a,{}'.format(rms)
                cgdispOpts['device'] = '{}.uncorr.{}'.format(
                    filename, devicetype)
                cgdispOpts[
                    'in'] = '{0}.uncorrected.i.cm,{0}.uncorrected.v.cm'.format(
                        src)
                cgdispOpts['levs2'] = '-8,-7,-6,-5,-4,-3,-2,2,3,4,5,6,7,8'
                miriad.cgdisp(cgdispOpts)
                miriad.imstat({
                    'in': '{}.i.cm'.format(src),
                    'region': 'box(3,3,50,125)'
                })
                miriad.imstat({
                    'in': '{}.v.cm'.format(src),
                    'region': 'box(3,3,50,125)'
                })
                input("Press enter to continue...")

                # v/i plot
                cgdispOpts['slev'] = 'p,1,a,1'
                cgdispOpts['device'] = '{}.uncorr.perc.{}'.format(
                    filename, devicetype)
                cgdispOpts[
                    'in'] = '{0}.uncorrected.i.cm,{0}.v-i.perc.uncorrected'.format(
                        src)
                cgdispOpts['levs2'] = '-6,-5,-4,-3,-2,-1,1,2,3,4,5,6'
                miriad.cgdisp(cgdispOpts)
                input("Press enter to continue...")
            else:
                # flux plot
                cgdispOpts['slev'] = 'p,1,a,{}'.format(rms)
                cgdispOpts['device'] = '{}.corr.{}'.format(
                    filename, devicetype)
                cgdispOpts['in'] = '{0}.i.cm,{0}.v.cm'.format(src)
                cgdispOpts['levs2'] = '-8,-7,-6,-5,-4,-3,-2,2,3,4,5,6,7,8'
                miriad.cgdisp(cgdispOpts)
                miriad.imstat({
                    'in': '{}.i.cm'.format(src),
                    'region': 'box(3,3,50,125)'
                })
                miriad.imstat({
                    'in': '{}.v.cm'.format(src),
                    'region': 'box(3,3,50,125)'
                })
                input("Press enter to continue...   ")

                # v/i plot
                cgdispOpts['slev'] = 'p,1,a,1'
                cgdispOpts['device'] = '{}.corr.perc.{}'.format(
                    filename, devicetype)
                cgdispOpts['in'] = '{0}.i.cm,{0}.v-i.perc'.format(src)
                cgdispOpts['levs2'] = '-6,-5,-4,-3,-2,-1,1,2,3,4,5,6'
                miriad.cgdisp(cgdispOpts)
                input("Press enter to continue...   ")