view image_tools.py @ 529:4e3629a894fa

the function compile.eval_outputs was retired. Now use function instead.
author Frederic Bastien <bastienf@iro.umontreal.ca>
date Mon, 17 Nov 2008 14:15:19 -0500
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