Beispiel #1
0
def test_empty_data_json(tmp_fname):
    file = FlexFile()
    ext = BinaryDataExtension(data=[])
    file.extensions["img"] = ext

    file.to_json(tmp_fname)

    del file
    f2 = FlexFile.from_json(tmp_fname)

    assert f2["img"].data.size == 0
Beispiel #2
0
def test_json_multi(tmp_fname):
    file = FlexFile()
    ext = MultipleDataExtension(data={"bla": np.zeros(10)})
    file.extensions["img"] = ext

    file.to_json(tmp_fname)

    del file
    f2 = FlexFile.from_json(tmp_fname)

    assert f2["img"].data["bla"].size == 10
    assert np.all(f2["img"].data["bla"] == 0)
Beispiel #3
0
def test_json(tmp_fname):
    file = FlexFile()
    ext = BinaryDataExtension(data=np.zeros(10))
    file.extensions["img"] = ext

    file.to_json(tmp_fname)

    del file
    f2 = FlexFile.from_json(tmp_fname)

    assert f2["img"].data.size == 10
    assert np.all(f2["img"].data == 0)
def test_json(tableclass, tmp_fname, table):
    file = FlexFile()
    ext = tableclass(data=table)
    file.extensions["tab"] = ext

    file.to_json(tmp_fname)

    del file
    f2 = FlexFile.from_json(tmp_fname)

    assert f2["tab"].data.size == 10 * 2
    assert np.all(f2["tab"].data == 1)
    assert len(f2["tab"].data.columns) == 2
    assert "A" in f2["tab"].data.columns
    assert "B" in f2["tab"].data.columns
Beispiel #5
0
file.header["int"] = 1
file.header["np_int"] = np.int(1)
file.header["str"] = "Hello"
file.header["np_str"] = np.str("World")
# FITS can handle either long header keys, or long entries
# But not both at the same time...
file.header["really_long_entry"] = "bla"
file.header["really_l"] = "bla" * 100
file.header["really_long_text_with_HIERARCH"] = "bla" * 100

file.extensions["np"] = ext
file.extensions["tab"] = tab
file.extensions["bin"] = ext_bin

d = file.to_json()
d2 = FlexFile.from_json(d)

d = file.to_json("test.json")
d2 = FlexFile.from_json("test.json")

d = file.to_fits("test.fits", overwrite=True)
d2 = FlexFile.from_fits("test.fits")

file.write("test.flex")
f2 = FlexFile.read("test.flex")

f2["np"].data["data"][:5] = 1
print(f2["np"].data)

del f2
f2 = FlexFile.read("test.flex")
Beispiel #6
0
def save(fname_in, fname_out):
    ff = FlexFile.from_json(fname_in)
    sme = SME_Structure()
    sme = from_flex(ff, sme)
    sme.save(fname_out)