Pythonic API for a subset of the Intel Integrated Performance Primitives (Intel IPP) library
Project description
************************************************
:mod:`motmot.FastImage` -- SIMD image processing
************************************************
.. module:: motmot.FastImage.FastImage
:synopsis: SIMD image processing
.. index::
module: FastImage
single: FastImage
Description
===========
FastImage implements low-level image processing operations designed to
operate very quickly by using SIMD instructions. This is achieved by
calling the Intel IPP library. A bridge to numpy is made through the
`array interface`__.
__ http://docs.scipy.org/doc/numpy/reference/arrays.interface.html
Allocation of aligned memory
============================
For the SIMD instructions to perform at maximal speed, images must be
aligned on 32-byte boundaries. FastImage relies on the underlying
image processing library to allocate the memory, trusting that it
knows best::
import motmot.FastImage.FastImage as FastImage
import numpy as np
# Allocate the image
fi_im1 = FastImage.FastImage8u( FastImage.Size(4,5) ) # width, height
# Get a numpy view
im1 = np.asarray( fi_im1 )
assert im1.shape == (5,4) # height, width
In the above example, im1.strides will be (32,1), indicating that each
row is aligned on a 32 byte boundary.
:mod:`motmot.FastImage` -- SIMD image processing
************************************************
.. module:: motmot.FastImage.FastImage
:synopsis: SIMD image processing
.. index::
module: FastImage
single: FastImage
Description
===========
FastImage implements low-level image processing operations designed to
operate very quickly by using SIMD instructions. This is achieved by
calling the Intel IPP library. A bridge to numpy is made through the
`array interface`__.
__ http://docs.scipy.org/doc/numpy/reference/arrays.interface.html
Allocation of aligned memory
============================
For the SIMD instructions to perform at maximal speed, images must be
aligned on 32-byte boundaries. FastImage relies on the underlying
image processing library to allocate the memory, trusting that it
knows best::
import motmot.FastImage.FastImage as FastImage
import numpy as np
# Allocate the image
fi_im1 = FastImage.FastImage8u( FastImage.Size(4,5) ) # width, height
# Get a numpy view
im1 = np.asarray( fi_im1 )
assert im1.shape == (5,4) # height, width
In the above example, im1.strides will be (32,1), indicating that each
row is aligned on a 32 byte boundary.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Close
Hashes for motmot.FastImage_ipp-0.5.5.ipp.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff44b67a143cf25653a44c6ff8cded7d183d61f7502ece1bbbb182b694c8bef2 |
|
MD5 | 7d6d8c10da42440ac3d6fa0a12f11aa5 |
|
BLAKE2b-256 | ac2dafeca6433cf164c7aa4ac60f595c8c4736a037b5e0c23a7b5566e19ec53b |
Close
Hashes for motmot.FastImage_ipp-0.5.5.ipp.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72001f8eb8addaf02b81f3fbad2824bd5e1c367332ca21e6fc816f8d51871306 |
|
MD5 | 112fc1e2c9ea7d23bb1486fd0d9ce504 |
|
BLAKE2b-256 | d6ba843592c52c0b2c816af8fa8ae4d1eb0737aba5fc83220485e70796bffc11 |