view image_tools.py @ 452:739612d316a4

Typo fix in help
author delallea@valhalla.apstat.com
date Mon, 29 Sep 2008 16:04:51 -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