コード例 #1
0
    def test_run_module(self):
        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        read = FitsReadingModule(name_in="read", image_tag="im_arr")
        assert pipeline.add_module(read) is None
        assert pipeline.run_module("read") is None

        os.remove(self.test_dir + "PynPoint_database.hdf5")
コード例 #2
0
    def test_add_module(self):
        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        read = FitsReadingModule(name_in='read1',
                                 input_dir=None,
                                 image_tag='im_arr1')
        assert pipeline.add_module(read) is None

        read = FitsReadingModule(name_in='read2',
                                 input_dir=self.test_dir,
                                 image_tag='im_arr2')
        assert pipeline.add_module(read) is None

        with pytest.warns(UserWarning) as warning:
            pipeline.add_module(read)

        assert len(warning) == 1
        assert warning[0].message.args[0] == 'Pipeline module names need to be unique. ' \
                                             'Overwriting module \'read2\'.'

        process = BadPixelSigmaFilterModule(name_in='badpixel',
                                            image_in_tag='im_arr1',
                                            image_out_tag='im_out')

        assert pipeline.add_module(process) is None

        write = FitsWritingModule(name_in='write1',
                                  file_name='result.fits',
                                  data_tag='im_arr1')
        assert pipeline.add_module(write) is None

        write = FitsWritingModule(name_in='write2',
                                  file_name='result.fits',
                                  data_tag='im_arr1',
                                  output_dir=self.test_dir)
        assert pipeline.add_module(write) is None

        assert pipeline.run() is None

        assert pipeline.get_module_names() == [
            'read1', 'read2', 'badpixel', 'write1', 'write2'
        ]

        os.remove(self.test_dir + 'result.fits')
        os.remove(self.test_dir + 'PynPoint_database.hdf5')
コード例 #3
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read1',
                                   image_tag='adi',
                                   input_dir=self.test_dir + 'adi')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('adi')
        assert np.sum(data) == pytest.approx(11.012854046962481,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 21, 21)

        self.pipeline.set_attribute('adi',
                                    'PARANG',
                                    np.linspace(0., 180., 10),
                                    static=False)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='psf',
                                   input_dir=self.test_dir + 'psf')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        data = self.pipeline.get_data('psf')
        assert np.sum(data) == pytest.approx(108.43655133957289,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 21, 21)

        module = FitsReadingModule(name_in='read3',
                                   image_tag='ref',
                                   input_dir=self.test_dir + 'psf')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read3')

        data = self.pipeline.get_data('ref')
        assert np.sum(data) == pytest.approx(108.43655133957289,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 21, 21)
コード例 #4
0
    def test_read_data(self):

        module = FitsReadingModule(name_in='read1',
                                   image_tag='data1',
                                   input_dir=self.test_dir+'data1',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='data2',
                                   input_dir=self.test_dir+'data2',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)

        module = FitsReadingModule(name_in='read3',
                                   image_tag='data3',
                                   input_dir=self.test_dir+'data3',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)

        self.pipeline.run_module('read1')
        self.pipeline.run_module('read2')
        self.pipeline.run_module('read3')

        data = self.pipeline.get_data('data1')
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)

        data = self.pipeline.get_data('data2')
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)

        data = self.pipeline.get_data('data3')
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #5
0
ファイル: test_basic.py プロジェクト: 18alex96/PynPoint
    def test_read_data(self):

        read = FitsReadingModule(name_in="read1",
                                 image_tag="data1",
                                 input_dir=self.test_dir+"data1",
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)

        read = FitsReadingModule(name_in="read2",
                                 image_tag="data2",
                                 input_dir=self.test_dir+"data2",
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)

        read = FitsReadingModule(name_in="read3",
                                 image_tag="data3",
                                 input_dir=self.test_dir+"data3",
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)

        self.pipeline.run_module("read1")
        self.pipeline.run_module("read2")
        self.pipeline.run_module("read3")

        data = self.pipeline.get_data("data1")
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)

        data = self.pipeline.get_data("data2")
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)

        data = self.pipeline.get_data("data3")
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #6
0
    def test_read_data(self):
        read_science = FitsReadingModule(name_in="read_science",
                                         input_dir=self.test_dir + "adi",
                                         image_tag="im_arr")

        self.pipeline.add_module(read_science)

        read_dark = FitsReadingModule(name_in="read_dark",
                                      input_dir=self.test_dir + "dark",
                                      image_tag="dark_arr")

        self.pipeline.add_module(read_dark)

        read_flat = FitsReadingModule(name_in="read_flat",
                                      input_dir=self.test_dir + "flat",
                                      image_tag="flat_arr")

        self.pipeline.add_module(read_flat)

        self.pipeline.run_module("read_science")
        self.pipeline.run_module("read_dark")
        self.pipeline.run_module("read_flat")

        data = self.pipeline.get_data("im_arr")
        assert np.allclose(data[0, 61, 39],
                           -0.00022889163546536875,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (82, 102, 100)

        data = self.pipeline.get_data("dark_arr")
        assert np.allclose(data[0, 61, 39],
                           2.368170995592123e-05,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (16, 100, 100)

        data = self.pipeline.get_data("flat_arr")
        assert np.allclose(data[0, 61, 39],
                           0.98703416941301647,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (16, 100, 100)
コード例 #7
0
    def test_run_module(self) -> None:

        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        module = FitsReadingModule(name_in='read', image_tag='im_arr')

        assert pipeline.add_module(module) is None
        assert pipeline.run_module('read') is None

        os.remove(self.test_dir + 'PynPoint_database.hdf5')
コード例 #8
0
    def test_get_shape(self) -> None:

        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        module = FitsReadingModule(name_in='read', image_tag='images')

        pipeline.add_module(module)
        pipeline.run_module('read')

        assert pipeline.get_shape('images') == (5, 11, 11)
コード例 #9
0
    def test_add_module(self):
        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        read = FitsReadingModule(name_in="read1",
                                 input_dir=None,
                                 image_tag="im_arr1")
        assert pipeline.add_module(read) is None

        read = FitsReadingModule(name_in="read2",
                                 input_dir=self.test_dir,
                                 image_tag="im_arr2")
        assert pipeline.add_module(read) is None

        with pytest.warns(UserWarning) as warning:
            pipeline.add_module(read)

        assert len(warning) == 1
        assert warning[0].message.args[0] == "Processing module names need to be unique. " \
                                             "Overwriting module 'read2'."

        process = BadPixelSigmaFilterModule(name_in="badpixel",
                                            image_in_tag="im_arr1")
        assert pipeline.add_module(process) is None

        write = FitsWritingModule(name_in="write1",
                                  file_name="result.fits",
                                  data_tag="im_arr1")
        assert pipeline.add_module(write) is None

        write = FitsWritingModule(name_in="write2",
                                  file_name="result.fits",
                                  data_tag="im_arr1",
                                  output_dir=self.test_dir)
        assert pipeline.add_module(write) is None

        assert pipeline.run() is None

        assert pipeline.get_module_names() == [
            'read1', 'read2', 'badpixel', 'write1', 'write2'
        ]

        os.remove(self.test_dir + "result.fits")
        os.remove(self.test_dir + "PynPoint_database.hdf5")
コード例 #10
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read1',
                                   image_tag='images',
                                   input_dir=self.test_dir+'data',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('images')
        assert np.mean(data) == pytest.approx(0.08722544528764692, rel=self.limit, abs=0.)
        assert data.shape == (10, 11, 11)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='extra',
                                   input_dir=self.test_dir+'extra',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        extra = self.pipeline.get_data('extra')
        assert data == pytest.approx(extra, rel=self.limit, abs=0.)

        module = FitsReadingModule(name_in='read_ifs',
                                   image_tag='images_ifs',
                                   input_dir=self.test_dir+'data_ifs',
                                   overwrite=True,
                                   check=True,
                                   ifs_data=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read_ifs')
        self.pipeline.set_attribute('images_ifs', 'PARANG', np.linspace(0., 180., 10), static=False)

        data = self.pipeline.get_data('images_ifs')
        assert np.sum(data) == pytest.approx(749.8396528807369, rel=self.limit, abs=0.)
        assert data.shape == (3, 10, 21, 21)
コード例 #11
0
ファイル: test_extract.py プロジェクト: pahuber/PynPoint
    def test_read_data(self):

        module = FitsReadingModule(name_in='read1',
                                   image_tag='star',
                                   input_dir=self.test_dir + 'star',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('star')
        assert np.allclose(data[0, 10, 10],
                           0.09834884212021108,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00038538535294683216,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (40, 51, 51)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='binary',
                                   input_dir=self.test_dir + 'binary',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        data = self.pipeline.get_data('binary')
        assert np.allclose(data[0, 50, 50],
                           0.0986064357966972,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00019636787665654158,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (80, 101, 101)
コード例 #12
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read',
                                   image_tag='read',
                                   input_dir=self.test_dir+'self.limits')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('read')
        assert np.sum(data) == pytest.approx(108.43655133957289, rel=self.limit, abs=0.)
        assert data.shape == (10, 21, 21)
コード例 #13
0
ファイル: test_background.py プロジェクト: nenasedk/PynPoint
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read1',
                                   image_tag='dither',
                                   input_dir=self.test_dir + 'dither')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('dither')
        assert np.sum(data) == pytest.approx(211.20534661914408,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (20, 21, 21)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='science',
                                   input_dir=self.test_dir + 'science')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        data = self.pipeline.get_data('science')
        assert np.sum(data) == pytest.approx(105.54278879805277,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 11, 11)

        module = FitsReadingModule(name_in='read3',
                                   image_tag='sky',
                                   input_dir=self.test_dir + 'sky')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read3')

        data = self.pipeline.get_data('sky')
        assert np.sum(data) == pytest.approx(105.54278879805277,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 11, 11)
コード例 #14
0
    def test_output_port_name(self):
        read = FitsReadingModule(name_in='read',
                                 input_dir=self.test_dir + 'images',
                                 image_tag='images')
        read.add_output_port('test')

        with pytest.warns(UserWarning) as warning:
            read.add_output_port('test')

        assert len(warning) == 1
        assert warning[0].message.args[0] == 'Tag \'test\' of ReadingModule \'read\' is already ' \
                                             'used.'

        process = BadPixelSigmaFilterModule(name_in='badpixel',
                                            image_in_tag='images',
                                            image_out_tag='im_out')

        process.add_output_port('test')

        with pytest.warns(UserWarning) as warning:
            process.add_output_port('test')

        assert len(warning) == 1
        assert warning[0].message.args[0] == 'Tag \'test\' of ProcessingModule \'badpixel\' is ' \
                                             'already used.'

        self.pipeline.m_data_storage.close_connection()

        process._m_data_base = self.test_dir + 'database.hdf5'
        process.add_output_port('new')
コード例 #15
0
    def test_output_port_name(self):
        read = FitsReadingModule(name_in="read",
                                 input_dir=self.test_dir + "images",
                                 image_tag="images")
        read.add_output_port("test")

        with pytest.warns(UserWarning) as warning:
            read.add_output_port("test")

        assert len(warning) == 1
        assert warning[0].message.args[
            0] == "Tag 'test' of ReadingModule 'read' is already used."

        process = BadPixelSigmaFilterModule(name_in="badpixel",
                                            image_in_tag="images")
        process.add_output_port("test")

        with pytest.warns(UserWarning) as warning:
            process.add_output_port("test")

        assert len(warning) == 1
        assert warning[0].message.args[0] == "Tag 'test' of ProcessingModule 'badpixel' is " \
                                             "already used."

        self.pipeline.m_data_storage.close_connection()

        process._m_data_base = self.test_dir + "database.hdf5"
        process.add_output_port("new")
コード例 #16
0
ファイル: test_limits.py プロジェクト: pahuber/PynPoint
    def test_read_data(self):

        module = FitsReadingModule(name_in='read',
                                   image_tag='read',
                                   input_dir=self.test_dir+'limits')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('read')
        assert np.allclose(data[0, 10, 10], 0.00012958496246258364, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #17
0
    def test_read_data(self):

        read = FitsReadingModule(name_in="read1",
                                 image_tag="science",
                                 input_dir=self.test_dir + "science")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read1")

        data = self.pipeline.get_data("science")
        assert np.allclose(data[0, 50, 50],
                           0.09798413502193708,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00010063896953157961,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (80, 100, 100)

        read = FitsReadingModule(name_in="read2",
                                 image_tag="reference",
                                 input_dir=self.test_dir + "reference")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read2")

        data = self.pipeline.get_data("reference")
        assert np.allclose(data[0, 50, 50],
                           0.09798413502193708,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00010029494781738066,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #18
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read1',
                                   image_tag='science',
                                   input_dir=self.test_dir + 'science')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('science')
        assert np.allclose(data[0, 50, 50],
                           0.09798413502193708,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00010063896953157961,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (80, 100, 100)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='reference',
                                   input_dir=self.test_dir + 'reference')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        data = self.pipeline.get_data('reference')
        assert np.allclose(data[0, 50, 50],
                           0.09798413502193708,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00010029494781738066,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #19
0
    def test_read_data(self):

        read = FitsReadingModule(name_in="read1",
                                 image_tag="read",
                                 input_dir=self.test_dir+"flux")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read1")

        data = self.pipeline.get_data("read")
        assert np.allclose(data[0, 50, 50], 0.0986064357966972, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 9.827812356946396e-05, rtol=limit, atol=0.)
        assert data.shape == (40, 101, 101)

        read = FitsReadingModule(name_in="read2",
                                 image_tag="adi",
                                 input_dir=self.test_dir+"adi")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read2")

        data = self.pipeline.get_data("adi")
        assert np.allclose(data[0, 7, 7], 0.09823888178122618, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.008761678820997612, rtol=limit, atol=0.)
        assert data.shape == (20, 15, 15)

        read = FitsReadingModule(name_in="read3",
                                 image_tag="psf",
                                 input_dir=self.test_dir+"psf")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read3")

        data = self.pipeline.get_data("psf")
        assert np.allclose(data[0, 7, 7], 0.09806026673451182, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.004444444429123135, rtol=limit, atol=0.)
        assert data.shape == (4, 15, 15)
コード例 #20
0
ファイル: test_extract.py プロジェクト: nenasedk/PynPoint
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read1',
                                   image_tag='star',
                                   input_dir=self.test_dir + 'star',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read1')

        data = self.pipeline.get_data('star')
        assert np.sum(data) == pytest.approx(105.54278879805277,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 11, 11)

        module = FitsReadingModule(name_in='read2',
                                   image_tag='binary',
                                   input_dir=self.test_dir + 'binary',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read2')

        data = self.pipeline.get_data('binary')
        assert np.sum(data) == pytest.approx(11.012854046962481,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 21, 21)

        self.pipeline.set_attribute('binary',
                                    'PARANG',
                                    -1. * np.linspace(0., 180., 10),
                                    static=False)
コード例 #21
0
    def test_fits_reading(self):

        read = FitsReadingModule(name_in='read',
                                 input_dir=self.test_dir+'fits',
                                 image_tag='images',
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('images')
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.00010029494781738066, rtol=limit, atol=0.)
        assert data.shape == (40, 100, 100)
コード例 #22
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read',
                                   image_tag='read',
                                   input_dir=self.test_dir+'prep')

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('read')
        assert np.sum(data) == pytest.approx(105.54278879805277, rel=self.limit, abs=0.)
        assert data.shape == (10, 11, 11)

        module = FitsReadingModule(name_in='read_ifs',
                                   image_tag='read_ifs',
                                   input_dir=self.test_dir+'prep_ifs',
                                   ifs_data=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read_ifs')

        data = self.pipeline.get_data('read_ifs')
        assert np.sum(data) == pytest.approx(749.8396528807369, rel=self.limit, abs=0.)
        assert data.shape == (3, 10, 21, 21)
コード例 #23
0
    def test_read_data(self):

        module = FitsReadingModule(name_in='read',
                                   image_tag='images',
                                   input_dir=self.test_dir+'images',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('images')
        assert np.allclose(data[0, 10, 10], 0.09799496683489618, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.0025020285041348557, rtol=limit, atol=0.)
        assert data.shape == (40, 20, 20)
コード例 #24
0
    def test_read_data(self):

        read = FitsReadingModule(name_in="read",
                                 image_tag="read",
                                 input_dir=self.test_dir+"images",
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)
        self.pipeline.run_module("read")

        data = self.pipeline.get_data("read")
        assert np.allclose(data[0, 50, 50], 0.09798413502193704, rtol=limit, atol=0.)
        assert np.allclose(np.mean(data), 0.0001002167910262529, rtol=limit, atol=0.)
        assert data.shape == (44, 100, 100)
コード例 #25
0
    def test_run_module_wrong_tag(self) -> None:

        pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)

        module = FitsReadingModule(name_in='read')

        pipeline.add_module(module)

        module = FitsWritingModule(name_in='write',
                                   file_name='result.fits',
                                   data_tag='im_list')

        pipeline.add_module(module)

        module = BadPixelSigmaFilterModule(name_in='badpixel',
                                           image_in_tag='im_list',
                                           image_out_tag='im_out')

        pipeline.add_module(module)

        with pytest.raises(AttributeError) as error:
            pipeline.run_module('badpixel')

        assert str(error.value) == 'Pipeline module \'badpixel\' is looking for data under a ' \
                                   'tag which does not exist in the database.'

        with pytest.raises(AttributeError) as error:
            pipeline.run_module('write')

        assert str(error.value) == 'Pipeline module \'write\' is looking for data under a tag ' \
                                   'which does not exist in the database.'

        with pytest.raises(AttributeError) as error:
            pipeline.run()

        assert str(error.value) == 'Pipeline module \'write\' is looking for data under a tag ' \
                                   'which is not created by a previous module or the data does ' \
                                   'not exist in the database.'

        assert pipeline.validate_pipeline_module('test') == (False, 'test')

        with pytest.raises(TypeError) as error:
            pipeline._validate('module', 'tag')

        assert str(error.value) == 'type of argument "module" must be one of (ReadingModule, ' \
                                   'WritingModule, ProcessingModule); got str instead'

        os.remove(self.test_dir + 'PynPoint_database.hdf5')
コード例 #26
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read',
                                   image_tag='science',
                                   input_dir=self.test_dir+'science',
                                   ifs_data=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('science')
        assert np.sum(data) == pytest.approx(749.8396528807368, rel=self.limit, abs=0.)
        assert data.shape == (3, 10, 21, 21)

        self.pipeline.set_attribute('science', 'WAVELENGTH', [1., 1.1, 1.2], static=False)
        self.pipeline.set_attribute('science', 'PARANG', np.linspace(0., 180., 10), static=False)
コード例 #27
0
    def test_read_data(self) -> None:

        module = FitsReadingModule(name_in='read',
                                   image_tag='images',
                                   input_dir=self.test_dir + 'images',
                                   overwrite=True,
                                   check=True)

        self.pipeline.add_module(module)
        self.pipeline.run_module('read')

        data = self.pipeline.get_data('images')
        assert np.sum(data) == pytest.approx(105.54278879805277,
                                             rel=self.limit,
                                             abs=0.)
        assert data.shape == (10, 11, 11)
コード例 #28
0
    def test_fits_read_files_exists(self):

        module = FitsReadingModule(name_in='read9',
                                   input_dir=None,
                                   image_tag='files',
                                   overwrite=True,
                                   check=True,
                                   filenames=['fits/image00.fits',
                                              'fits/image03.fits'])

        self.pipeline.add_module(module)

        with pytest.raises(ValueError) as error:
            self.pipeline.run_module('read9')

        assert str(error.value) == 'The file fits/image00.fits does not exist. ' \
                                   'Please check that the path is correct.'
コード例 #29
0
ファイル: test_fitsreading.py プロジェクト: 18alex96/PynPoint
    def test_static_not_found(self):
        self.pipeline.set_attribute("config", "DIT", "ESO DET DIT", static=True)

        read = FitsReadingModule(name_in="read3",
                                 input_dir=self.test_dir+"fits",
                                 image_tag="input",
                                 overwrite=True,
                                 check=True)

        self.pipeline.add_module(read)

        with pytest.warns(UserWarning) as warning:
            self.pipeline.run_module("read3")

        assert len(warning) == 4
        for item in warning:
            assert item.message.args[0] == "Static attribute DIT (=ESO DET DIT) not found in " \
                                           "the FITS header."
コード例 #30
0
    def test_read_data(self):

        read = FitsReadingModule(name_in="read",
                                 image_tag="read",
                                 input_dir=self.test_dir + "limits")

        self.pipeline.add_module(read)
        self.pipeline.run_module("read")

        data = self.pipeline.get_data("read")
        assert np.allclose(data[0, 10, 10],
                           0.00012958496246258364,
                           rtol=limit,
                           atol=0.)
        assert np.allclose(np.mean(data),
                           0.00010029494781738066,
                           rtol=limit,
                           atol=0.)
        assert data.shape == (40, 100, 100)