コード例 #1
0
ファイル: test_fiberflat.py プロジェクト: profxj/desispec
class TestFiberFlatObject(unittest.TestCase):

    def setUp(self):
        self.nspec = 5
        self.nwave = 10
        self.wave = np.arange(self.nwave)
        self.fiberflat = np.random.uniform(size=(self.nspec, self.nwave))
        self.ivar = np.ones(self.fiberflat.shape)
        self.mask = np.zeros(self.fiberflat.shape)
        self.meanspec = np.random.uniform(size=self.nwave)
        self.ff = FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec)

    def test_init(self):
        for key in ('wave', 'fiberflat', 'ivar', 'mask', 'meanspec'):
            x = self.ff.__getattribute__(key)
            y = self.__getattribute__(key)
            self.assertTrue(np.all(x == y), key)

        self.assertEqual(self.nspec, self.ff.nspec)
        self.assertEqual(self.nwave, self.ff.nwave)

    def test_dimensions(self):
        #- check dimensionality mismatches
        self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.wave, self.ivar, self.mask, self.meanspec))
        self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.fiberflat, self.ivar, self.mask, self.fiberflat))
        self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.fiberflat[0:2], self.ivar, self.mask, self.meanspec))

    def test_slice(self):
        x = self.ff[1]
        x = self.ff[1:2]
        x = self.ff[[1,2,3]]
        x = self.ff[self.ff.fibers<3]
コード例 #2
0
class TestFiberFlatObject(unittest.TestCase):

    def setUp(self):
        self.nspec = 5
        self.nwave = 10
        self.wave = np.arange(self.nwave)
        self.fiberflat = np.random.uniform(size=(self.nspec, self.nwave))
        self.ivar = np.ones(self.fiberflat.shape)
        self.mask = np.zeros(self.fiberflat.shape, dtype=np.uint32)
        self.meanspec = np.random.uniform(size=self.nwave)
        self.ff = FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec)

    def test_init(self):
        for key in ('wave', 'fiberflat', 'ivar', 'mask', 'meanspec'):
            x = self.ff.__getattribute__(key)
            y = self.__getattribute__(key)
            self.assertTrue(np.all(x == y), key)

        self.assertEqual(self.nspec, self.ff.nspec)
        self.assertEqual(self.nwave, self.ff.nwave)

    def test_dimensions(self):
        #- check dimensionality mismatches
        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.wave, self.ivar, self.mask, self.meanspec)

        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.wave, self.ivar, self.mask, self.meanspec)

        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.fiberflat)

        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.fiberflat[0:2], self.ivar, self.mask, self.meanspec)

        with self.assertRaises(ValueError):
            FiberFlat(self.fiberflat, self.fiberflat, self.ivar, self.mask, self.meanspec)

        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.fiberflat, self.wave, self.mask, self.meanspec)

        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask[0:2, :], self.meanspec)

        fibers = np.arange(self.nspec)
        FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec, fibers=fibers)
        with self.assertRaises(ValueError):
            FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec, fibers=fibers[1:])

    def test_slice(self):
        x = self.ff[1]
        x = self.ff[1:2]
        x = self.ff[[1,2,3]]
        x = self.ff[self.ff.fibers<3]