class RGBAImageSourceTest( ut.TestCase ): def setUp( self ): import numpy as np import os.path from volumina import _testing basedir = os.path.dirname(_testing.__file__) self.data = np.load(os.path.join(basedir, 'rgba129x104.npy')) self.red = _ArraySource2d(self.data[:,:,0]) self.green = _ArraySource2d(self.data[:,:,1]) self.blue = _ArraySource2d(self.data[:,:,2]) self.alpha = _ArraySource2d(self.data[:,:,3]) self.ims_rgba = RGBAImageSource( self.red, self.green, self.blue, self.alpha, RGBALayer( self.red, self.green, self.blue, self.alpha) ) self.ims_rgb = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue) ) self.ims_rg = RGBAImageSource( self.red, self.green, ConstantSource(), ConstantSource(), RGBALayer(self.red, self.green ) ) self.ims_ba = RGBAImageSource( red = ConstantSource(), green = ConstantSource(), blue = self.blue, alpha = self.alpha, layer = RGBALayer( blue = self.blue, alpha = self.alpha ) ) self.ims_a = RGBAImageSource( red = ConstantSource(), green = ConstantSource(), blue = ConstantSource(), alpha = self.alpha, layer = RGBALayer( alpha = self.alpha ) ) self.ims_none = RGBAImageSource( ConstantSource(),ConstantSource(),ConstantSource(),ConstantSource(), RGBALayer()) def testRgba( self ): img = self.ims_rgba.request(QRect(0,0,129,104)).wait() #img.save('rgba.tif') def testRgb( self ): img = self.ims_rgb.request(QRect(0,0,129,104)).wait() #img.save('rgb.tif') def testRg( self ): img = self.ims_rg.request(QRect(0,0,129,104)).wait() #img.save('rg.tif') def testBa( self ): img = self.ims_ba.request(QRect(0,0,129,104)).wait() #img.save('ba.tif') def testA( self ): img = self.ims_a.request(QRect(0,0,129,104)).wait() #img.save('a.tif') def testNone( self ): img = self.ims_none.request(QRect(0,0,129,104)).wait() #img.save('none.tif') def testOpaqueness( self ): ims_opaque = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue, alpha_missing_value = 255), guarantees_opaqueness = True ) self.assertTrue( ims_opaque.isOpaque() ) ims_notopaque = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue, alpha_missing_value = 100) ) self.assertFalse( ims_notopaque.isOpaque() )
class RGBAImageSourceTest( ImageSourcesTestBase ): def setUp( self ): super( RGBAImageSourceTest, self ).setUp() basedir = os.path.dirname(volumina._testing.__file__) self.data = numpy.load(os.path.join(basedir, 'rgba129x104.npy')) self.red = _ArraySource2d(self.data[:,:,0]) self.green = _ArraySource2d(self.data[:,:,1]) self.blue = _ArraySource2d(self.data[:,:,2]) self.alpha = _ArraySource2d(self.data[:,:,3]) self.ims_rgba = RGBAImageSource( self.red, self.green, self.blue, self.alpha, RGBALayer( self.red, self.green, self.blue, self.alpha) ) self.ims_rgb = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue) ) self.ims_rg = RGBAImageSource( self.red, self.green, ConstantSource(), ConstantSource(), RGBALayer(self.red, self.green ) ) self.ims_ba = RGBAImageSource( red = ConstantSource(), green = ConstantSource(), blue = self.blue, alpha = self.alpha, layer = RGBALayer( blue = self.blue, alpha = self.alpha ) ) self.ims_a = RGBAImageSource( red = ConstantSource(), green = ConstantSource(), blue = ConstantSource(), alpha = self.alpha, layer = RGBALayer( alpha = self.alpha ) ) self.ims_none = RGBAImageSource( ConstantSource(),ConstantSource(),ConstantSource(),ConstantSource(), RGBALayer()) def testRgba( self ): img = self.ims_rgba.request(QRect(0,0,104,129)).wait() #img.save('rgba.tif') def testRgb( self ): img = self.ims_rgb.request(QRect(0,0,104,129)).wait() #img.save('rgb.tif') def testRg( self ): img = self.ims_rg.request(QRect(0,0,104,129)).wait() #img.save('rg.tif') def testBa( self ): img = self.ims_ba.request(QRect(0,0,104,129)).wait() #img.save('ba.tif') def testA( self ): img = self.ims_a.request(QRect(0,0,104,129)).wait() #img.save('a.tif') def testNone( self ): img = self.ims_none.request(QRect(0,0,104,129)).wait() #img.save('none.tif') def testOpaqueness( self ): ims_opaque = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue, alpha_missing_value = 255), guarantees_opaqueness = True ) self.assertTrue( ims_opaque.isOpaque() ) ims_notopaque = RGBAImageSource( self.red, self.green, self.blue, ConstantSource(), RGBALayer(self.red, self.green, self.blue, alpha_missing_value = 100) ) self.assertFalse( ims_notopaque.isOpaque() )