Example #1
0
    def test_h5py_raw_to_rgba_pyramid(self):
        image = ds.H5PyDatasetImage(self.dataset, tile_size=(270, 270))
        pyramid = image.create_pyramid()
        pyramid = pyramid.apply(lambda image: ColorMappedRgbaImage(
            image,
            value_range=(0.0, 2.0),
            no_data_value=self.dataset.fillvalue))
        self.assertEqual((270, 270), pyramid.tile_size)
        self.assertEqual((2, 1), pyramid.num_level_zero_tiles)
        self.assertEqual(5, pyramid.num_levels)

        level_image = pyramid.get_level_image(0)

        t1 = time.clock()
        tile00 = level_image.get_tile(0, 0)
        tile10 = level_image.get_tile(1, 0)
        t2 = time.clock()
        print("opt RGBA pyramid took: ", t2 - t1)

        t1 = time.clock()
        num_tiles_x, num_tiles_y = image.num_tiles
        for tile_y in range(num_tiles_y):
            for tile_x in range(num_tiles_x):
                tile = image.get_tile(tile_x, tile_y)
        t2 = time.clock()
        print("opt max level tiles took: ", t2 - t1)
Example #2
0
    def test_h5py_rgba_image(self):
        image = ColorMappedRgbaImage(ds.H5PyDatasetImage(self.dataset))
        self.assertEqual('ndarray', image.format)
        self.assertEqual('RGBA', image.mode)
        self.assertEqual((8640, 4320), image.size)
        self.assertEqual((270, 270), image.tile_size)
        self.assertEqual((32, 16), image.num_tiles)

        tile00 = image.get_tile(0, 0)
        self.assertIsNotNone(tile00)
        tileNN = image.get_tile(33, 16)
        self.assertIsNotNone(tileNN)
Example #3
0
    def test_h5py_raw_pyramid(self):
        image = ds.H5PyDatasetImage(self.dataset)
        pyramid = image.create_pyramid()
        self.assertEqual((270, 270), pyramid.tile_size)
        self.assertEqual((2, 1), pyramid.num_level_zero_tiles)
        self.assertEqual(5, pyramid.num_levels)

        level_image = pyramid.get_level_image(0)

        t1 = time.clock()
        tile00 = level_image.get_tile(0, 0)
        tile10 = level_image.get_tile(1, 0)
        t2 = time.clock()
        print("ndarray pyramid took: ", t2 - t1)
Example #4
0
    def test_h5py_raw_image(self):
        image = ds.H5PyDatasetImage(self.dataset)
        self.assertEqual('ndarray', image.format)
        self.assertEqual('float32', image.mode)
        self.assertEqual((8640, 4320), image.size)
        self.assertEqual((270, 270), image.tile_size)
        self.assertEqual((32, 16), image.num_tiles)

        tile00 = image.get_tile(0, 0)
        self.assertIsNotNone(tile00)
        self.assertEqual((1, 270, 270), tile00.shape)
        tileNN = image.get_tile(33, 16)
        self.assertIsNotNone(tileNN)
        self.assertEqual((1, 270, 270), tileNN.shape)
Example #5
0
    def test_h5py_rgba_pyramid(self):
        image = ColorMappedRgbaImage(
            ds.H5PyDatasetImage(self.dataset, tile_size=(270, 270)))
        pyramid = image.create_pyramid()
        self.assertEqual((270, 270), pyramid.tile_size)
        self.assertEqual((2, 1), pyramid.num_level_zero_tiles)
        self.assertEqual(5, pyramid.num_levels)

        level_image = pyramid.get_level_image(0)

        t1 = time.clock()
        tile00 = level_image.get_tile(0, 0)
        tile10 = level_image.get_tile(1, 0)
        t2 = time.clock()
        print("RGBA pyramid took: ", t2 - t1)

        t1 = time.clock()
        num_tiles_x, num_tiles_y = image.num_tiles
        for tile_y in range(num_tiles_y):
            for tile_x in range(num_tiles_x):
                tile = image.get_tile(tile_x, tile_y)
        t2 = time.clock()
        print("max level tiles took: ", t2 - t1)
Example #6
0
import h5py

import ccitbxws.data_sources as ds
import ccitbxws.main as main
from ccitbxws.image import ColorMappedRgbaImage

data_root = main.CONFIG.get('DATA_ROOT', '.')
file_path = os.path.join(
    data_root,
    'ESACCI-OC-L3S-CHLOR_A-MERGED-1M_MONTHLY_4km_GEO_PML_OC4v6-201301-fv2.0.nc'
)
file = h5py.File(file_path, 'r')
dataset = file['chlor_a']

image = ColorMappedRgbaImage(ds.H5PyDatasetImage(dataset,
                                                 tile_size=(270, 270)),
                             value_range=(0.0, 2.0))
num_tiles_x, num_tiles_y = image.num_tiles
dirname = 'chlor_a'
if not os.path.exists(dir):
    os.mkdir(dirname)

t1 = time.clock()
for tile_y in range(num_tiles_y):
    for tile_x in range(num_tiles_x):
        tile = image.get_tile(tile_x, tile_y)
        tile.save(dirname + '/%d_%d.png' % (tile_y, tile_x), format='PNG')
t2 = time.clock()

print("saving RGBA tiles took: ", t2 - t1)