conv3d_fft#
- class deepinv.physics.functional.conv3d_fft(x: Tensor, filter: Tensor, real_fft: bool = True, padding: str = 'valid')[source]#
Bases:
A helper function performing the 3d convolution of
x
and filter using FFT. The adjoint of this operation isdeepinv.physics.functional.conv_transpose3d_fft()
.If
b = 1
orc = 1
, this function applies the same filter for each channel. Otherwise, each channel of each image is convolved with the corresponding kernel.Padding conditions include
'circular'
and'valid'
.- Parameters:
y (torch.Tensor) – Image of size
(B, C, D, H, W)
.filter (torch.Tensor) – Filter of size
(b, c, d, h, w)
whereb
can be either1
orB
andc
can be either1
orC
.real_fft (bool) – for real filters and images choose True (default) to accelerate computation
padding (str) – can be
'valid'
(default) or'circular'
Note
The filter center is located at
(d//2, h//2, w//2)
.- Returns:
torch.Tensor : the output of the convolution, which has the same shape as :math:
x
ifpadding = 'circular'
,(B, C, D-d+1, W-w+1, H-h+1)
ifpadding = 'valid'