本文整理汇总了Python中numpy.fft.rfftfreq方法的典型用法代码示例。如果您正苦于以下问题:Python fft.rfftfreq方法的具体用法?Python fft.rfftfreq怎么用?Python fft.rfftfreq使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类numpy.fft
的用法示例。
在下文中一共展示了fft.rfftfreq方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_definition
# 需要导入模块: from numpy import fft [as 别名]
# 或者: from numpy.fft import rfftfreq [as 别名]
def test_definition(self):
x = [0, 1, 2, 3, 4]
assert_array_almost_equal(9*fft.rfftfreq(9), x)
assert_array_almost_equal(9*pi*fft.rfftfreq(9, pi), x)
x = [0, 1, 2, 3, 4, 5]
assert_array_almost_equal(10*fft.rfftfreq(10), x)
assert_array_almost_equal(10*pi*fft.rfftfreq(10, pi), x)
示例2: main
# 需要导入模块: from numpy import fft [as 别名]
# 或者: from numpy.fft import rfftfreq [as 别名]
def main(args):
pyfftw.interfaces.cache.enable()
refmap = mrc.read(args.key, compat="relion")
df = star.parse_star(args.input, keep_index=False)
star.augment_star_ucsf(df)
refmap_ft = vop.vol_ft(refmap, threads=args.threads)
apix = star.calculate_apix(df)
sz = refmap_ft.shape[0] // 2 - 1
sx, sy = np.meshgrid(rfftfreq(sz), fftfreq(sz))
s = np.sqrt(sx ** 2 + sy ** 2)
r = s * sz
r = np.round(r).astype(np.int64)
r[r > sz // 2] = sz // 2 + 1
a = np.arctan2(sy, sx)
def1 = df["rlnDefocusU"].values
def2 = df["rlnDefocusV"].values
angast = df["rlnDefocusAngle"].values
phase = df["rlnPhaseShift"].values
kv = df["rlnVoltage"].values
ac = df["rlnAmplitudeContrast"].values
cs = df["rlnSphericalAberration"].values
xshift = df["rlnOriginX"].values
yshift = df["rlnOriginY"].values
score = np.zeros(df.shape[0])
# TODO parallelize
for i, row in df.iterrows():
xcor = particle_xcorr(row, refmap_ft)
if args.top is None:
args.top = df.shape[0]
top = df.iloc[np.argsort(score)][:args.top]
star.simplify_star_ucsf(top)
star.write_star(args.output, top)
return 0
示例3: falpha
# 需要导入模块: from numpy import fft [as 别名]
# 或者: from numpy.fft import rfftfreq [as 别名]
def falpha(length=8192, alpha=1.0, fl=None, fu=None, mean=0.0, var=1.0):
"""Generate (1/f)^alpha noise by inverting the power spectrum.
Generates (1/f)^alpha noise by inverting the power spectrum.
Follows the algorithm described by Voss (1988) to generate
fractional Brownian motion.
Parameters
----------
length : int, optional (default = 8192)
Length of the time series to be generated.
alpha : float, optional (default = 1.0)
Exponent in (1/f)^alpha. Pink noise will be generated by
default.
fl : float, optional (default = None)
Lower cutoff frequency.
fu : float, optional (default = None)
Upper cutoff frequency.
mean : float, optional (default = 0.0)
Mean of the generated noise.
var : float, optional (default = 1.0)
Variance of the generated noise.
Returns
-------
x : array
Array containing the time series.
Notes
-----
As discrete Fourier transforms assume that the input data is
periodic, the resultant series x_{i} (= x_{i + N}) is also periodic.
To avoid this periodicity, it is recommended to always generate
a longer series (two or three times longer) and trim it to the
desired length.
"""
freqs = fft.rfftfreq(length)
power = freqs[1:] ** -alpha
power = np.insert(power, 0, 0) # P(0) = 0
if fl:
power[freqs < fl] = 0
if fu:
power[freqs > fu] = 0
# Randomize complex phases.
phase = 2 * np.pi * np.random.random(len(freqs))
y = np.sqrt(power) * np.exp(1j * phase)
# The last component (corresponding to the Nyquist frequency) of an
# RFFT with even number of points is always real. (We don't have to
# make the mean real as P(0) = 0.)
if length % 2 == 0:
y[-1] = np.abs(y[-1] * np.sqrt(2))
x = fft.irfft(y, n=length)
# Rescale to proper variance and mean.
x = np.sqrt(var) * x / np.std(x)
return mean + x - np.mean(x)