diff --git a/bfps/tools.py b/bfps/tools.py index 54e5b6823d85e6c1326434a1eba31dfefc808fe8..20269892a431e4fbff435ac90085a872aca7d1b2 100644 --- a/bfps/tools.py +++ b/bfps/tools.py @@ -55,6 +55,18 @@ def generate_data_3D( a[ii] = 0 return a +def randomize_phases(v): + phi = np.random.random(v.shape[:3])*(2*np.pi) + phi[0, 0, 0] = 0.0 + for ky in range(1, phi.shape[0]//2): + phi[phi.shape[0] - ky, 0, 0] = - phi[ky, 0, 0] + for kz in range(1, phi.shape[1]//2): + phi[0, phi.shape[1] - kz, 0] = - phi[0, kz, 0] + for ky in range(1, phi.shape[0]//2): + for kz in range(1, phi.shape[1]): + phi[phi.shape[0] - ky, phi.shape[1] - kz, 0] = - phi[ky, kz, 0] + return v*(np.exp(1j*phi)[:, :, :, None]).astype(v.dtype) + def padd_with_zeros( a, n0, n1, n2,