Beispiel #1
0
def test_read_write_image():
    """Test reading and writing of images"""
    fname = op.join(temp_dir, 'out.png')
    im1 = crate()
    imsave(fname, im1, format='png')
    im2 = imread(fname)
    assert_allclose(im1, im2)
def test_read_write_image():
    """Test reading and writing of images"""
    fname = op.join(temp_dir, 'out.png')
    im1 = crate()
    imsave(fname, im1, format='png')
    im2 = imread(fname)
    assert_allclose(im1, im2)
Beispiel #3
0
def test_read_write_image():
    """Test reading and writing of images"""
    fname = op.join(temp_dir, 'out.png')
    im1 = crate()
    imsave(fname, im1, format='png')
    with warnings.catch_warnings(record=True):  # PIL unclosed file
        im2 = imread(fname)
    assert_allclose(im1, im2)
Beispiel #4
0
 def _images_thumbnails(self):
     from vispy.util.dataio import imsave, imread
     from skimage.transform import resize
     import numpy as np
     gallery_dir = os.path.join(IMAGES_DIR, 'gallery')
     thumbs_dir = os.path.join(IMAGES_DIR, 'thumbs')
     for fname in os.listdir(gallery_dir):
         filename1 = os.path.join(gallery_dir, fname)
         filename2 = os.path.join(thumbs_dir, fname)
         #
         im = imread(filename1)
         newx = 200
         newy = int( newx * im.shape[0] / im.shape[1])
         im = (resize(im, (newy, newx), 2)*255).astype(np.uint8)
         imsave(filename2, im)
         print('Created thumbnail %s' % fname)
Beispiel #5
0
 def _images_screenshots(self):
     # Prepare
     import imp
     from vispy.util.dataio import imsave, _screenshot
     examples_dir = os.path.join(ROOT_DIR, 'examples')
     gallery_dir = os.path.join(IMAGES_DIR, 'gallery')
     
     # Process all files ...
     for filename, name in get_example_filenames(examples_dir):
         name = name.replace('/', '__')  # We use flat names
         imagefilename = os.path.join(gallery_dir, name+'.png')
         
         # Check if should make a screenshot
         frames = []
         lines = open(filename, 'rt').read().splitlines()
         for line in lines[:10]:
             if line.startswith('# vispy:') and 'gallery' in line:
                 # Get what frames to grab
                 frames = line.split('gallery')[1].strip()
                 frames = frames or '0'
                 frames = [int(i) for i in frames.split(':')]
                 if not frames:
                     frames = [0]
                 if len(frames)>1:
                     frames = list(range(*frames))
                 break
         else:
             continue  # gallery hint not found
         
         # Check if we need to take a sceenshot
         if os.path.isfile(imagefilename):
             print('Screenshot for %s already present (skip).' % name)
             continue
         
         # Import module and prepare
         m = imp.load_source('vispy_example_'+name, filename)
         m.done = False
         m.frame = -1
         m.images = []
         
         # Create a canvas and grab a screenshot
         def grabscreenshot(event):
             if m.done: return  # Grab only once
             m.frame += 1
             if m.frame in frames:
                 frames.remove(m.frame)
                 print('Grabbing a screenshot for %s' % name)
                 im = _screenshot((0, 0, c.size[0], c.size[1]))
                 m.images.append(im)
             if not frames:
                 m.done = True
         c = m.Canvas()
         c.events.paint.connect(grabscreenshot)
         c.show()
         while not m.done:
             m.app.process_events()
         c.close()
         
         # Save
         imsave(imagefilename, m.images[0])  # Alwats show one image
         if len(m.images) > 1:
             import imageio  # multiple gif not properly supported yet
             imageio.mimsave(imagefilename[:-3]+'.gif', m.images)