This project explores how C++17 and OpenMP can be combined to write a surprisingly compact implementation of n-dimensional parallel affine transformations which are linked into Python via the affine_transform module.
While this project is still under development, the following features are supported:
Linear and cubic (without prefiltering) interpolation
Constant boundaries
Compiling code for arbitrarily dimensional data
Parallelism via OpenMP
Short example usage
import numpy as np
from affine_transform import transform
from mgen import rotation_from_angle
import matplotlib.pyplot as plt
# Create a simple white square in an image
original = np.zeros((601, 401))
original[100:300, 100:300] = 1
# Rotate by 22.5° (around the centre of the square (200,200))
# and shift +200 in x and +100 in y
transformed = transform(
original, rotation_from_angle(np.pi / 8), np.array([200, 100]), origin=(200, 200)
)
Metadata
Release files for affine-transform 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| affine_transform-0.2.0.tar.gz | 5.3 kB | Details |
Release files / affine_transform-0.2.0.tar.gz
| Download URL | affine_transform-0.2.0.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
424a2cdd43989948d677571ee19669a6bbcedcc52a8dc6ea7fe720f9a8ee96c6
|
|
BLAKE2b-256 checksum How to use checksums |
26e69f071482621b917a5a61053489629905ca08465d6f8b9c0fce7fed2af1f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.1
|