Source code for orca.wrapper.change_phase_centre

import subprocess
from casacore.tables import table
from astropy.coordinates import SkyCoord
import os
from typing import Tuple, List, Dict

CHGCENTRE_PATH = '/opt/astro/wsclean/bin/chgcentre'
NEW_ENV = dict(os.environ, LD_LIBRARY_PATH='/opt/astro/mwe/usr/lib64:/opt/astro/lib/:/opt/astro/casacore-1.7.0/lib',
                   AIPSPATH='/opt/astro/casa-data dummy dummy')


[docs]def change_phase_center(ms: str, center_dir: str) -> str: args = _get_subprocess_args(ms, center_dir) try: p = subprocess.Popen(args, env=NEW_ENV) p.communicate() except subprocess.CalledProcessError as e: raise e finally: p.terminate() return ms
[docs]def get_phase_center(ms: str) -> str: with table(f'{ms}/FIELD', ack=False) as t: ra, dec = t.getcol('PHASE_DIR')[0][0] return SkyCoord(ra=ra, dec=dec, frame='icrs', unit='radian').to_string('hmsdms')
def _get_subprocess_args(ms: str, center_dir: str) -> List[str]: ra, dec = center_dir.split(' ') return [CHGCENTRE_PATH, ms, ra, dec]