Mercurial > pylearn
changeset 436:d7ed780364b3
image_tools
author | Olivier Breuleux <breuleuo@iro.umontreal.ca> |
---|---|
date | Wed, 06 Aug 2008 19:39:14 -0400 |
parents | eac0a7d44ff0 |
children | 2d8490d76b3e |
files | image_tools.py |
diffstat | 1 files changed, 39 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/image_tools.py Wed Aug 06 19:39:14 2008 -0400 @@ -0,0 +1,39 @@ + +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 + + + + + +