Source
import os
import re
from casatasks import casalog
from casatools import agentflagger, calibrater, ms, singledishms
from . import sdutil
from .mstools import write_history
mysdms = singledishms()
mycb = calibrater()
myms = ms()
sdtask_decorator .
def importasap(infile=None, outputvis=None, flagbackup=None, overwrite=None, parallel=None):
"""
"""
try:
if infile is None or outputvis is None:
raise RuntimeError('Error: infile and outputvis must be specified.')
# default value
if flagbackup is None:
flagbackup = True
if overwrite is None:
overwrite = False
# basic check
if os.path.exists(outputvis) and not overwrite:
raise RuntimeError('%s exists.' % (outputvis))
if not _is_scantable(infile):
raise RuntimeError('%s is not a valid Scantable.' % (infile))
# import
status = mysdms.importasap(infile, outputvis, parallel)
if status:
# flagversions file must be deleted
flagversions = outputvis.rstrip('/') + '.flagversions'
if os.path.exists(flagversions):
os.system('rm -rf %s' % (flagversions))
# initialize weights using cb tool
mycb.open(outputvis, compress=False, addcorr=False, addmodel=False)
mycb.initweights(wtmode='nyq')
# create flagbackup file if user requests it
if flagbackup:
aflocal = agentflagger()
aflocal.open(outputvis)
aflocal.saveflagversion(
'Original',
comment='Original flags at import into CASA using importasap',
merge='save')
aflocal.done()
else:
raise RuntimeError('Failure in importasap')
# Write history to output MS