def test_concurrency(self): concurrency = 42 vips = LibVips() self.assertRaises(ValueError, vips.set_concurrency, processes=1.1) self.assertRaises(ValueError, vips.set_concurrency, processes=-1) self.assertEqual(vips.set_concurrency(processes=concurrency), None) self.assertEqual(vips.get_concurrency(), concurrency)
def test_align_to_grid(self): with LibVips.disable_warnings(): # bluemarble.tif is a 1024 × 1024 whole-world map. dataset = VipsDataset(inputfile=self.inputfile) dataset.align_to_grid() self.assertEqual(dataset.image.width, 1024) self.assertEqual(dataset.image.height, 1024) self.assertEqual(dataset.RasterXSize, 1024) self.assertEqual(dataset.RasterYSize, 1024) self.assertExtentsEqual(dataset.GetExtents(), dataset.GetTiledExtents()) # bluemarble-foreign.tif is a 500 × 250 whole-world map. dataset = VipsDataset(inputfile=self.foreignfile) dataset.align_to_grid() self.assertEqual(dataset.image.width, 512) self.assertEqual(dataset.image.height, 512) self.assertEqual(dataset.RasterXSize, 512) self.assertEqual(dataset.RasterYSize, 512) self.assertEqual(dataset.GetExtents(), dataset.GetTiledExtents()) # bluemarble-spanning-foreign.tif is a 154 × 154 whole-world map. dataset = VipsDataset(inputfile=self.spanningforeignfile) dataset.align_to_grid() self.assertEqual(dataset.image.width, 256) self.assertEqual(dataset.image.height, 256) self.assertEqual(dataset.RasterXSize, 256) self.assertEqual(dataset.RasterYSize, 256) self.assertExtentsEqual(dataset.GetExtents(), dataset.GetTiledExtents()) # The upper-left corner should be transparent data = numpy.frombuffer(dataset.image.write_to_memory(), dtype=numpy.uint8) self.assertEqual(tuple(data[0:4]), rgba(0, 0, 0, 0))
def test_readasarray(self): with LibVips.disable_warnings(): vips_ds = VipsDataset(inputfile=self.upsamplingfile) gdal_ds = Dataset(inputfile=self.upsamplingfile) # Reading the whole file self.assertEqual( vips_ds.ReadAsArray(xoff=0, yoff=0).all(), gdal_ds.ReadAsArray(xoff=0, yoff=0).all()) # Reading from an offset vips_data = vips_ds.ReadAsArray(xoff=128, yoff=128) gdal_data = gdal_ds.ReadAsArray(xoff=128, yoff=128, xsize=128, ysize=128) self.assertEqual(vips_data.all(), gdal_data.all()) vips_blue = vips_ds.GetRasterBand(3) gdal_blue = gdal_ds.GetRasterBand(3) # Reading the whole band self.assertEqual( vips_blue.ReadAsArray(xoff=0, yoff=0).all(), gdal_blue.ReadAsArray(xoff=0, yoff=0).all()) # Reading from an offset vips_band_data = vips_blue.ReadAsArray(xoff=128, yoff=128) gdal_band_data = gdal_blue.ReadAsArray(xoff=128, yoff=128, win_xsize=128, win_ysize=128) self.assertEqual(vips_band_data.all(), gdal_band_data.all()) # Test for errors self.assertRaises(ValueError, vips_ds.ReadAsArray, xoff=0, yoff=0, buf_obj=[]) self.assertRaises(ValueError, vips_blue.ReadAsArray, xoff=0, yoff=0, buf_xsize=1, buf_ysize=1)
def test_readasarray(self): with LibVips.disable_warnings(): vips_ds = VipsDataset(inputfile=self.upsamplingfile) gdal_ds = Dataset(inputfile=self.upsamplingfile) # Reading the whole file self.assertEqual( vips_ds.ReadAsArray(xoff=0, yoff=0).all(), gdal_ds.ReadAsArray(xoff=0, yoff=0).all() ) # Reading from an offset vips_data = vips_ds.ReadAsArray(xoff=128, yoff=128) gdal_data = gdal_ds.ReadAsArray( xoff=128, yoff=128, xsize=128, ysize=128 ) self.assertEqual(vips_data.all(), gdal_data.all()) vips_blue = vips_ds.GetRasterBand(3) gdal_blue = gdal_ds.GetRasterBand(3) # Reading the whole band self.assertEqual( vips_blue.ReadAsArray(xoff=0, yoff=0).all(), gdal_blue.ReadAsArray(xoff=0, yoff=0).all() ) # Reading from an offset vips_band_data = vips_blue.ReadAsArray(xoff=128, yoff=128) gdal_band_data = gdal_blue.ReadAsArray( xoff=128, yoff=128, win_xsize=128, win_ysize=128 ) self.assertEqual(vips_band_data.all(), gdal_band_data.all()) # Test for errors self.assertRaises( ValueError, vips_ds.ReadAsArray, xoff=0, yoff=0, buf_obj=[] ) self.assertRaises( ValueError, vips_blue.ReadAsArray, xoff=0, yoff=0, buf_xsize=1, buf_ysize=1 )
def test_create(self): self.assertTrue(LibVips()) self.assertRaises(OSError, LibVips, version=999)