@@ -97,15 +97,15 @@ def _MDC(
9797 real = True ,
9898 ifftshift_before = twosided ,
9999 dtype = rdtype ,
100- ** args_FFT
100+ ** args_FFT ,
101101 )
102102 F1op = _FFT (
103103 dims = (nt , ns , nv ),
104104 axis = 0 ,
105105 real = True ,
106106 ifftshift_before = False ,
107107 dtype = rdtype ,
108- ** args_FFT1
108+ ** args_FFT1 ,
109109 )
110110
111111 # create Identity operator to extract only relevant frequencies
@@ -140,6 +140,7 @@ def MDC(
140140 usematmul : bool = False ,
141141 prescaled : bool = False ,
142142 name : str = "M" ,
143+ ** kwargs_fft ,
143144) -> LinearOperator :
144145 r"""Multi-dimensional convolution.
145146
@@ -188,6 +189,10 @@ def MDC(
188189 .. versionadded:: 2.0.0
189190
190191 Name of operator (to be used by :func:`pylops.utils.describe.describe`)
192+ **kwargs_fft
193+ .. versionadded:: 2.6.0
194+
195+ Arbitrary keyword arguments to be passed to the selected fft method
191196
192197 Raises
193198 ------
@@ -243,8 +248,8 @@ def MDC(
243248 saveGt = saveGt ,
244249 conj = conj ,
245250 prescaled = prescaled ,
246- args_FFT = {"engine" : fftengine },
247- args_FFT1 = {"engine" : fftengine },
251+ args_FFT = {** { "engine" : fftengine }, ** kwargs_fft },
252+ args_FFT1 = {** { "engine" : fftengine }, ** kwargs_fft },
248253 args_Fredholm1 = {"usematmul" : usematmul },
249254 )
250255 MOp .name = name
@@ -267,7 +272,7 @@ def MDD(
267272 add_negative : bool = True ,
268273 smooth_precond : int = 0 ,
269274 fftengine : str = "numpy" ,
270- ** kwargs_solver
275+ ** kwargs_solver ,
271276) -> Union [
272277 Tuple [NDArray , NDArray ],
273278 Tuple [NDArray , NDArray , NDArray ],
@@ -483,7 +488,7 @@ def MDD(
483488 MDCop ,
484489 d .ravel (),
485490 ncp .zeros (int (MDCop .shape [1 ]), dtype = MDCop .dtype ),
486- ** kwargs_solver
491+ ** kwargs_solver ,
487492 )[0 ]
488493 minv = ncp .squeeze (minv .reshape (nt2 , nr , nv ))
489494 minv = ncp .moveaxis (minv , 0 , - 1 )
@@ -502,7 +507,7 @@ def MDD(
502507 PSFop ,
503508 G .ravel (),
504509 ncp .zeros (int (PSFop .shape [1 ]), dtype = PSFop .dtype ),
505- ** kwargs_solver
510+ ** kwargs_solver ,
506511 )[0 ]
507512 psfinv = ncp .squeeze (psfinv .reshape (nt2 , nr , nr ))
508513 psfinv = ncp .moveaxis (psfinv , 0 , - 1 )
0 commit comments