from __future__ import print_function, absolute_import, division from rgbmatrix import RGBMatrix, RGBMatrixOptions from rgbmatrix import graphics def setup_matrix(**kwargs): o = RGBMatrixOptions() o.chain_length = 4 for k, v in kwargs.iteritems(): setattr(o, k, v) matrix = RGBMatrix(options=o) matrix.Clear() return matrix def scipy_demo(): from PIL import Image import numpy as np from scipy.ndimage.interpolation import rotate from scipy.ndimage.filters import gaussian_filter draw = lambda pixels: matrix.SetImage(Image.fromarray(pixels.swapaxes(0, 1), 'RGB')) pixels = np.zeros(DIM, dtype=np.uint8) pixels[:, :, :] = (np.random.random(DIM) > 0.95) * 255 for i in range(361): smooth = (180 - abs(i - 180)) / 80 draw(gaussian_filter(rotate(pixels, i, order=0), [smooth, smooth, 0]))