Ejemplo n.º 1
0
    def test_weighted(self):
        """Perform weighted sigma clipping"""

        INDICES = numpy.ones(len(self.data), dtype=numpy.bool)
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors, niter=0,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)

        INDICES[1] = INDICES[3] = INDICES[5] = False
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors, niter=1,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)

        INDICES[2] = False
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors, niter=2,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)

        # With three dimensional data
        indices, niter = sigmaclip.sigmaclip(data=self.data3d, errors=self.errors3d, niter=2,
                            siglow=1., sighigh=1., use_median=True)
        INDICES = numpy.array([[[False, False, False, False],
                                [False, False, False, False],
                                [ True,  True,  True,  True]],
                               [[ True,  True,  True,  True],
                                [False, False, False, False],
                                [False, False, False, False]]], dtype=bool)
        self.assertEqual((indices == INDICES).all(), True)
Ejemplo n.º 2
0
    def test_unweighted(self):
        """Perform unweighted sigma clipping"""

        INDICES = numpy.ones(len(self.data), dtype=numpy.bool)
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=None, niter=0,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)

        INDICES[3] = False
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=None, niter=1,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)

        INDICES[1] = INDICES[5] = False
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=None, niter=2,
                            siglow=1., sighigh=1., use_median=False)
        self.assertEqual((indices == INDICES).all(), True)
Ejemplo n.º 3
0
    def test_clip2background(self):
        """Clip until no more data are clipped"""

        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors,
                                   niter=-100, siglow=3., sighigh=3.)
        self.assertEqual(niter, 2)

        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors,
                                   niter=-100, siglow=2., sighigh=2.)
        self.assertEqual(niter, 2)

        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors,
                                   niter=-100, siglow=1., sighigh=1.)
        self.assertEqual(niter, 3)

        INDICES = numpy.zeros(len(self.data), dtype=numpy.bool)
        indices, niter = sigmaclip.sigmaclip(data=self.data, errors=self.errors,
                                   niter=-100, siglow=.2, sighigh=.2)
        self.assertEqual((indices == INDICES).all(), True)
        self.assertEqual(niter, 1)