Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1""" 

2============================================== 

3Discrete Fourier transforms (:mod:`scipy.fft`) 

4============================================== 

5 

6.. currentmodule:: scipy.fft 

7 

8Fast Fourier Transforms (FFTs) 

9============================== 

10 

11.. autosummary:: 

12 :toctree: generated/ 

13 

14 fft - Fast (discrete) Fourier Transform (FFT) 

15 ifft - Inverse FFT 

16 fft2 - 2-D FFT 

17 ifft2 - 2-D inverse FFT 

18 fftn - N-D FFT 

19 ifftn - N-D inverse FFT 

20 rfft - FFT of strictly real-valued sequence 

21 irfft - Inverse of rfft 

22 rfft2 - 2-D FFT of real sequence 

23 irfft2 - Inverse of rfft2 

24 rfftn - N-D FFT of real sequence 

25 irfftn - Inverse of rfftn 

26 hfft - FFT of a Hermitian sequence (real spectrum) 

27 ihfft - Inverse of hfft 

28 hfft2 - 2-D FFT of a Hermitian sequence 

29 ihfft2 - Inverse of hfft2 

30 hfftn - N-D FFT of a Hermitian sequence 

31 ihfftn - Inverse of hfftn 

32 

33Discrete Sin and Cosine Transforms (DST and DCT) 

34================================================ 

35.. autosummary:: 

36 :toctree: generated/ 

37 

38 dct - Discrete cosine transform 

39 idct - Inverse discrete cosine transform 

40 dctn - N-D Discrete cosine transform 

41 idctn - N-D Inverse discrete cosine transform 

42 dst - Discrete sine transform 

43 idst - Inverse discrete sine transform 

44 dstn - N-D Discrete sine transform 

45 idstn - N-D Inverse discrete sine transform 

46 

47Helper functions 

48================ 

49 

50.. autosummary:: 

51 :toctree: generated/ 

52 

53 fftshift - Shift the zero-frequency component to the center of the spectrum 

54 ifftshift - The inverse of `fftshift` 

55 fftfreq - Return the Discrete Fourier Transform sample frequencies 

56 rfftfreq - DFT sample frequencies (for usage with rfft, irfft) 

57 next_fast_len - Find the optimal length to zero-pad an FFT for speed 

58 set_workers - Context manager to set default number of workers 

59 get_workers - Get the current default number of workers 

60 

61Backend control 

62=============== 

63 

64.. autosummary:: 

65 :toctree: generated/ 

66 

67 set_backend - Context manager to set the backend within a fixed scope 

68 skip_backend - Context manager to skip a backend within a fixed scope 

69 set_global_backend - Sets the global fft backend 

70 register_backend - Register a backend for permanent use 

71 

72""" 

73 

74from ._basic import ( 

75 fft, ifft, fft2, ifft2, fftn, ifftn, 

76 rfft, irfft, rfft2, irfft2, rfftn, irfftn, 

77 hfft, ihfft, hfft2, ihfft2, hfftn, ihfftn) 

78from ._realtransforms import dct, idct, dst, idst, dctn, idctn, dstn, idstn 

79from ._helper import next_fast_len 

80from ._backend import (set_backend, skip_backend, set_global_backend, 

81 register_backend) 

82from numpy.fft import fftfreq, rfftfreq, fftshift, ifftshift 

83from ._pocketfft.helper import set_workers, get_workers 

84 

85__all__ = [ 

86 'fft', 'ifft', 'fft2','ifft2', 'fftn', 'ifftn', 

87 'rfft', 'irfft', 'rfft2', 'irfft2', 'rfftn', 'irfftn', 

88 'hfft', 'ihfft', 'hfft2', 'ihfft2', 'hfftn', 'ihfftn', 

89 'fftfreq', 'rfftfreq', 'fftshift', 'ifftshift', 

90 'next_fast_len', 

91 'dct', 'idct', 'dst', 'idst', 'dctn', 'idctn', 'dstn', 'idstn', 

92 'set_backend', 'skip_backend', 'set_global_backend', 'register_backend', 

93 'get_workers', 'set_workers'] 

94 

95 

96from scipy._lib._testutils import PytestTester 

97test = PytestTester(__name__) 

98del PytestTester 

99 

100 

101# Hack to allow numpy.fft.fft to be called as scipy.fft 

102import sys 

103class _FFTModule(sys.modules[__name__].__class__): 

104 @staticmethod 

105 def __call__(*args, **kwargs): 

106 from scipy import _dep_fft 

107 return _dep_fft(*args, **kwargs) 

108 

109 

110import os 

111if os.environ.get('_SCIPY_BUILDING_DOC') != 'True': 

112 sys.modules[__name__].__class__ = _FFTModule 

113del os 

114del _FFTModule 

115del sys