#!/usr/local/bin/python from eigenlib import * import re # usage: progressive.py eigs-dir picture.gif # produces p-name00.gif .... p-nameXX.gif fs = FaceSpace(sys.argv[1]) orig_im_face = fs.image_to_vector(sys.argv[2]) noim = norm(orig_im_face) fs_face = fs.project_to_face_space(orig_im_face) name_finder = re.compile('([\w]+)\.') name = name_finder.search(sys.argv[2]).group(1) for k in range(1, fs.M_prime): im_face = fs.lift_to_image_space(fs_face, k) fs.vector_to_image(im_face, 'p-%s-%02d.gif' % (name, k)) print '%2d: %1.03f' % (k, norm(im_face - orig_im_face) / noim)