Example #1
0
    def _save(self):
        header = {}
        data = None

        for name in self._names:
            header[name] = self[name]

        ext = BinaryDataExtension(header)
        return ext
Example #2
0
 def _save(self):
     header = {
         "monh": self.monh,
         "type_internal": self._type_internal,
         "type": self.type,
         "citation_info": self.citation_info,
     }
     data = self._pattern
     ext = BinaryDataExtension(header, data)
     return ext
Example #3
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
Example #4
0
def test_empty_data(tmp_fname):
    file = FlexFile()
    ext = BinaryDataExtension(data=[])
    file.extensions["img"] = ext

    file.write(tmp_fname)

    del file
    f2 = FlexFile.read(tmp_fname)

    assert f2["img"].data.size == 0
Example #5
0
def test_read_write(tmp_fname):
    file = FlexFile()
    ext = BinaryDataExtension(data=np.zeros(10))
    file.extensions["img"] = ext

    file.write(tmp_fname)

    del file
    f2 = FlexFile.read(tmp_fname)

    assert f2["img"].data.size == 10
    assert np.all(f2["img"].data == 0)
Example #6
0
import numpy as np
import pandas as pd
from flex.flex import FlexFile
from flex.extensions.bindata import BinaryDataExtension, MultipleDataExtension
from flex.extensions.tabledata import TableExtension, JSONTableExtension

file = FlexFile()

ext_bin = BinaryDataExtension(data=np.linspace(0, 1, 4 * 3 * 2).reshape((4, 3,
                                                                         2)))

ext = MultipleDataExtension()
ext.data["data"] = np.arange(12, dtype="i2").reshape((3, 2, 2))

tab = JSONTableExtension()
tab.data = pd.DataFrame(np.arange(20).reshape((10, 2)), columns=["A", "B"])

file.header["bla"] = np.float(3e10)
file.header["blub"] = np.nan
file.header["blrub"] = float("inf")
file.header["blurb"] = np.array([1, 2, 3])
file.header["blurb2"] = [1, 2, 3]
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