Skip to main content

Image augmentation library for Jax

Project description

imax

tests PyPI version Open In Colab

Fast and jittable Image augmentation library for Jax.

sample_images

Installation

pip install imax

Usage

from jax import random
import jax.numpy as jnp
from PIL import Image
from matplotlib import pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid

from imax import transforms, color_transforms, randaugment

# Setup
random_key = random.PRNGKey(0)
random_key, split_key = random.split(random_key)
image = jnp.asarray(Image.open('./test.png').convert('RGBA')).astype('uint8')

# Geometric transforms:
transform = transforms.rotate(rad=0.42)  # create transformation matrix
transformed_image = transforms.apply_transform(image, transform)   # apply transformation

# multiple transformations can be combined through matrix multiplication
# this makes multiple transforms much faster
double_transform = transform @ transform
twice_transformed_image = transforms.apply_transform(image, double_transform)

# Color transforms:
adjusted_image = color_transforms.posterize(image, bits=2)

# Randaugment:
randomized_image = randaugment.distort_image_with_randaugment(
    image,
    num_layers=3,   # number of random augmentations in sequence
    magnitude=10,   # magnitude of random augmentations
    random_key=split_key
)

# Show results:
results = [transformed_image, twice_transformed_image, adjusted_image, randomized_image]
fig = plt.figure(figsize=(10., 10.))
grid = ImageGrid(fig, 111,
                 nrows_ncols=(2, 2),
                 axes_pad=0.1)

for ax, im in zip(grid, results):
    ax.axis('off')
    ax.imshow(im)
plt.show()

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

imax-0.0.1a3.tar.gz (16.1 kB view hashes)

Uploaded Source

Built Distributions

imax-0.0.1a3-py3.8.egg (31.9 kB view hashes)

Uploaded Source

imax-0.0.1a3-py3-none-any.whl (20.2 kB view hashes)

Uploaded 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