Exemplo n.º 1
0
    def _get_aux_plot_filtered(self, po, vs, es=None):
        omits = []
        invalids = []
        outliers = []

        fs = po.filter_str
        nsigma = po.sigma_filter_n
        if fs or nsigma:
            if es is None:
                es = zeros_like(vs)
            ufs = vstack((vs, es)).T
            filter_str_idx = None
            if fs:
                filter_str_idx = filter_ufloats(ufs, fs)
                ftag = po.filter_str_tag.lower()

                if ftag == 'invalid':
                    invalids.extend(filter_str_idx)
                elif ftag == 'outlier':
                    outliers.extend(filter_str_idx)
                else:
                    omits.extend(filter_str_idx)

            if nsigma:
                vs = ma.array(vs, mask=False)
                if filter_str_idx is not None:
                    vs.mask[filter_str_idx] = True
                sigma_idx = sigma_filter(vs, nsigma)

                stag = po.sigma_filter_tag.lower()
                if stag == 'invalid':
                    invalids.extend(sigma_idx)
                elif stag == 'outlier':
                    outliers.extend(sigma_idx)
                else:
                    omits.extend(sigma_idx)

        return omits, invalids, outliers
Exemplo n.º 2
0
    def _get_aux_plot_filtered(self, po, vs, es=None):
        omits = []
        invalids = []
        outliers = []

        fs = po.filter_str
        nsigma = po.sigma_filter_n
        if fs or nsigma:
            if es is None:
                es = zeros_like(vs)
            ufs = vstack((vs, es)).T
            if fs:
                filter_str_idx = filter_ufloats(ufs, fs)
                ftag = po.filter_str_tag.lower()

                if ftag == 'invalid':
                    invalids.extend(filter_str_idx)
                elif ftag == 'outlier':
                    outliers.extend(filter_str_idx)
                else:
                    omits.extend(filter_str_idx)

            if nsigma:
                vs = ma.array(vs, mask=False)
                vs.mask[filter_str_idx] = True
                sigma_idx = sigma_filter(vs, nsigma)

                stag = po.sigma_filter_tag.lower()
                if stag == 'invalid':
                    invalids.extend(sigma_idx)
                elif stag == 'outlier':
                    outliers.extend(sigma_idx)
                else:
                    omits.extend(sigma_idx)

        return omits, invalids, outliers
Exemplo n.º 3
0
 def test_sigma_filter_masked3(self):
     x = ma.array([1, 1, 1, 1, 1, 10, 11], mask=False)
     x.mask[[5, 6]] = True
     o = sigma_filter(x, 1)
     self.assertListEqual(o, [])
Exemplo n.º 4
0
 def test_sigma_filter_masked3(self):
     x = ma.array([1, 1, 1, 1, 1, 10, 11], mask=False)
     x.mask[[5, 6]] = True
     o = sigma_filter(x, 1)
     self.assertListEqual(o, [])