Loading astrort/testing/test_utils/test_wrap.py +14 −2 Original line number Diff line number Diff line Loading @@ -7,9 +7,21 @@ # ***************************************************************************** import pytest from astrort.utils.wrap import load_yaml_conf import numpy as np from astrort.utils.wrap import load_yaml_conf, randomise_pointing @pytest.mark.test_conf_file def test_load_yaml_conf(test_conf_file): configuration = load_yaml_conf(test_conf_file) assert type(configuration) == dict @pytest.mark.test_conf_file def test_randomise_pointing(test_conf_file): conf = load_yaml_conf(test_conf_file) pointing = randomise_pointing(conf['simulator']) assert type(pointing) == dict for key in pointing.keys(): assert key in ['ra', 'dec', 'offset'] assert type(pointing['ra']) == type(np.float64(1)) assert type(pointing['dec']) == type(np.float64(1)) assert type(pointing['offset']) == type(np.float64(1)) No newline at end of file astrort/utils/wrap.py +19 −0 Original line number Diff line number Diff line Loading @@ -7,9 +7,13 @@ # ***************************************************************************** import yaml import numpy as np import astropy.units as u from os.path import dirname, abspath, join, basename from astrort.utils.utils import seeds_to_string_formatter, get_instrument_fov from astrort.configure.check_configuration import CheckConfiguration from rtasci.lib.RTAManageXml import ManageXml from astropy.coordinates import SkyCoord def load_yaml_conf(yamlfile): with open(yamlfile) as f: Loading @@ -28,3 +32,18 @@ def configure_simulator_no_visibility(simulator, configuration): simulator.t = [0, configuration['duration']] simulator.seed = configuration['seed'] return simulator def randomise_pointing(simulator): if '$TEMPLATES$' in simulator['model']: simulator['model'] = join(dirname(abspath(__file__)).replace('utils', 'templates'), basename(simulator['model'])) model_xml = ManageXml(xml=simulator['model']) name = model_xml.getName() source = model_xml.getRaDec() del model_xml # use astropy separation ra, dec = source[0][0] * u.deg, source[1][0] * u.deg source = SkyCoord(ra, dec, frame='icrs') position_angle = 45 * u.deg separation = np.random.random() * get_instrument_fov(simulator['array']) * u.deg pointing = source.directional_offset_by(position_angle, separation) return {'ra': pointing.ra.deg, 'dec': pointing.dec.deg, 'offset': separation.value} No newline at end of file Loading
astrort/testing/test_utils/test_wrap.py +14 −2 Original line number Diff line number Diff line Loading @@ -7,9 +7,21 @@ # ***************************************************************************** import pytest from astrort.utils.wrap import load_yaml_conf import numpy as np from astrort.utils.wrap import load_yaml_conf, randomise_pointing @pytest.mark.test_conf_file def test_load_yaml_conf(test_conf_file): configuration = load_yaml_conf(test_conf_file) assert type(configuration) == dict @pytest.mark.test_conf_file def test_randomise_pointing(test_conf_file): conf = load_yaml_conf(test_conf_file) pointing = randomise_pointing(conf['simulator']) assert type(pointing) == dict for key in pointing.keys(): assert key in ['ra', 'dec', 'offset'] assert type(pointing['ra']) == type(np.float64(1)) assert type(pointing['dec']) == type(np.float64(1)) assert type(pointing['offset']) == type(np.float64(1)) No newline at end of file
astrort/utils/wrap.py +19 −0 Original line number Diff line number Diff line Loading @@ -7,9 +7,13 @@ # ***************************************************************************** import yaml import numpy as np import astropy.units as u from os.path import dirname, abspath, join, basename from astrort.utils.utils import seeds_to_string_formatter, get_instrument_fov from astrort.configure.check_configuration import CheckConfiguration from rtasci.lib.RTAManageXml import ManageXml from astropy.coordinates import SkyCoord def load_yaml_conf(yamlfile): with open(yamlfile) as f: Loading @@ -28,3 +32,18 @@ def configure_simulator_no_visibility(simulator, configuration): simulator.t = [0, configuration['duration']] simulator.seed = configuration['seed'] return simulator def randomise_pointing(simulator): if '$TEMPLATES$' in simulator['model']: simulator['model'] = join(dirname(abspath(__file__)).replace('utils', 'templates'), basename(simulator['model'])) model_xml = ManageXml(xml=simulator['model']) name = model_xml.getName() source = model_xml.getRaDec() del model_xml # use astropy separation ra, dec = source[0][0] * u.deg, source[1][0] * u.deg source = SkyCoord(ra, dec, frame='icrs') position_angle = 45 * u.deg separation = np.random.random() * get_instrument_fov(simulator['array']) * u.deg pointing = source.directional_offset_by(position_angle, separation) return {'ra': pointing.ra.deg, 'dec': pointing.dec.deg, 'offset': separation.value} No newline at end of file