Source
import os
import numpy as np
from callibrary import *
from taskinit import *
# For stack frames in debugging
import sys
def fringefit(vis=None,caltable=None,
field=None,spw=None,intent=None,
selectdata=None,timerange=None,antenna=None,scan=None,
observation=None, msselect=None,
solint=None,combine=None,refant=None,
minsnr=None,zerorates=None,globalsolve=None,niter=None,
delaywindow=None,ratewindow=None,append=None,
corrdepflags=None,
docallib=None, callib=None, gaintable=None,gainfield=None,interp=None,spwmap=None,
paramactive=None, parang=None):
#Python script
casalog.origin('fringefit')
try:
mycb = cbtool()
oldness = False
casalog.post("Setting vi to {}".format(oldness))
mycb.setvi(oldness) # Use new calibration framework
if ((type(vis)==str) & (os.path.exists(vis))):
mycb.open(filename=vis,compress=False,addcorr=False,addmodel=False)
else:
raise Exception, 'Visibility data set not found - please verify the name'
# Do data selection according to selectdata
if (selectdata):
casalog.post("Selecting data")
# pass all data selection parameters in as specified
mycb.selectvis(time=timerange,spw=spw, scan=scan, field=field,
intent=intent, observation=str(observation),
baseline=antenna, chanmode='none',
msselect=msselect)
else:
# selectdata=F, so time,scan,baseline,msselect=''
# using spw and field specifications only
mycb.selectvis(time='',spw=spw,scan='',field=field,
observation='', baseline='',
chanmode='none', msselect='')
# signal use of correlation-dependent flags, if requested
if corrdepflags:
mycb.setcorrdepflags(True)
if docallib:
# by cal library from file
mycallib=callibrary()
mycallib.read(callib)
mycb.setcallib(mycallib.cld)
else:
if paramactive is None or paramactive==[]:
paramactive=[True, True, False]
else:
if len(paramactive)!=3:
casalog.post("paramactive: ", paramactive)
raise Exception, 'Error: paramactive vector must have exactly three entries'
# Have to solve for peculiar phase!
paramactive.insert(0, True)
# by traditional parameters
ngaintab = 0;