scidart / scidart_examples

SciDart examples
Apache License 2.0
7 stars 0 forks source link

FFT for 2d array #8

Open Mike-3 opened 2 years ago

Mike-3 commented 2 years ago

Is there an equivalent for the Python FFt function fftconvolve(in1, in2) from the scipy library? I need this for 2 equal sized 2D arrays. Unfortunately I couldn't find anything suitable.

Here is the function description from the Python library

"""Convolve two N-dimensional arrays using FFT.

Convolve `in1` and `in2` using the fast Fourier transform method, with
the output size determined by the `mode` argument.

This is generally much faster than `convolve` for large arrays (n > ~500),
but can be slower when only a few output values are needed, and can only
output float arrays (int or object array inputs will be cast to float).

As of v0.19, `convolve` automatically chooses this method or the direct
method based on an estimation of which is faster.

Parameters
----------
in1 : array_like
    First input.
in2 : array_like
    Second input. Should have the same number of dimensions as `in1`.

Returns
-------
out : array
    An N-dimensional array containing a subset of the discrete linear
    convolution of `in1` with `in2`.
Mike-3 commented 2 years ago

If there was such a function for each individual line, would the same result have to come out?

polotto commented 2 years ago

Unfortunately, there is no 2D convolution on SciDart yet. I don't when I'll have time to implement it.