def setUp(self):
        if 'TRAVIS' in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose
            raise nose.SkipTest

        super(ColortableImageSourceTest2, self).setUp()
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg = numpy.ma.masked_array(self.seg,
                                         mask=numpy.zeros(self.seg.shape,
                                                          dtype=bool),
                                         shrink=False)
        self.seg[0:2, :] = 0
        self.seg[1, :] = numpy.ma.masked
        self.seg[2:4, :] = 1
        self.seg[3, :] = numpy.ma.masked
        self.seg[4:6, :] = 2
        self.seg[5, :] = numpy.ma.masked
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [
            QColor(255, 0, 0).rgba(),
            QColor(0, 255, 0).rgba(),
            QColor(0, 0, 255).rgba()
        ]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)
Пример #2
0
class ColortableImageSourceTest(ImageSourcesTestBase):
    def setUp(self):
        if "TRAVIS" in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose

            raise nose.SkipTest

        super(ColortableImageSourceTest, self).setUp()
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg[0:2, :] = 0
        self.seg[2:4, :] = 1
        self.seg[4:6, :] = 2
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [
            QColor(255, 0, 0).rgba(),
            QColor(0, 255, 0).rgba(),
            QColor(0, 0, 255).rgba()
        ]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)

    def testRequest(self):
        imr = self.ims.request(QRect(0, 0, 512, 512))
        result = imr.wait()

        self.assertTrue(type(result) == QImage)
        img = QImage(7, 6, QImage.Format_ARGB32)
        for i in range(7):
            img.setPixel(i, 0, QColor(255, 0, 0).rgba())
            img.setPixel(i, 1, QColor(255, 0, 0).rgba())

            img.setPixel(i, 2, QColor(0, 255, 0).rgba())
            img.setPixel(i, 3, QColor(0, 255, 0).rgba())

            img.setPixel(i, 4, QColor(0, 0, 255).rgba())
            img.setPixel(i, 5, QColor(0, 0, 255).rgba())
        assert img.size() == result.size()
        assert img == result

    def testSetDirty(self):
        def checkAllDirty(rect):
            self.assertTrue(rect.isEmpty())

        def checkDirtyRect(rect):
            self.assertEqual(rect.x(), 34)
            self.assertEqual(rect.y(), 12)
            self.assertEqual(rect.width(), 3)
            self.assertEqual(rect.height(), 22)

        # should mark everything dirty
        self.ims.isDirty.connect(checkAllDirty)
        self.ims.setDirty((slice(34, None), slice(12, 34)))
        self.ims.isDirty.disconnect(checkAllDirty)

        # dirty subrect
        self.ims.isDirty.connect(checkDirtyRect)
        self.ims.setDirty((slice(34, 37), slice(12, 34)))
        self.ims.isDirty.disconnect(checkDirtyRect)
Пример #3
0
class ColortableImageSourceTest2( ImageSourcesTestBase ):
    def setUp( self ):
        if 'TRAVIS' in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose
            raise nose.SkipTest

        super( ColortableImageSourceTest2, self ).setUp()
        self.seg = numpy.zeros((6,7), dtype=numpy.uint32)
        self.seg = numpy.ma.masked_array(self.seg, mask=numpy.zeros(self.seg.shape, dtype=bool), shrink=False)
        self.seg[0:2,:] = 0
        self.seg[1,:] = numpy.ma.masked
        self.seg[2:4,:] = 1
        self.seg[3,:] = numpy.ma.masked
        self.seg[4:6,:] = 2
        self.seg[5,:] = numpy.ma.masked
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [QColor(255,0,0).rgba(), QColor(0,255,0).rgba(), QColor(0,0,255).rgba()]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource( self.ars, self.layer )

    def testRequest( self ):
        imr = self.ims.request(QRect(0,0,512,512))
        result = imr.wait()

        self.assertTrue(type(result) == QImage)
        img = QImage(7,6, QImage.Format_ARGB32)
        for i in range(7):
            img.setPixel(i, 0, QColor(255,0,0,255).rgba())
            img.setPixel(i, 1, QColor(0,0,0,0).rgba())

            img.setPixel(i, 2, QColor(0,255,0,255).rgba())
            img.setPixel(i, 3, QColor(0,0,0,0).rgba())

            img.setPixel(i, 4, QColor(0,0,255,255).rgba())
            img.setPixel(i, 5, QColor(0,0,0,0).rgba())

        assert img.size() == result.size()
        assert img == result

    def testSetDirty( self ):
        def checkAllDirty( rect ):
            self.assertTrue( rect.isEmpty() )

        def checkDirtyRect( rect ):
            self.assertEqual( rect.x(), 34 )
            self.assertEqual( rect.y(), 12 )
            self.assertEqual( rect.width(), 3 )
            self.assertEqual( rect.height(), 22  )

        # should mark everything dirty
        self.ims.isDirty.connect( checkAllDirty )
        self.ims.setDirty((slice(34,None), slice(12,34)))
        self.ims.isDirty.disconnect( checkAllDirty )

        # dirty subrect
        self.ims.isDirty.connect( checkDirtyRect )
        self.ims.setDirty((slice(34,37), slice(12,34)))
        self.ims.isDirty.disconnect( checkDirtyRect )
Пример #4
0
class ColortableImageSourceTest(ut.TestCase):
    def setUp(self):
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg[0:2, :] = 0
        self.seg[2:4, :] = 1
        self.seg[4:6, :] = 2
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [
            QColor(255, 0, 0).rgba(),
            QColor(0, 255, 0).rgba(),
            QColor(0, 0, 255).rgba()
        ]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)

    def testRequest(self):
        imr = self.ims.request(QRect(0, 0, 512, 512))

        def check(result, codon):
            self.assertEqual(codon, "unique")
            self.assertTrue(type(result) == QImage)
            img = QImage(7, 6, QImage.Format_ARGB32)
            for i in range(7):
                img.setPixel(i, 0, QColor(255, 0, 0).rgba())
                img.setPixel(i, 1, QColor(255, 0, 0).rgba())

                img.setPixel(i, 2, QColor(0, 255, 0).rgba())
                img.setPixel(i, 3, QColor(0, 255, 0).rgba())

                img.setPixel(i, 4, QColor(0, 0, 255).rgba())
                img.setPixel(i, 5, QColor(0, 0, 255).rgba())
            assert img.size() == result.size()
            assert img == result

        imr.notify(check, codon="unique")

    def testSetDirty(self):
        def checkAllDirty(rect):
            self.assertTrue(rect.isEmpty())

        def checkDirtyRect(rect):
            self.assertEqual(rect.x(), 34)
            self.assertEqual(rect.y(), 12)
            self.assertEqual(rect.width(), 3)
            self.assertEqual(rect.height(), 22)

        # should mark everything dirty
        self.ims.isDirty.connect(checkAllDirty)
        self.ims.setDirty((slice(34, None), slice(12, 34)))
        self.ims.isDirty.disconnect(checkAllDirty)

        # dirty subrect
        self.ims.isDirty.connect(checkDirtyRect)
        self.ims.setDirty((slice(34, 37), slice(12, 34)))
        self.ims.isDirty.disconnect(checkDirtyRect)
Пример #5
0
 def setUp(self):
     self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
     self.seg[0:2, :] = 0
     self.seg[2:4, :] = 1
     self.seg[4:6, :] = 2
     self.ars = _ArraySource2d(self.seg)
     self.ctable = [
         QColor(255, 0, 0).rgba(),
         QColor(0, 255, 0).rgba(),
         QColor(0, 0, 255).rgba()
     ]
     self.layer = ColortableLayer(self.ars, self.ctable)
     self.ims = ColortableImageSource(self.ars, self.layer)
Пример #6
0
class ColortableImageSourceTest( ut.TestCase ):
    def setUp( self ):
        self.seg = numpy.zeros((6,7), dtype=numpy.uint32) 
        self.seg[0:2,:] = 0
        self.seg[2:4,:] = 1
        self.seg[4:6,:] = 2
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [QColor(255,0,0).rgba(), QColor(0,255,0).rgba(), QColor(0,0,255).rgba()]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource( self.ars, self.layer )

    def testRequest( self ):
        imr = self.ims.request(QRect(0,0,512,512))
        def check(result, codon):
            self.assertEqual(codon, "unique")
            self.assertTrue(type(result) == QImage)
            img = QImage(7,6, QImage.Format_ARGB32)
            for i in range(7):
                img.setPixel(i, 0, QColor(255,0,0).rgba())
                img.setPixel(i, 1, QColor(255,0,0).rgba())

                img.setPixel(i, 2, QColor(0,255,0).rgba())
                img.setPixel(i, 3, QColor(0,255,0).rgba())

                img.setPixel(i, 4, QColor(0,0,255).rgba())
                img.setPixel(i, 5, QColor(0,0,255).rgba())
            assert img.size() == result.size()
            assert img == result

        imr.notify(check, codon="unique")

    def testSetDirty( self ):
        def checkAllDirty( rect ):
            self.assertTrue( rect.isEmpty() )

        def checkDirtyRect( rect ):
            self.assertEqual( rect.x(), 34 )
            self.assertEqual( rect.y(), 12 )
            self.assertEqual( rect.width(), 3 )
            self.assertEqual( rect.height(), 22  )

        # should mark everything dirty
        self.ims.isDirty.connect( checkAllDirty )
        self.ims.setDirty((slice(34,None), slice(12,34)))
        self.ims.isDirty.disconnect( checkAllDirty )

        # dirty subrect
        self.ims.isDirty.connect( checkDirtyRect )
        self.ims.setDirty((slice(34,37), slice(12,34)))
        self.ims.isDirty.disconnect( checkDirtyRect )
Пример #7
0
    def setUp(self):
        if "TRAVIS" in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose

            raise nose.SkipTest

        super(ColortableImageSourceTest, self).setUp()
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg[0:2, :] = 0
        self.seg[2:4, :] = 1
        self.seg[4:6, :] = 2
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [QColor(255, 0, 0).rgba(), QColor(0, 255, 0).rgba(), QColor(0, 0, 255).rgba()]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)
Пример #8
0
 def setUp( self ):
     self.seg = numpy.zeros((6,7), dtype=numpy.uint32) 
     self.seg[0:2,:] = 0
     self.seg[2:4,:] = 1
     self.seg[4:6,:] = 2
     self.ars = _ArraySource2d(self.seg)
     self.ctable = [QColor(255,0,0).rgba(), QColor(0,255,0).rgba(), QColor(0,0,255).rgba()]
     self.ims = ColortableImageSource( self.ars, self.ctable )
Пример #9
0
 def setUp(self):
     super(ColortableImageSourceTest2, self).setUp()
     self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
     self.seg = numpy.ma.masked_array(self.seg,
                                      mask=numpy.zeros(self.seg.shape,
                                                       dtype=bool),
                                      shrink=False)
     self.seg[0:2, :] = 0
     self.seg[1, :] = numpy.ma.masked
     self.seg[2:4, :] = 1
     self.seg[3, :] = numpy.ma.masked
     self.seg[4:6, :] = 2
     self.seg[5, :] = numpy.ma.masked
     self.ars = _ArraySource2d(self.seg)
     self.ctable = [
         QColor(255, 0, 0).rgba(),
         QColor(0, 255, 0).rgba(),
         QColor(0, 0, 255).rgba()
     ]
     self.layer = ColortableLayer(self.ars, self.ctable)
     self.ims = ColortableImageSource(self.ars, self.layer)
Пример #10
0
    def setUp( self ):
        if 'TRAVIS' in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose
            raise nose.SkipTest

        super( ColortableImageSourceTest, self ).setUp()
        self.seg = numpy.zeros((6,7), dtype=numpy.uint32) 
        self.seg[0:2,:] = 0
        self.seg[2:4,:] = 1
        self.seg[4:6,:] = 2
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [QColor(255,0,0).rgba(), QColor(0,255,0).rgba(), QColor(0,0,255).rgba()]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource( self.ars, self.layer )
Пример #11
0
    def setUp(self):
        if "TRAVIS" in os.environ:
            # Colortable requests require vigra, which is not installed on our Travis-CI build.
            # Skip this test on Travis-CI.
            import nose

            raise nose.SkipTest

        super(ColortableImageSourceTest2, self).setUp()
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg = numpy.ma.masked_array(self.seg, mask=numpy.zeros(self.seg.shape, dtype=bool), shrink=False)
        self.seg[0:2, :] = 0
        self.seg[1, :] = numpy.ma.masked
        self.seg[2:4, :] = 1
        self.seg[3, :] = numpy.ma.masked
        self.seg[4:6, :] = 2
        self.seg[5, :] = numpy.ma.masked
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [QColor(255, 0, 0).rgba(), QColor(0, 255, 0).rgba(), QColor(0, 0, 255).rgba()]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)
Пример #12
0
class ColortableImageSourceTest2(ImageSourcesTestBase):
    def setUp(self):
        super(ColortableImageSourceTest2, self).setUp()
        self.seg = numpy.zeros((6, 7), dtype=numpy.uint32)
        self.seg = numpy.ma.masked_array(self.seg,
                                         mask=numpy.zeros(self.seg.shape,
                                                          dtype=bool),
                                         shrink=False)
        self.seg[0:2, :] = 0
        self.seg[1, :] = numpy.ma.masked
        self.seg[2:4, :] = 1
        self.seg[3, :] = numpy.ma.masked
        self.seg[4:6, :] = 2
        self.seg[5, :] = numpy.ma.masked
        self.ars = _ArraySource2d(self.seg)
        self.ctable = [
            QColor(255, 0, 0).rgba(),
            QColor(0, 255, 0).rgba(),
            QColor(0, 0, 255).rgba()
        ]
        self.layer = ColortableLayer(self.ars, self.ctable)
        self.ims = ColortableImageSource(self.ars, self.layer)

    def testRequest(self):
        imr = self.ims.request(QRect(0, 0, 512, 512))
        result = imr.wait()

        self.assertTrue(type(result) == QImage)
        img = QImage(7, 6, QImage.Format_ARGB32)
        for i in range(7):
            img.setPixel(i, 0, QColor(255, 0, 0, 255).rgba())
            img.setPixel(i, 1, QColor(0, 0, 0, 0).rgba())

            img.setPixel(i, 2, QColor(0, 255, 0, 255).rgba())
            img.setPixel(i, 3, QColor(0, 0, 0, 0).rgba())

            img.setPixel(i, 4, QColor(0, 0, 255, 255).rgba())
            img.setPixel(i, 5, QColor(0, 0, 0, 0).rgba())

        assert img.size() == result.size()
        assert img == result

    def testSetDirty(self):
        def checkAllDirty(rect):
            self.assertTrue(rect.isEmpty())

        def checkDirtyRect(rect):
            self.assertEqual(rect.x(), 34)
            self.assertEqual(rect.y(), 12)
            self.assertEqual(rect.width(), 3)
            self.assertEqual(rect.height(), 22)

        # should mark everything dirty
        self.ims.isDirty.connect(checkAllDirty)
        self.ims.setDirty((slice(34, None), slice(12, 34)))
        self.ims.isDirty.disconnect(checkAllDirty)

        # dirty subrect
        self.ims.isDirty.connect(checkDirtyRect)
        self.ims.setDirty((slice(34, 37), slice(12, 34)))
        self.ims.isDirty.disconnect(checkDirtyRect)