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_multichar_str(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)], 'age>10 or percent_error>50')
     self.assertListEqual(o, [0, 2])
Exemplo n.º 4
0
 def test_or_ufloats_percent(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)], 'x>10 or percent_error>50')
     self.assertListEqual(o, [0, 2])
Exemplo n.º 5
0
 def test_and_ufloats(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)], 'x>10 and error>10')
     self.assertListEqual(o, [2])
Exemplo n.º 6
0
 def test_or_ufloats(self):
     o = filter_ufloats([(1, 1), (10, 11), (20, 1)], 'x>10 or error>10')
     self.assertListEqual(o, [1, 2])
Exemplo n.º 7
0
 def test_multichar_str(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)],
                        'age>10 or percent_error>50')
     self.assertListEqual(o, [0, 2])
Exemplo n.º 8
0
 def test_or_ufloats_percent(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)],
                        'x>10 or percent_error>50')
     self.assertListEqual(o, [0, 2])
Exemplo n.º 9
0
 def test_and_ufloats(self):
     o = filter_ufloats([(1, 1), (10, 1), (20, 11)], 'x>10 and error>10')
     self.assertListEqual(o, [2])
Exemplo n.º 10
0
 def test_or_ufloats(self):
     o = filter_ufloats([(1, 1), (10, 11), (20, 1)], 'x>10 or error>10')
     self.assertListEqual(o, [1, 2])