-
Notifications
You must be signed in to change notification settings - Fork 0
/
NOEMA2CASA.py
64 lines (59 loc) · 2.89 KB
/
NOEMA2CASA.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
##########################################
#NOEMA/PdBI data in CASA Script
##########################################
'''CASA script to be used for importing, viewing visibilities, and imaging calibrated NOEMA/PdBI data in CASA.
INPUT: Parameters defined in section below, uvfits files of calibratedNOEMA/PdBI data sets
OUTPUT: (1) MS for each NOEMA/PdBI data set
(2) Continuum images for each data set
NOTES: - All output images & intermediate data products are put in my_dir directory set below.
- All output images are also converted to fits format (just append .fits to end of images above)
- This script is intended to be used with calibrated data that has been converted to uvfits format
following instructions here; http://www.iram.fr/IRAMFR/ARC/documents/filler/casa-gildas.pdf
WARNING: Must use CASA version <4.7!
Written by: Alex J. Tetarenko
Last Updated: Oct. 2018'''
#needed packages
import os
import glob
from ekoch_casa_tools import set_imagermode,has_field,set_cellsize,set_imagesize,find_expected_beams,getBaselinePercentile,get_mosaic_info
############################
#Defining variables section
############################
my_dir='/Users/atetarenk/Desktop/CASA_reduction_scripts/NOEMA_uvfits_files/'
target='V404Cyg'
obsDate='jun26'
band='1mm'
mycell='0.5arcsec'
mythresh='1mJy'
myimsize=64
myniter=5000
use_auto='F'
deconvolver='hogbom'#multiscale,mtmfs,hogbom
############################
#get list of uvfits files for importing
print 'Getting list of uvfits files...'
uvfits_files=[]
for name in glob.glob(my_dir+'*'):
uvfits_files.append(name)
#import,plot visibilities, and image data set in casa
print 'Importing uvfits files...'
for i in range(0,len(uvfits_files)):
print 'Importing ', uvfits_files[i],' ...'
msname=uvfits_files[i].strip('.fits')
importuvfits(fitsfile=uvfits_files[i],vis=my_dir+'noema_'+target+'_'+msname+'.ms')
print 'Listobs...'
listobs(my_dir+'noema_'+target+'_'+msname+'.ms',listfile=my_dir+'noema_'+target+'_'+msname+'_listobs.txt')
os.system('gedit 'my_dir+'noema_'+target+'_'+msname+'_listobs.txt &')
raw_input('Please press enter when ready to continue.')
print 'Plotting visibility data...'
plotms(vis=my_dir+'noema_'+target+'_'+msname+'.ms',xaxis="time",yaxis="amp",ydatacolumn='data',iteraxis="antenna")
raw_input('Please press enter when ready to continue.')
print 'Interactive cleaning...'
if use_auto=='T':
myimsize=set_imagesize(my_dir+'noema_'+target+'_'+msname+'.ms','0','0')
mycell=set_cellsize(my_dir+'noema_'+target+'_'+msname+'.ms','0')
tclean(vis=my_dir+'noema_'+target+'_'+msname+'.ms', imagename=my_dir+'noema_'+target+'_'+obsDate+'_'+band,\
field='', interactive=True, cell=[mycell], imsize=myimsize,gain=0.1,weighting='natural',\
threshold=mythresh,specmode='mfs',myniter=myniter,gridder='standard',deconvolver=deconvolver)
imview(my_dir+'noema_'+target+'_'+obsDate+'_'+band+'.image')
raw_input('Please press enter when ready to continue.')