3D convolution in the FFT domain
%% convolution3D_FFTdomain - Performs a fast 3D convolution between a volume and a kernel using mutliplication in the Fourrier space.
%
%Syntax: [outVol] = convolutionInFFTdomain(inVol,inKer)
% Inputs:
% inVol - input volume (real / complex)
% inKer - input kernel (real / complex)
% Outputs:
% outVol - output convolved volume (real / complex) - precision of the output format is the same as the input
% volume. The output volume is the central part of the convolution with same size as inVol.
% size(outVol)=size(inVol) ('same' option of convn).
It is a specialized version of http://www.mathworks.com/matlabcentral/fileexchange/24504 to 3D convolution between volume and kernel (small).
Gives faster results for small volumes (<128x128x128, kernel 20x20x20), and of coure much faster than convn (x300).
Cite As
Christopher Coello (2024). 3D convolution in the FFT domain (https://www.mathworks.com/matlabcentral/fileexchange/35613-3d-convolution-in-the-fft-domain), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.