headertitles = ['Filename', 'Nominal Spw for Detection', 'Nominal Pol for Detection', 'Number of Raster Rows', 'Number of Rasters']
from taskinit import casalog, gentools, qa
def asdatestring(mjd, digit, timeonly=False):
datedict = qa.splitdate(qa.quantity(mjd, 'd'))
if digit > 10 : digit = 10
sstr_tmp = str(numpy.round(datedict['s'], digit)).split('.')
sstr = sstr_tmp[0] + '.' + sstr_tmp[1][0:digit]
return '%s:%s:%s'%(datedict['hour'],datedict['min'],sstr)
return '%s/%s/%s/%s:%s:%s'%(datedict['year'],datedict['month'],datedict['monthday'],datedict['hour'],datedict['min'],sstr)
def astimerange(tmargin, mjd0, mjd1):
digit = numpy.abs(int(numpy.floor(numpy.log10(tmargin))))
if int(mjd0) == int(mjd1):
return '%s~%s'%(asdatestring(mjd0,digit), asdatestring(mjd1,digit,timeonly=timeonly))
@contextlib.contextmanager
def selection_manager(scantab, original_selection, **kwargs):
sel = sd.selector(original_selection)
for (k,v) in kwargs.items():
method_name = 'set_%s'%(k)
if hasattr(sel, method_name):
getattr(sel, method_name)(v)
scantab.set_selection(sel)
scantab.set_selection(original_selection)
def __init__(self, scantab):
self.original_selection = self.scantab.get_selection()
self.mjd_range_raster = None
self.mjd_range_nomargin = None
self.mjd_range_nomargin_raster = None