DiscreteFourierTransformBase
- class odl.trafos.fourier.fourier.DiscreteFourierTransformBase(*args, **kwargs)[source]
Bases:
OperatorBase class for discrete fourier transform classes.
- __init__(inverse, domain, range=None, axes=None, sign='-', halfcomplex=False, impl=None)[source]
Initialize a new instance.
All parameters are given according to the specifics of the forward transform. The
inverseparameter is used to control conversions for the inverse transform.Parameters
- inversebool
If
True, the inverse transform is created, otherwise the forward transform.- domain
DiscretizedSpace Domain of the Fourier transform. If its
DiscretizedSpace.exponentis equal to 2.0, this operator has an adjoint which is equal to the inverse.- range
DiscretizedSpace, optional Range of the Fourier transform. If not given, the range is determined from
domainand the other parameters as auniform_discrwith exponent unit cell size and exponentp / (p - 1)(read as ‘inf’ for p=1 and 1 for p=’inf’).- axesint or sequence of ints, optional
Dimensions in which a transform is to be calculated.
Nonemeans all axes.- sign{‘-’, ‘+’}, optional
Sign of the complex exponent.
- halfcomplexbool, optional
If
True, calculate only the negative frequency part along the last axis inaxesfor real input. This reduces the size of the range tofloor(N[i]/2) + 1in this axisi, whereNis the shape of the input arrays. Otherwise, calculate the full complex FFT. Ifdom_dtypeis a complex type, this option has no effect.- impl{‘numpy’, ‘pyfftw’,
None}, optional Backend for the FFT implementation. The ‘pyfftw’ backend is faster but requires the
pyfftwpackage.Noneselects the fastest available backend.