from __future__ import absolute_import import os from casatasks.private.casa_transition import is_CASA6 if is_CASA6: from casatools import calibrater from casatasks import casalog else: from taskinit import * from taskinit import cbtool as calibrater def uvmodelfit(vis=None, field=None,spw=None, selectdata=None,timerange=None,uvrange=None,antenna=None,scan=None,msselect=None, niter=None,comptype=None,sourcepar=None,varypar=None,outfile=None): #Python script try: mycb = calibrater() casalog.origin('uvmodelfit') if ((type(vis)==str) & (os.path.exists(vis))): mycb.setvi(old=True,quiet=False); # old VI for now mycb.open(vis) else: raise ValueError('Visibility data set not found - please verify the name') # Do data selection according to selectdata if (selectdata): # pass all data selection parameters in as specified mycb.selectvis(time=timerange,spw=spw,scan=scan,field=field, baseline=antenna,uvrange=uvrange,chanmode='none', msselect=msselect); else: # selectdata=F, so time,scan,baseline,uvrange,msselect='' # using spw and field specifications only mycb.selectvis(time='',spw=spw,scan='',field=field, baseline='',uvrange='',chanmode='none', msselect=''); mycb.modelfit(niter=niter,compshape=comptype,par=sourcepar,vary=varypar,file=outfile) finally: mycb.close()