fft
fft
¶
FFT-based convolution for uniform time grids.
This module provides FFT-based convolution operations that are efficient for large datasets with uniform time sampling. GPU-compatible using the array module pattern.
Includes batch operations optimized for processing many voxels simultaneously (e.g., convolving a single AIF with many IRFs).
References
- scipy.signal.fftconvolve documentation
- Sourbron & Buckley (2013). Classic models for dynamic contrast-enhanced MRI.
NMR in Biomedicine, 26(8), 1004-1027.
convolve_aif
¶
Convolve AIF with impulse response function(s) using FFT.
Computes the tissue concentration C(t) from the convolution of the arterial input function (AIF) with the impulse response function (IRF):
C(t) = AIF(t) * IRF(t) * dt
Handles both single-voxel and batch cases via broadcasting: a 1-D AIF is automatically broadcast against a 2-D IRF matrix.
| PARAMETER | DESCRIPTION |
|---|---|
aif
|
Arterial input function, shape
TYPE:
|
impulse_response
|
Impulse response function, shape
TYPE:
|
dt
|
Time step in seconds. Default is 1.0.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
NDArray
|
Convolution result. Shape matches the broadcast of aif and impulse_response along the time axis. |
Notes
Uses FFT-based convolution which is O(n log n) and highly parallelizable on GPU. The result is truncated to the same length as the input (causal convolution).