Source
raise ValueError('You have set overwrite to False. Remove %s before saving the flag commands'%outfile)
import time
import os
import sys
import copy
import pprint
import numpy as np
from . import flaghelper as fh
from .mstools import write_history
from .parallel.parallel_task_helper import ParallelTaskHelper
from .parallel.parallel_data_helper import ParallelDataHelper
# this should be replaced when CASA really moves to Python 2.7
from collections import OrderedDict
from casatasks import casalog
from casatools import ms, agentflagger, quanta, table
localqa = quanta()
debug = False
# Helper class
class FlagHelper(ParallelTaskHelper):
def __init__(self, args={}):
self.__args = args
def setupInputFile(self, parname):
'''Create a temporary input file with
absolute pathnames for other input files
such as addantenna, timedev, freqdev.
The temporary input file will have the same
name with an extension .tmp'''
newpar = None
if isinstance(parname, str) and parname != '':
newpar = fh.addAbsolutePath(parname)
elif isinstance(parname, list) and os.path.isfile(parname[0]):
newpar = []
for i in range(len(parname)):
newpar.append(fh.addAbsolutePath(parname[i]))
return newpar
def setupCluster(self, thistask=''):
'''Get a cluster to execute this task'''
if thistask == '':
thistask = 'flagdata'
ParallelTaskHelper.__init__(self, task_name=thistask, args=self.__args)
def setupRflag(self, devpar):
'''cast rflag's list parameters from numpy types to Python types
devpar --> list of numeric parameters or list of list
such as timedev or freqdev'''
nt = copy.deepcopy(devpar)
for i in range(len(nt)):
if (isinstance(nt[i],list)):
nnt = nt[i]
for j in range(len(nnt)):
elem = fh.evaluateNumpyType(nnt[j])
# write the casted element back
devpar[i][j] = elem
# The flagdata task
def flagdata(vis,
mode,
autocorr, # mode manual parameter
inpfile, # mode list parameters
reason,
tbuff,
spw, # data selection parameters
field,
antenna,
uvrange,
timerange,
correlation,
scan,
intent,
array,
observation,
feed,
clipminmax, # mode clip parameters
datacolumn,
clipoutside,
channelavg,
chanbin,
timeavg,
timebin,
clipzeros,
quackinterval, # mode quack parameters