Current collected state Current
Observed since 20 Oct, 21:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Easy to use multi-core affine transformations
Affine Transformation: C++17, OpenMP, Python
============================================
|test| |windows_test| |codecov| |rtd| |pypi| |python_vers| |GCC| |license| |codacy| |black|
.. |test| image:: https://github.com/NOhs/mgen/actions/workflows/test.yml/badge.svg
:target: https://github.com/NOhs/mgen/actions/workflows/test.yml
:alt: Test Status
.. |windows_test| image:: https://github.com/NOhs/affine_transform_nd/actions/workflows/test-package-windows.yml/badge.svg
:target: https://github.com/NOhs/affine_transform_nd/actions/workflows/test-package-windows.yml
:alt: Windows Status
.. |codecov| image:: https://codecov.io/gh/NOhs/affine_transform_nd/branch/master/graph/badge.svg
:target: https://codecov.io/gh/NOhs/affine_transform_nd
:alt: Codecov Status
.. |rtd| image:: https://readthedocs.org/projects/affine-transform-nd/badge/?version=latest
:target: https://affine-transform-nd.readthedocs.io/en/latest/?badge=latest
:alt: ReadTheDocs Status
.. |pypi| image:: https://img.shields.io/pypi/v/affine_transform.svg?color=dark%20green
:target: https://pypi.org/project/affine_transform
:alt: PyPI
.. |python_vers| image:: https://img.shields.io/pypi/pyversions/affine_transform
:alt: PyPI - Python Version
.. |GCC| image:: https://img.shields.io/badge/GCC-9%20|%2010%20|%2011%20|%2012-blue
:alt: Compiler Version
.. |license| image:: https://img.shields.io/github/license/NOhs/affine_transform_nd.svg?color=blue
:target: https://opensource.org/licenses/MIT
:alt: license
.. |codacy| image:: https://api.codacy.com/project/badge/Grade/e39c4c5b913d4237b77fa07f679ab521
:target: https://www.codacy.com/app/NOhs/affine_transform_nd?utm_source=github.com&utm_medium=referral&utm_content=NOhs/affine_transform_nd&utm_campaign=Badge_Grade
:alt: code quality
.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/ambv/black
:alt: code style
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
-------------------
.. code-block:: python
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 counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.3 | 20 May 2025 | 5 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:12d25e74e030d97d90d7fa343a05766a48c8b78f2a332cc8beb09a7126eaed44