Python scipy.signal 模块,find_peaks_cwt() 实例源码
我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用scipy.signal.find_peaks_cwt()。
def data_findpeak(data):
peakind = signal.find_peaks_cwt(data,mask)
for index in peakind:
data_out[index-1] = 1
index += 1
return data_out
def peak_finder_pro(measurement):
E0 = measurement.energy_cal[0]
slope = measurement.energy_cal[1]
energy_axis = measurement.channel
energy_axis = energy_axis.astype(float)
energy_axis[:] = [E0 + slope * x for x in range(len(measurement.channel))]
"""energy_spectra is the spectra that will be loaded and analyzed"""
fwhm_list = []
for i in energy_axis:
fwhm = 0.05 * energy_axis[i] ** 0.5
fwhm_list = fwhm_list.append(fwhm)
counts = measurement.data
peaks_found = []
start = 0
end = start + 50
for energy in energy_axis:
E_start = energy_axis[start]
E_end = energy_axis[end]
energy_range = range(E_start, E_end)
count_total = 0
for i in energy_range:
count_total = count_total + counts[energy_range[i]]
avg_range = count_total/len(energy_range)
avg_ends = (counts[start] + counts[end]) / 2
threshold = 1.1 * avg_ends
if avg_range > threshold:
energy_average = start + 25
avg_fwhm = fwhm_list[energy_average]
width_parameter = avg_fwhm * 3
wavelet = signal.ricker(width_parameter, avg_fwhm)
counts_range = range(counts[E_start], counts[E_end])
wave_transform = signal.cwt(counts_range, wavelet, width_parameter)
peak_finder = signal.find_peaks_cwt(wave_transform, counts_range)
peaks_found.append(peak_finder)
next_range = peak_finder + 0.5 * avg_fwhm
start = next_range
else:
start += 1
return peaks_found
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。