from __future__ import absolute_import
from casatasks.private.casa_transition import is_CASA6
from casatools import casalog, synthesisdeconvolver
from .imager_base import PySynthesisImager
from .parallel_imager_helper import PyParallelImagerHelper
from imagerhelpers.imager_base import PySynthesisImager
from imagerhelpers.parallel_imager_helper import PyParallelImagerHelper
synthesisdeconvolver = casac.synthesisdeconvolver
A set of helper functions for the tasks tclean
class PyParallelDeconvolver(PySynthesisImager):
def __init__(self,params):
PySynthesisImager.__init__(self,params)
self.PH = PyParallelImagerHelper()
self.NF = len( allimpars.keys() )
self.listOfNodes = self.PH.getNodeList();
self.NN = len(self.listOfNodes);
casalog.post('For now, cannot handle nfields != nnodes. Will implement round robin allocation later.')
casalog.post('Using only {} fields and nodes'.format(self.NN))
def initializeDeconvolvers(self):
for immod in self.listOfNodes:
self.PH.runcmd("toolsd = casac.synthesisdeconvolver()", immod )
joblist.append( self.PH.runcmd("toolsd.setupdeconvolution(decpars="+ str(self.alldecpars[str(immod)]) +")", immod ) )
self.PH.checkJobs( joblist )
def deleteDeconvolvers(self):
self.PH.runcmd("toolsd.done()")