Commit f90bebc0 authored by Ambra Di Piano's avatar Ambra Di Piano
Browse files

execute mapper and write mapper info

parent 3a582668
Loading
Loading
Loading
Loading
+37 −3
Original line number Diff line number Diff line
@@ -9,8 +9,11 @@
import pytest
import logging
import numpy as np
from shutil import rmtree
from astrort.utils.wrap import *
from astrort.utils.utils import seeds_to_string_formatter_files
from astrort.configure.logging import set_logger
from astrort.simulator.base_simulator import base_simulator
from rtasci.lib.RTACtoolsSimulation import RTACtoolsSimulation

@pytest.mark.test_conf_file
@@ -76,8 +79,39 @@ def test_merge_simulation_info(test_conf_file, test_tmp_folder):
    assert isfile(join(conf['simulator']['output'], 'merged_sim_data.dat'))
    del sim

def test_write_mapping_info():
    return
@pytest.mark.test_conf_file
def test_write_mapping_info(test_conf_file):
    conf = load_yaml_conf(test_conf_file)
    conf['simulator']['pointing'] = {'ra': 1, 'dec': 1}
    datfile = join(conf['simulator']['output'], 'simulator.dat')
    clock = 1
    write_mapping_info(conf, datfile, clock)
    assert isfile(datfile)

@pytest.mark.test_conf_file
def test_configure_simulator_no_visibility(test_conf_file):
    conf = load_yaml_conf(test_conf_file)
    conf['simulator']['pointing'] = {'ra': 1, 'dec': 1}
    log = set_logger(logging.CRITICAL)
    sim = RTACtoolsSimulation()
    sim = configure_simulator_no_visibility(sim, conf['simulator'], log)
    
    assert sim.t == [0, conf['simulator']['duration']]
    assert sim.seed == conf['simulator']['seed']
    assert sim.set_log is False
    assert sim.caldb == conf['simulator']['prod']
    del sim

@pytest.mark.test_conf_file
def test_execute_mapper_no_visibility(test_conf_file):
    # clean output
    conf = load_yaml_conf(test_conf_file)
    rmtree(conf['simulator']['output'])
    conf['simulator']['samples']
    log = set_logger(logging.CRITICAL)

    # run simulator
    base_simulator(test_conf_file)
    execute_mapper_no_visibility(conf, log)
    mapfile = seeds_to_string_formatter_files(conf['simulator']['samples'], conf['simulator']['output'], conf['simulator']['name'], conf['simulator']['seed'], 'fits', suffix='map')
    assert isfile(mapfile)
+23 −4
Original line number Diff line number Diff line
@@ -11,10 +11,11 @@ import numpy as np
import pandas as pd
import astropy.units as u
from os.path import dirname, abspath, join, basename, isfile
from astrort.utils.utils import *
from astrort.configure.check_configuration import CheckConfiguration
from rtasci.lib.RTAManageXml import ManageXml
from astropy.coordinates import SkyCoord 
from astrort.utils.utils import *
from astrort.configure.check_configuration import CheckConfiguration
from astrort.utils.mapping import Mapper

def load_yaml_conf(yamlfile):
    with open(yamlfile) as f:
@@ -22,6 +23,14 @@ def load_yaml_conf(yamlfile):
        CheckConfiguration(configuration=configuration)
    return configuration

def execute_mapper_no_visibility(configuration, log):
    phlist = seeds_to_string_formatter_files(configuration['simulator']['samples'], configuration['simulator']['output'], configuration['simulator']['name'], configuration['simulator']['seed'], 'fits')
    skymap = phlist.replace('.fits', '_map.fits')
    maproi = get_instrument_fov(configuration['simulator']['array'])
    mapper = Mapper(log)
    mapper.get_countmap_in_fits(dl3_file=phlist, fitsname=skymap, template=map_template(), maproi=maproi, pixelsize=configuration['mapper']['pixelsize'], trange=[0, configuration['mapper']['exposure']], sigma=configuration['mapper']['smooth'])
    del mapper

def configure_simulator_no_visibility(simulator, configuration, log):
    if '$TEMPLATES$' in configuration['model']:
        configuration['model'] = join(dirname(abspath(__file__)).replace('utils', 'templates'), basename(configuration['model']))
@@ -111,5 +120,15 @@ def merge_simulation_info(configuration, log):
    # write merger file
    table.to_csv(merger, index=False, header=True, sep=' ', na_rep=np.nan)

def write_mapping_info():
    return
 No newline at end of file
def write_mapping_info(configuration, datfile, clock):
    name = seeds_to_string_formatter(configuration['simulator']['samples'], configuration['simulator']['name'], configuration['simulator']['seed'])
    seed = configuration['simulator']['seed']
    exposure = configuration['mapper']['exposure']
    center_type = configuration['mapper']['center']  
    pixelsize = configuration['mapper']['pixelsize']
    smooth = configuration['mapper']['smooth']
    if not isfile(datfile):
        with open(datfile, 'w+') as f:
            f.write('name seed exposure center_on pixelsize smooth computation_time\n')
    with open(datfile, 'a') as f:
        f.write(f'{name} {seed} {exposure} {center_type} {pixelsize} {smooth} {clock}\n')