from __future__ import absolute_import
from __future__ import print_function
from casatasks.private.casa_transition import *
from sys import version_info
is_python3 = version_info > (3,)
from casatasks import casalog
from casatools import image
from casatasks.private.imagerhelpers.imager_deconvolver import PyDeconvolver
from casatasks.private.imagerhelpers.input_parameters import ImagerParameters
from casatasks.private.parallel.parallel_task_helper import ParallelTaskHelper
from .cleanhelper import write_tclean_history, get_func_params
from casatools import synthesisimager
from imagerhelpers.imager_deconvolver import PyDeconvolver
from imagerhelpers.input_parameters import ImagerParameters
from imregrid import imregrid
from parallel.parallel_task_helper import ParallelTaskHelper
from cleanhelper import write_tclean_history, get_func_params
synthesisimager=casac.synthesisimager
from casampi.MPIEnvironment import MPIEnvironment
from casampi import MPIInterface
from mpi4casa.MPIEnvironment import MPIEnvironment
from mpi4casa import MPIInterface
def check_requiredmask_exists(usemask, mask):
if type(mask) is type([]):
if not os.path.exists(mask):
raise RuntimeError("Internal Error: 'mask' parameter specified as a filename '"+mask+"', but no such file exists")
def check_requiredimgs_exist(imagename, inp):
if inp['deconvolver'] == 'mtmfs':
for ttn in range(0, nterms*2-1):
reqims.append(imagename + ".psf" + ".tt" + str(ttn))
for ttn in range(0, nterms):
reqims.append(imagename + ".residual" + ".tt" + str(ttn))
reqims.append(imagename + ".residual")
reqims.append(imagename + ".psf")
allfiles = os.listdir(os.path.dirname(os.path.abspath(imagename)))
extims = list(filter(lambda im: os.path.exists(im), reqims))
if len(extims) != len(reqims):
diffims = list(filter(lambda im: im not in extims, reqims))
raise RuntimeError("Internal Error: missing one or more of the required images: " + str(diffims))
reqpb = ".pb" if (inp['deconvolver'] != 'mtmfs') else ".pb.tt0"
if (imagename+reqpb not in allfiles):
raise RuntimeError("The parameter nsigma>0 ("+str(inp['nsigma'])+") requires a "+reqpb+" image to be available.")
def check_starmodel_model_collisions(startmodel, imagename, deconvolver):