Python numpy.fft.fftshift() Examples
The following are 30 code examples for showing how to use numpy.fft.fftshift(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
numpy.fft
, or try the search function
.
Example 1
Project: opticspy Author: Sterncat File: zernike.py License: MIT License | 6 votes |
def ptf(self): """ Phase transfer function """ PSF = self.__psfcaculator__() PTF = __fftshift__(__fft2__(PSF)) PTF = __np__.angle(PTF) b = 400 R = (200)**2 for i in range(b): for j in range(b): if (i-b/2)**2+(j-b/2)**2>R: PTF[i][j] = 0 __plt__.imshow(abs(PTF),cmap=__cm__.rainbow) __plt__.colorbar() __plt__.show() return 0
Example 2
Project: aotools Author: AOtools File: phasescreen.py License: GNU Lesser General Public License v3.0 | 6 votes |
def ift2(G, delta_f, FFT=None): """ Wrapper for inverse fourier transform Parameters: G: data to transform delta_f: pixel seperation FFT (FFT object, optional): An accelerated FFT object """ N = G.shape[0] if FFT: g = numpy.fft.fftshift(FFT(numpy.fft.fftshift(G))) * (N * delta_f) ** 2 else: g = fft.ifftshift(fft.ifft2(fft.fftshift(G))) * (N * delta_f) ** 2 return g
Example 3
Project: aitom Author: xulabs File: util.py License: GNU General Public License v3.0 | 6 votes |
def impute_aligned_vols(t, v, vm, normalize=None): assert (normalize is not None) if normalize: v = ((v - v.mean()) / v.std()) if (t is not None): t = ((t - t.mean()) / t.std()) if (t is None): return v t_f = NF.fftshift(NF.fftn(t)) v_f = NF.fftshift(NF.fftn(v)) v_f[(vm == 0)] = t_f[(vm == 0)] v_f_if = N.real(NF.ifftn(NF.ifftshift(v_f))) if normalize: v_f_if = ((v_f_if - v_f_if.mean()) / v_f_if.std()) if N.all(N.isfinite(v_f_if)): return v_f_if else: print('warning: imputation failed') return v
Example 4
Project: aitom Author: xulabs File: aligned_refine.py License: GNU General Public License v3.0 | 6 votes |
def average(dj, mask_count_threshold): vol_sum = None mask_sum = None for d in dj: v = IF.read_mrc_vol(d['subtomogram']) if (not N.all(N.isfinite(v))): raise Exception('error loading', d['subtomogram']) vm = IF.read_mrc_vol(d['mask']) v_r = GR.rotate_pad_mean(v, angle=d['angle'], loc_r=d['loc']) assert N.all(N.isfinite(v_r)) vm_r = GR.rotate_mask(vm, angle=d['angle']) assert N.all(N.isfinite(vm_r)) if (vol_sum is None): vol_sum = N.zeros(v_r.shape, dtype=N.float64, order='F') vol_sum += v_r if (mask_sum is None): mask_sum = N.zeros(vm_r.shape, dtype=N.float64, order='F') mask_sum += vm_r ind = (mask_sum >= mask_count_threshold) vol_sum_fft = NF.fftshift(NF.fftn(vol_sum)) avg = N.zeros(vol_sum_fft.shape, dtype=N.complex) avg[ind] = (vol_sum_fft[ind] / mask_sum[ind]) avg = N.real(NF.ifftn(NF.ifftshift(avg))) return {'v': avg, 'm': (mask_sum / len(dj)), }
Example 5
Project: recruit Author: Frank-qlu File: test_helper.py License: Apache License 2.0 | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 6
Project: recruit Author: Frank-qlu File: test_helper.py License: Apache License 2.0 | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 7
Project: recruit Author: Frank-qlu File: test_helper.py License: Apache License 2.0 | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,))) assert_array_almost_equal(fft.fftshift(freqs), shifted) assert_array_almost_equal(fft.ifftshift(shifted), freqs)
Example 8
Project: lambda-packs Author: ryfeus File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 9
Project: lambda-packs Author: ryfeus File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 10
Project: lambda-packs Author: ryfeus File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,)))
Example 11
Project: auto-alt-text-lambda-api Author: abhisuri97 File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 12
Project: auto-alt-text-lambda-api Author: abhisuri97 File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 13
Project: auto-alt-text-lambda-api Author: abhisuri97 File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,)))
Example 14
Project: vnpy_crypto Author: birforce File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 15
Project: vnpy_crypto Author: birforce File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 16
Project: vnpy_crypto Author: birforce File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,)))
Example 17
Project: Computable Author: ktraunmueller File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 18
Project: Computable Author: ktraunmueller File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 19
Project: Computable Author: ktraunmueller File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[ 0, 1, 2], [ 3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [ 2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,)))
Example 20
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 21
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 22
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,))) assert_array_almost_equal(fft.fftshift(freqs), shifted) assert_array_almost_equal(fft.ifftshift(shifted), freqs)
Example 23
Project: GraphicDesignPatternByPython Author: Relph1119 File: test_helper.py License: MIT License | 5 votes |
def test_definition(self): x = [0, 1, 2, 3, 4, -4, -3, -2, -1] y = [-4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x) x = [0, 1, 2, 3, 4, -5, -4, -3, -2, -1] y = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] assert_array_almost_equal(fft.fftshift(x), y) assert_array_almost_equal(fft.ifftshift(y), x)
Example 24
Project: GraphicDesignPatternByPython Author: Relph1119 File: test_helper.py License: MIT License | 5 votes |
def test_inverse(self): for n in [1, 4, 9, 100, 211]: x = np.random.random((n,)) assert_array_almost_equal(fft.ifftshift(fft.fftshift(x)), x)
Example 25
Project: GraphicDesignPatternByPython Author: Relph1119 File: test_helper.py License: MIT License | 5 votes |
def test_axes_keyword(self): freqs = [[0, 1, 2], [3, 4, -4], [-3, -2, -1]] shifted = [[-1, -3, -2], [2, 0, 1], [-4, 3, 4]] assert_array_almost_equal(fft.fftshift(freqs, axes=(0, 1)), shifted) assert_array_almost_equal(fft.fftshift(freqs, axes=0), fft.fftshift(freqs, axes=(0,))) assert_array_almost_equal(fft.ifftshift(shifted, axes=(0, 1)), freqs) assert_array_almost_equal(fft.ifftshift(shifted, axes=0), fft.ifftshift(shifted, axes=(0,))) assert_array_almost_equal(fft.fftshift(freqs), shifted) assert_array_almost_equal(fft.ifftshift(shifted), freqs)
Example 26
Project: lie_learn Author: AMLab-Amsterdam File: T1FFT.py License: MIT License | 5 votes |
def analyze(f, axis=0): """ Compute the Fourier Transform of the discretely sampled function f : T^1 -> C. Let f : T^1 -> C be a band-limited function on the circle. The samples f(theta_k) correspond to points on a regular grid on the circle, as returned by spaces.T1.linspace: theta_k = 2 pi k / N for k = 0, ..., N - 1 This function computes \hat{f}_n = (1/N) \sum_{k=0}^{N-1} f(theta_k) e^{-i n theta_k} which, if f has band-limit less than N, is equal to: \hat{f}_n = \int_0^{2pi} f(theta) e^{-i n theta} dtheta / 2pi, = <f(theta), e^{i n theta}> where dtheta / 2pi is the normalized Haar measure on T^1, and < , > denotes the inner product on Hilbert space, with respect to which this transform is unitary. The range of frequencies n is -floor(N/2) <= n <= ceil(N/2) - 1 :param f: :param axis: :return: """ # The numpy FFT returns coefficients in a different order than we want them, # and using a different normalization. fhat = fft(f, axis=axis) fhat = fftshift(fhat, axes=axis) return fhat / f.shape[axis]
Example 27
Project: lie_learn Author: AMLab-Amsterdam File: T1FFT.py License: MIT License | 5 votes |
def analyze_naive(f): f_hat = np.zeros_like(f) for n in range(f.size): for k in range(f.size): theta_k = k * 2 * np.pi / f.size f_hat[n] += f[k] * np.exp(-1j * n * theta_k) return fftshift(f_hat / f.size, axes=0)
Example 28
Project: lie_learn Author: AMLab-Amsterdam File: T2FFT.py License: MIT License | 5 votes |
def analyze(f, axes=(0, 1)): """ Compute the Fourier Transform of the discretely sampled function f : T^2 -> C. Let f : T^2 -> C be a band-limited function on the torus. The samples f(theta_k, phi_l) correspond to points on a regular grid on the circle, as returned by spaces.T1.linspace: theta_k = phi_k = 2 pi k / N for k = 0, ..., N - 1 and l = 0, ..., N - 1 This function computes \hat{f}_n = (1/N) \sum_{k=0}^{N-1} f(theta_k) e^{-i n theta_k} which, if f has band-limit less than N, is equal to: \hat{f}_n = \int_0^{2pi} f(theta) e^{-i n theta} dtheta / 2pi, = <f(theta), e^{i n theta}> where dtheta / 2pi is the normalized Haar measure on T^1, and < , > denotes the inner product on Hilbert space, with respect to which this transform is unitary. The range of frequencies n is -floor(N/2) <= n <= ceil(N/2) - 1 :param f: :param axis: :return: """ # The numpy FFT returns coefficients in a different order than we want them, # and using a different normalization. f_hat = fft2(f, axes=axes) f_hat = fftshift(f_hat, axes=axes) size = np.prod([f.shape[ax] for ax in axes]) return f_hat / size
Example 29
Project: opticspy Author: Sterncat File: zernike_rec.py License: MIT License | 5 votes |
def __psfcaculator__(self,lambda_1=632*10**(-9),z=0.1): """ height: Exit pupil height width: Exit pupil width z: Distance from exit pupil to image plane """ a = self.__a__ b = __sqrt__(1-a**2) l1 = 100; x1 = __np__.linspace(-a, a, l1) y1 = __np__.linspace(-b, b, l1) [X,Y] = __np__.meshgrid(x1,y1) Z = __zernikecartesian__(self.__coefficients__,a,X,Y) d = 400 # background A = __np__.zeros([d,d]) A[d//2-l1//2+1:d//2+l1//2+1,d//2-l1//2+1:d//2+l1//2+1] = Z # fig = __plt__.figure() # __plt__.imshow(A) # __plt__.colorbar() # __plt__.show() abbe = __np__.exp(-1j*2*__np__.pi*A) for i in range(len(abbe)): for j in range(len(abbe)): if abbe[i][j]==1: abbe[i][j]=0 PSF = __fftshift__(__fft2__(__fftshift__(abbe)))**2 PSF = PSF/PSF.max() return PSF
Example 30
Project: opticspy Author: Sterncat File: zernike_rec.py License: MIT License | 5 votes |
def mtf(self,lambda_1=632*10**(-9),z=0.1,matrix = False): """ Modulate Transfer function """ PSF = self.__psfcaculator__(lambda_1=lambda_1,z=z) MTF = __fftshift__(__fft2__(PSF)) MTF = MTF/MTF.max() fig = __plt__.figure(figsize=(9, 6), dpi=80) __plt__.imshow(abs(MTF),cmap=__cm__.bwr) __plt__.colorbar() __plt__.show() if matrix == True: return MTF else: return 0