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') with warnings.catch_warnings(record=True): # PIL unclosed file im2 = imread(fname) assert_allclose(im1, im2)
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)
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)