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
Arbitrary shaped output arrays, allowing e.g. to only extract a transformed slice
Short example usage
import numpy as np
from affine_transform import transform
from mgen import rotation_from_angle
# 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)
)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file affine_transform-0.3.3.tar.gz.
File metadata
- Download URL: affine_transform-0.3.3.tar.gz
- Upload date:
- Size: 50.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b2ac2e40d8f83f72859548ee64ab91cbfc658ea96a0f3690960d31d21f7d5b5
|
|
| MD5 |
a14421a780b75cd2bf8783f93162786c
|
|
| BLAKE2b-256 |
ba6e9dad6ceba853296aa414046d51059e333085f94a573e5531700a76bf8d96
|
Provenance
The following attestation bundles were made for affine_transform-0.3.3.tar.gz:
Publisher:
deploy.yml on NOhs/affine_transform_nd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
affine_transform-0.3.3.tar.gz -
Subject digest:
4b2ac2e40d8f83f72859548ee64ab91cbfc658ea96a0f3690960d31d21f7d5b5 - Sigstore transparency entry: 216063074
- Sigstore integration time:
-
Permalink:
NOhs/affine_transform_nd@e7f7a55c540f2ce100e6ca08b854df281362c14f -
Branch / Tag:
refs/tags/0.3.3 - Owner: https://github.com/NOhs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@e7f7a55c540f2ce100e6ca08b854df281362c14f -
Trigger Event:
push
-
Statement type: