Mercurial > pylearn
view image_tools.py @ 484:3daabc7f94ff
Added Yoshua's explanation
author | Joseph Turian <turian@gmail.com> |
---|---|
date | Tue, 28 Oct 2008 01:33:27 -0400 |
parents | d7ed780364b3 |
children |
line wrap: on
line source
import numpy def make_weights_image(mat, xres, yres, i, j, nrow, ncol): """ Displays the filters implemented by a weight matrix. Each filter corresponds to a row of mat and will be represented by a xres*yres image. Units from i to j will be included in the picture. The picture will have nrow rows of filters and ncol columns of filters. Unused spots for filters will be filled with zeros. The return value is a matrix suitable for display with matplotlib's imshow. """ assert j > i n = j - i result = numpy.zeros((ncol * xres, nrow * yres)) submat = mat[i:j] for k, row in enumerate(submat): x = (k % ncol)*xres y = (k / ncol)*yres entry = row.reshape((xres, yres)) lmin, lmax = numpy.min(entry), numpy.max(entry) ldiff = lmax - lmin #entry = (entry - lmin) / ldiff result[x:x + xres, y:y + yres] = entry return result.T