Example #1
0
import os
import sys
import logging
import Crasa.Crasa as crasa

sys.path.append("/scratch/stimela")

utils = __import__('utils')

CONFIG = os.environ["CONFIG"]
INPUT = os.environ["INPUT"]
OUTPUT = os.environ["OUTPUT"]
MSDIR = os.environ["MSDIR"]

cab = utils.readJson(CONFIG)

args = {}
for param in cab['parameters']:
    name = param['name']
    value = param['value']

    if value is None:
        continue

    args[name] = value

task = crasa.CasaTask(cab["binary"], crash_on_severe=True, **args)
task.run()
Example #2
0
# -*- coding: future_fstrings -*-
import Crasa.Crasa as crasa
from scabha import config, parameters_dict, prun
import os

print(f"Running CASA task '{config.binary}'")

save_result = parameters_dict.pop("save_result", None)
overwrite = parameters_dict.pop("overwrite", False)
fluxtable = parameters_dict['fluxtable']
if overwrite:
    os.system(f"rm -fr {fluxtable}")

task = crasa.CasaTask(config.binary, save_result=save_result, **parameters_dict)
task.run()
Example #3
0
with open(CONFIG, "r") as _std:
    cab = yaml.safe_load(_std)

junk = cab["junk"]

args = {}
for param in cab['parameters']:
    name = param['name']
    value = param['value']

    if value is None:
        continue

    args[name] = value

task = crasa.CasaTask(cab["binary"], **args)
try:
    task.run()
finally:
    for item in junk:
        for dest in [OUTPUT, MSDIR]: # these are the only writable volumes in the container
            items = glob.glob("{dest}/{item}".format(**locals()))
            for f in items:
                if os.path.isfile(f):
                    os.remove(f)
                elif os.path.isdir(f):
                    shutil.rmtree(f)
                # Leave other types


gtab = args["caltable"]
Example #4
0
# -*- coding: future_fstrings -*-
import Crasa.Crasa as crasa
from scabha import config, parameters_dict, prun

print(f"Running CASA task '{config.binary}'")

task = crasa.CasaTask(config.binary, **parameters_dict)
task.run()
Example #5
0
    name = param['name']
    value = param['value']

    if value is None:
        continue

    if name in ['threshold', 'inpimage', 'output']:
        if name in ['threshold']:
            im_value = ' iif( IM0 >=%s, IM0, 0.0) ' % value
            im_name = 'expr'
        if name in ['output']:
            im_value = '%s_thresh' % value
            im_name = 'outfile'
        if name in ['inpimage']:
            im_value = value
            im_name = 'imagename'
        immath_args[im_name] = im_value

    if name in ['mode', 'inpimage', 'inpmask', 'output', 'overwrite']:
        makemask_args[name] = value

if 'expr' in immath_args:
    task = crasa.CasaTask("immath", **immath_args)
    task.run()

if 'inpmask' not in makemask_args:
    makemask_args['inpmask'] = immath_args['outfile']

task = crasa.CasaTask(cab["binary"], **makemask_args)
task.run()
Example #6
0
for param in cab['parameters']:
    name = param['name']
    value = param['value']

    if value is None:
        continue

    args[name] = value


prefix = args['imagename']
port2fits = args.pop('port2fits', True)
keep_casa_images = args.pop("keep_casa_images", False)

sys.stdout.write(repr(args))
task = crasa.CasaTask(cab["binary"], **args)
task.run()

nterms = args.get("nterms", 1)
images = ["flux", "model", "residual", "psf", "image"]
STD_IMAGES = images[:4]

convert = []
if port2fits:
    for image in images:
        img ="{:s}.{:s}".format(prefix, image)
        if image == 'flux':
            _images = [img]
        elif nterms>1:
            _images = ["%s.tt%d"%(img,d) for d in range(nterms)]
            if image=="image":
Example #7
0
for param in cab['parameters']:
    name = param['name']
    value = param['value']

    if value is None:
        continue

    if name in unstack_params:
        unstack_args[name] = value
    else:
        immath_args[name] = value

unstack = unstack_args.pop(cab["binary"], False)

if not unstack:
    task = crasa.CasaTask("immath", **immath_args)
    task.run()
else:
    images = immath_args['imagename']
    for image in images:
        for i in range(unstack_args['nchans']):
            ext = image.split('.')[-1]
            chan_num = str(i)
            outfile = '{:s}-{:s}.{:s}'.format(immath_args['outfile'], chan_num,
                                              ext)
            run_immath_args = immath_args.copy()
            run_immath_args['imagename'] = image
            run_immath_args['outfile'] = outfile
            run_immath_args['chans'] = chan_num
            task = crasa.CasaTask(cab["binary"], **run_immath_args)
            task.run()
Example #8
0
makemask_args = {}
immath_args = {}
for name, value in parameters_dic.items():
    if value is None:
        continue

    if name in ['threshold', 'inpimage', 'output']:
        if name in ['threshold']:
            im_value = ' iif( IM0 >=%s, IM0, 0.0) ' % value
            im_name = 'expr'
        if name in ['output']:
            im_value = '%s_thresh' % value
            im_name = 'outfile'
        if name in ['inpimage']:
            im_value = value
            im_name = 'imagename'
        immath_args[im_name] = im_value

    if name in ['mode', 'inpimage', 'inpmask', 'output', 'overwrite']:
        makemask_args[name] = value

if 'expr' in immath_args:
    task = crasa.CasaTask("immath", **immath_args)
    task.run()

if 'inpmask' not in makemask_args:
    makemask_args['inpmask'] = immath_args['outfile']

task = crasa.CasaTask(config.binary, **makemask_args)
task.run()