Example #1
0
    def setUp(self):
        TestCaseQt.setUp(self)
        self.plot = Plot1D()
        self.plot.show()
        x = range(20)
        y = range(20)
        self.plot.addCurve(x, y, legend='curve0')
        y = range(12, 32)
        self.plot.addCurve(x, y, legend='curve1')
        y = range(-2, 18)
        self.plot.addCurve(x, y, legend='curve2')
        self.widget = StatsWidget.StatsTable(plot=self.plot)

        mystats = statshandler.StatsHandler((
            stats.StatMin(),
            (stats.StatCoordMin(), statshandler.StatFormatter(None, qt.QTableWidgetItem)),
            stats.StatMax(),
            (stats.StatCoordMax(), statshandler.StatFormatter(None, qt.QTableWidgetItem)),
            stats.StatDelta(),
            ('std', numpy.std),
            ('mean', numpy.mean),
            stats.StatCOM()
        ))

        self.widget.setStats(mystats)
Example #2
0
    def testConstructor(self):
        """Make sure the constructor can deal will all possible arguments:
        
        * tuple of :class:`StatBase` derivated classes
        * tuple of tuples (:class:`StatBase`, :class:`StatFormatter`)
        * tuple of tuples (str, pointer to function, kind)
        """
        handler0 = statshandler.StatsHandler(
            (stats.StatMin(), stats.StatMax())
        )

        res = handler0.calculate(item=self.curveItem, plot=self.plot1d,
                                 onlimits=False)
        self.assertTrue('min' in res)
        self.assertTrue(res['min'] == '0')
        self.assertTrue('max' in res)
        self.assertTrue(res['max'] == '19')

        handler1 = statshandler.StatsHandler(
            (
                (stats.StatMin(), statshandler.StatFormatter(formatter=None)),
                (stats.StatMax(), statshandler.StatFormatter())
            )
        )

        res = handler1.calculate(item=self.curveItem, plot=self.plot1d,
                                 onlimits=False)
        self.assertTrue('min' in res)
        self.assertTrue(res['min'] == '0')
        self.assertTrue('max' in res)
        self.assertTrue(res['max'] == '19.000')

        handler2 = statshandler.StatsHandler(
            (
                (stats.StatMin(), None),
                (stats.StatMax(), statshandler.StatFormatter())
        ))

        res = handler2.calculate(item=self.curveItem, plot=self.plot1d,
                                 onlimits=False)
        self.assertTrue('min' in res)
        self.assertTrue(res['min'] == '0')
        self.assertTrue('max' in res)
        self.assertTrue(res['max'] == '19.000')

        handler3 = statshandler.StatsHandler((
            (('amin', numpy.argmin), statshandler.StatFormatter()),
            ('amax', numpy.argmax)
        ))

        res = handler3.calculate(item=self.curveItem, plot=self.plot1d,
                                 onlimits=False)
        self.assertTrue('amin' in res)
        self.assertTrue(res['amin'] == '0.000')
        self.assertTrue('amax' in res)
        self.assertTrue(res['amax'] == '19')

        with self.assertRaises(ValueError):
            statshandler.StatsHandler(('name'))
 def testEmptyFormatter(self):
     """Make sure a formatter with no formatter definition will return a
     simple cast to str"""
     emptyFormatter = statshandler.StatFormatter()
     self.assertEqual(
         emptyFormatter.format(self.stat.calculate(self.curveContext)),
         '0.000')
Example #4
0
 def testSettedFormatter(self):
     """Make sure a formatter with no formatter definition will return a
     simple cast to str"""
     formatter = statshandler.StatFormatter(formatter='{0:.3f}')
     self.assertTrue(
         formatter.format(self.stat.calculate(self.curveContext)) ==
         '0.000')
    def setUp(self):
        TestCaseQt.setUp(self)
        self.scatterPlot = Plot2D()
        self.scatterPlot.addScatter([0, 1, 2, 20, 50, 60],
                                    [2, 3, 4, 26, 69, 6],
                                    [5, 6, 7, 10, 90, 20],
                                    legend=self.SCATTER_LEGEND)
        self.widget = StatsWidget.StatsTable(plot=self.scatterPlot)

        mystats = statshandler.StatsHandler(
            (stats.StatMin(),
             (stats.StatCoordMin(),
              statshandler.StatFormatter(None, qt.QTableWidgetItem)),
             stats.StatMax(),
             (stats.StatCoordMax(),
              statshandler.StatFormatter(None, qt.QTableWidgetItem)),
             stats.StatDelta(), ('std', numpy.std), ('mean', numpy.mean),
             stats.StatCOM()))

        self.widget.setStats(mystats)
    def setUp(self):
        TestCaseQt.setUp(self)

        mystats = statshandler.StatsHandler(
            ((stats.StatMin(), statshandler.StatFormatter()), ))

        self.plot = Plot1D()
        self.plot.show()
        x = range(20)
        y = range(20)
        self.plot.addCurve(x, y, legend='curve0')
        y = range(12, 32)
        self.plot.addCurve(x, y, legend='curve1')
        y = range(-2, 18)
        self.plot.addCurve(x, y, legend='curve2')
        self.widget = StatsWidget.BasicGridStatsWidget(plot=self.plot,
                                                       kind='curve',
                                                       stats=mystats)
Example #7
0
    def setUp(self):
        TestCaseQt.setUp(self)
        self.plot = Plot2D()

        self.plot.addImage(data=numpy.arange(128*128).reshape(128, 128),
                           legend='test image', replace=False)

        self.widget = StatsWidget.StatsTable(plot=self.plot)

        mystats = statshandler.StatsHandler((
            (stats.StatMin(), statshandler.StatFormatter()),
            (stats.StatCoordMin(), statshandler.StatFormatter(None, qt.QTableWidgetItem)),
            (stats.StatMax(), statshandler.StatFormatter()),
            (stats.StatCoordMax(), statshandler.StatFormatter(None, qt.QTableWidgetItem)),
            (stats.StatDelta(), statshandler.StatFormatter()),
            ('std', numpy.std),
            ('mean', numpy.mean),
            (stats.StatCOM(), statshandler.StatFormatter(None))
        ))

        self.widget.setStats(mystats)