bundles / scipy 1.17.1 / scipy / ndimage / _fourier / fourier_ellipsoid
function
scipy.ndimage._fourier:fourier_ellipsoid
source: /scipy/ndimage/_fourier.py :186
Signature
def fourier_ellipsoid ( input , size , n = -1 , axis = -1 , output = None ) Summary
Multidimensional ellipsoid Fourier filter.
Extended Summary
The array is multiplied with the fourier transform of an ellipsoid of given sizes.
Parameters
input: array_likeThe input array.
size: float or sequenceThe size of the box used for filtering. If a float,
sizeis the same for all axes. If a sequence,sizehas to contain one value for each axis.n: int, optionalIf
nis negative (default), then the input is assumed to be the result of a complex fft. Ifnis larger than or equal to zero, the input is assumed to be the result of a real fft, andngives the length of the array before transformation along the real transform direction.axis: int, optionalThe axis of the real transform.
output: ndarray, optionalIf given, the result of filtering the input is placed in this array.
Returns
fourier_ellipsoid: ndarrayThe filtered input.
Notes
This function is implemented for arrays of rank 1, 2, or 3.
Array API Standard Support
fourier_ellipsoid has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ✅ PyTorch ✅ ⛔ JAX ⚠️ no JIT ⛔ Dask ⚠️ computes graph n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
from scipy import ndimage, datasets import numpy.fft import matplotlib.pyplot as plt fig, (ax1, ax2) = plt.subplots(1, 2) plt.gray() # show the filtered result in grayscale✓
ascent = datasets.ascent() input_ = numpy.fft.fft2(ascent) result = ndimage.fourier_ellipsoid(input_, size=20) result = numpy.fft.ifft2(result) ax1.imshow(ascent) ax2.imshow(result.real) # the imaginary part is an artifact⚠
plt.show()
✓
Aliases
-
scipy.ndimage.fourier_ellipsoid