Source code for pipeline.infrastructure.casa_tasks

"""
This module contains a wrapper function for every CASA task. The signature of
each methods exactly matches that of the CASA task it mirrors. However, rather
than executing the task directly when these methods are called,
CASATaskJobGenerator returns a JobRequest for every invocation; these jobs
then be examined and executed at a later date.

The CASA task implementations are located at run-time and proxies for each
task attached to this class at runtime. The name and signature of each
method will match those of the tasks in the CASA environment when this
module was imported.
"""
import shutil

import almatasks
import casaplotms
import casatasks

from . import logging
from .jobrequest import JobRequest

LOG = logging.get_logger(__name__)


[docs]def applycal(*v, **k): return _get_job(casatasks.applycal, *v, **k)
[docs]def bandpass(*v, **k): return _get_job(casatasks.bandpass, *v, **k)
[docs]def calstat(*v, **k): return _get_job(casatasks.calstat, *v, **k)
[docs]def clearcal(*v, **k): return _get_job(casatasks.clearcal, *v, **k)
[docs]def delmod(*v, **k): return _get_job(casatasks.delmod, *v, **k)
[docs]def exportfits(*v, **k): return _get_job(casatasks.exportfits, *v, **k)
[docs]def gaincal(*v, **k): return _get_job(casatasks.gaincal, *v, **k)
[docs]def flagcmd(*v, **k): return _get_job(casatasks.flagcmd, *v, **k)
[docs]def flagdata(*v, **k): return _get_job(casatasks.flagdata, *v, **k)
[docs]def flagmanager(*v, **k): return _get_job(casatasks.flagmanager, *v, **k)
[docs]def fluxscale(*v, **k): return _get_job(casatasks.fluxscale, *v, **k)
[docs]def gencal(*v, **k): return _get_job(casatasks.gencal, *v, **k)
[docs]def hanningsmooth(*v, **k): return _get_job(casatasks.hanningsmooth, *v, **k)
[docs]def imdev(*v, **k): return _get_job(casatasks.imdev, *v, **k)
[docs]def imhead(*v, **k): return _get_job(casatasks.imhead, *v, **k)
[docs]def immath(*v, **k): return _get_job(casatasks.immath, *v, **k)
[docs]def immoments(*v, **k): return _get_job(casatasks.immoments, *v, **k)
[docs]def imregrid(*v, **k): return _get_job(casatasks.imregrid, *v, **k)
[docs]def impbcor(*v, **k): return _get_job(casatasks.impbcor, *v, **k)
[docs]def importasdm(*v, **k): return _get_job(casatasks.importasdm, *v, **k)
[docs]def imstat(*v, **k): return _get_job(casatasks.imstat, *v, **k)
[docs]def imval(*v, **k): return _get_job(casatasks.imval, *v, **k)
[docs]def imsubimage(*v, **k): return _get_job(casatasks.imsubimage, *v, **k)
[docs]def initweights(*v, **k): return _get_job(casatasks.initweights, *v, **k)
[docs]def listobs(*v, **k): return _get_job(casatasks.listobs, *v, **k)
[docs]def mstransform(*v, **k): return _get_job(casatasks.mstransform, *v, **k)
[docs]def partition(*v, **k): return _get_job(casatasks.partition, *v, **k)
[docs]def plotants(*v, **k): return _get_job(casatasks.plotants, *v, **k)
[docs]def plotbandpass(*v, **k): return _get_job(casatasks.plotbandpass, *v, **k)
[docs]def plotms(*v, **k): return _get_job(casaplotms.plotms, *v, **k)
[docs]def plotweather(*v, **k): return _get_job(casatasks.plotweather, *v, **k)
[docs]def polcal(*v, **k): return _get_job(casatasks.polcal, *v, **k)
[docs]def setjy(*v, **k): return _get_job(casatasks.setjy, *v, **k)
[docs]def split(*v, **k): return _get_job(casatasks.split, *v, **k)
[docs]def statwt(*v, **k): return _get_job(casatasks.statwt, *v, **k)
[docs]def tclean(*v, **k): return _get_job(casatasks.tclean, *v, **k)
[docs]def wvrgcal(*v, **k): return _get_job(almatasks.wvrgcal, *v, **k)
[docs]def visstat(*v, **k): return _get_job(casatasks.visstat, *v, **k)
[docs]def uvcontfit(*v, **k): # Note this is pipeline CASA style task not a CASA task import pipeline.hif.cli.private.task_uvcontfit as task_uvcontfit return _get_job(task_uvcontfit.uvcontfit, *v, **k)
[docs]def sdimaging(*v, **k): return _get_job(casatasks.sdimaging, *v, **k)
[docs]def tsdimaging(*v, **k): return _get_job(casatasks.tsdimaging, *v, **k)
[docs]def sdcal(*v, **k): return _get_job(casatasks.sdcal, *v, **k)
[docs]def sdbaseline(*v, **k): return _get_job(casatasks.sdbaseline, *v, **k)
[docs]def copyfile(*v, **k): return _get_job(shutil.copyfile, *v, **k)
[docs]def copytree(*v, **k): return _get_job(shutil.copytree, *v, **k)
[docs]def rmtree(*v, **k): return _get_job(shutil.rmtree, *v, **k)
[docs]def move(*v, **k): return _get_job(shutil.move, *v, **k)
def _get_job(task, *v, **k): return JobRequest(task, *v, **k)