def test_compare_headers():

    uvf  = LedaFits('data/test_lalc.fitsidi')

    lalc = LedaFits()
    lalc.filename = 'data/test_lalc.LA'
    lalc.readLfile(n_ant=256, n_chans=109)

    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(uvf.h_common, lalc.h_common)
    h2("Parameters")
    ok_count += compare_dicts(uvf.h_params, lalc.h_params)
    h2("Antenna")
    ok_count += compare_dicts(uvf.h_antenna, lalc.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.h_array_geometry, lalc.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.h_frequency, lalc.h_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.h_source, lalc.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.h_uv_data, lalc.h_uv_data)

    assert ok_count == 7
Esempio n. 2
0
def test_json():    
    npDict_orig = {
        'ARRNAM'  : np.chararray([2]),
        'CHICKEN' : np.array([ii for ii in range(128)]),
        'STRING'  : 'qwertyuiop',
        'LIST'    : [1,7,2,9]
        }

    # Dump to file
    npDict_filename = 'data/jsontest.json'
    dump_json(npDict_orig, npDict_filename)

    # Load from file
    npDict_ff = load_json(npDict_filename)

    # Check the two dictionaries match
    ok_count = 0
    ok_count += compare_dicts(npDict_orig, npDict_ff)
    assert ok_count == 1
Esempio n. 3
0
def test_hdf():
    idi = LedaFits('data/test_lalc.fitsidi')
    idi.exportHdf5('data/test_lalc.hdf')

    hdf = LedaFits('data/test_lalc.hdf')

    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(idi.h_common, hdf.h_common)
    h2("Params")
    ok_count += compare_dicts(idi.h_params, hdf.h_params)
    h2("Antenna")
    ok_count += compare_dicts(idi.h_antenna, hdf.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(idi.h_array_geometry, hdf.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(idi.h_frequency, hdf.h_frequency)
    h2("Source")
    ok_count += compare_dicts(idi.h_source, hdf.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(idi.h_uv_data, hdf.h_uv_data)

    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(idi.d_antenna, hdf.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(idi.d_array_geometry, hdf.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(idi.d_frequency, hdf.d_frequency)
    h2("Source")
    ok_count += compare_dicts(idi.d_source, hdf.d_source)
    h2("UV DATA")
    ok_count += compare_dicts(idi.d_uv_data, hdf.d_uv_data)
    assert ok_count == 12
    print "PASS: All header and table data match"

    try:
        assert str(hdf.__repr__()) == str(idi.__repr__())
        print "PASS: __repr__ match"
    except:
        print "ERROR: __repr__ do not match"
        print str(hdf.__repr__())
        print str(idi.__repr__())
        print hdf.h_uv_data
        print idi.h_uv_data
        print hdf.h_array_geometry
        print idi.h_array_geometry
        raise
Esempio n. 4
0
def compare_json_uvfits():
    filename_uvf  = 'data/test_lalc.fitsidi'
    filename_json = 'data/test_lalc_json/h_antenna.json'

    uvf = InterFits(filename_uvf)
    idi = InterFits(filename_json)

    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(uvf.h_common, idi.h_common)
    h2("Parameters")
    ok_count += compare_dicts(uvf.h_params, idi.h_params)
    h2("Antenna")
    ok_count += compare_dicts(uvf.h_antenna, idi.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.h_array_geometry, idi.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.h_frequency, idi.h_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.h_source, idi.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.h_uv_data, idi.h_uv_data)

    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(uvf.d_antenna, idi.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.d_array_geometry, idi.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.d_frequency, idi.d_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.d_source, idi.d_source)
    #h2("UV DATA")
    #ok_count += compare_dicts(uvf.d_uv_data, idi.d_uv_data)
    assert ok_count == 11

    print "PASS: All header and table data match"
    try:
        assert str(uvf.__repr__()) == str(idi.__repr__())
        print "PASS: __repr__ match"
    except:
        print "ERROR: __repr__ do not match"
        print str(uvf.__repr__())
        print str(idi.__repr__())
        print uvf.h_uv_data
        print idi.h_uv_data
        print uvf.h_array_geometry
        print idi.h_array_geometry
        raise

    print "PASS: Comparison test passed"
Esempio n. 5
0
def test_compare_idi_generated():
    """ Check that creating a fits-idi->interfits->fits-idi creates identical data. """

    idi = InterFits('data/test_lalc.fitsidi')
    idi.exportFitsidi('data/test_lalc2.fitsidi')
    idi2 = InterFits('data/test_lalc2.fitsidi')


    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(idi.h_common, idi2.h_common)
    h2("Parameters")
    ok_count += compare_dicts(idi.h_params, idi2.h_params)
    h2("Antenna")
    ok_count += compare_dicts(idi.h_antenna, idi2.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(idi.h_array_geometry, idi2.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(idi.h_frequency, idi2.h_frequency)
    h2("Source")
    ok_count += compare_dicts(idi.h_source, idi2.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(idi.h_uv_data, idi2.h_uv_data)

    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(idi.d_antenna, idi2.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(idi.d_array_geometry, idi2.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(idi.d_frequency, idi2.d_frequency)
    h2("Source")
    ok_count += compare_dicts(idi.d_source, idi2.d_source)
    h2("UV DATA")
    ok_count += compare_dicts(idi.d_uv_data, idi2.d_uv_data)

    assert ok_count == 12
    os.remove('data/test_lalc2.xml')
    os.remove('data/test_lalc2.fitsidi')
Esempio n. 6
0
def test_compare_uv2idi():
    """ Compare a uvfits file to a fits-idi file to confirm they are equivalent """

    filename_uvf  = 'data/test_lalc.uvfits'
    filename_idi = filename_uvf.rstrip('.uvfits')+'.fitsidi'
    uvf = InterFits(filename_uvf)
    idi = InterFits(filename_idi)

    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(uvf.h_common, idi.h_common)
    h2("Parameters")
    ok_count += compare_dicts(uvf.h_params, idi.h_params)
    h2("Antenna")
    ok_count += compare_dicts(uvf.h_antenna, idi.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.h_array_geometry, idi.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.h_frequency, idi.h_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.h_source, idi.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.h_uv_data, idi.h_uv_data)
    
    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(uvf.d_antenna, idi.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.d_array_geometry, idi.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.d_frequency, idi.d_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.d_source, idi.d_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.d_uv_data, idi.d_uv_data)

    assert ok_count == 12
def test_lalc():
    """ Check that LA->interfits->LA->interfits creates identical data. """

    lalc = LedaFits()
    lalc.filename = 'data/test_lalc.LA'
    lalc.readLfile(n_ant=256, n_chans=109)

    lalc.exportFitsidi('data/test_lalc_direct.fitsidi')
    uvf  = LedaFits('data/test_lalc_direct.fitsidi')

    ok_count = 0
    # Check all header values
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(uvf.h_common, lalc.h_common)
    h2("Parameters")
    ok_count += compare_dicts(uvf.h_params, lalc.h_params)
    h2("Antenna")
    ok_count += compare_dicts(uvf.h_antenna, lalc.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.h_array_geometry, lalc.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.h_frequency, lalc.h_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.h_source, lalc.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.h_uv_data, lalc.h_uv_data)

    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(uvf.d_antenna, lalc.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.d_array_geometry, lalc.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.d_frequency, lalc.d_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.d_source, lalc.d_source)

    assert ok_count == 11

    try:
        assert repr(lalc) == repr(uvf)
    except AssertionError:
        print "ERROR: __repr__ outputs do not match"
        print repr(uvf)
        print repr(lalc)

    os.remove('data/test_lalc_direct.fitsidi')
def test_compare_cyg_lalc():
    lalc = LedaFits('data/test_lalc_uvw.fitsidi')
    uvf  = LedaFits('data/CygA.fitsidi')

    ok_count = 0
    h1("Testing header keywords")
    h2("Common")
    ok_count += compare_dicts(uvf.h_common, lalc.h_common)
    h2("Parameters")
    ok_count += compare_dicts(uvf.h_params, lalc.h_params)
    h2("Antenna")
    ok_count += compare_dicts(uvf.h_antenna, lalc.h_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.h_array_geometry, lalc.h_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.h_frequency, lalc.h_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.h_source, lalc.h_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.h_uv_data, lalc.h_uv_data)

    h1("Testing data tables")
    h2("Antenna")
    ok_count += compare_dicts(uvf.d_antenna, lalc.d_antenna)
    h2("Array Geometry")
    ok_count += compare_dicts(uvf.d_array_geometry, lalc.d_array_geometry)
    h2("Frequency")
    ok_count += compare_dicts(uvf.d_frequency, lalc.d_frequency)
    h2("Source")
    ok_count += compare_dicts(uvf.d_source, lalc.d_source)
    h2("UV DATA")
    ok_count += compare_dicts(uvf.d_uv_data, lalc.d_uv_data)