Skip to main content

Write a (list of) NumPy array(s) to an (animated) GIF.

Project description

Animation of random pixels converging from two colors to one color. T = 0.7 T_c. T = 0.7 T_c

Animation of random pixels converging less slowly to one color. T = 0.88 T_c. T = 0.88 T_c

Animation of random pixels staying mostly random. T = 1.06 T_c. T = 1.06 T_c

These are animated GIFs showing a Monte Carlo simulation to obtain a distribution of equilibrium magnetization, using the Ising model, at various dimensionless temperatures relative to the Curie temperature. It explores the interplay between the magnetic coupling force between atoms, and the randomness from the temperature.

Array2GIF provides a single top-level function, write_gif(), to write a 3-D NumPy array to a GIF, or a list of these arrays to an animated GIF.

It is currently in alpha stage, with no attempt at optimization for speed, but it works great for me – just small animations of thermodynamics simulations, like the magnetization in the Ising model shown here.

Usage

Here is an example for a 2 pixel by 3 pixel animated GIF with two frames, switching 5 frames per second. All animations from this library will loop indefinitely.

import numpy as np
from array2gif import write_gif

dataset = [
    np.array([
        [[255, 0, 0], [255, 0, 0]],  # red intensities
        [[0, 255, 0], [0, 255, 0]],  # green intensities
        [[0, 0, 255], [0, 0, 255]]   # blue intensities
    ]),
    np.array([
        [[0, 0, 255], [0, 0, 255]],
        [[0, 255, 0], [0, 255, 0]],
        [[255, 0, 0], [255, 0, 0]]
    ])
]
write_gif(dataset, 'rgbbgr.gif', fps=5)

# or for just a still GIF
write_gif(dataset[0], 'rgb.gif')

Installation

Either:

pip install array2gif

or:

pip install git+https://github.com/tanyaschlusser/array2gif.git#egg=array2gif

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

array2gif-0.1.0b1.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

array2gif-0.1.0b1-py2.py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page