当前位置: 首页 > news >正文

用于在束PET数字测量系统的能量提取算法【附程序】

✨ 长期致力于重离子治癌装置、在束PET、数字能谱测量、能量提取算法研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1低采样率下的反卷积能量恢复算法针对在束PET系统中采样率受限50Msps导致能量分辨率下降问题设计一种基于脉冲反卷积和自适应基线恢复的能量提取算法。首先对探测器输出信号进行指数衰减模型拟合建立脉冲成形函数然后通过维纳反卷积滤波器将重叠脉冲分离。在基线漂移校正中采用滑动中值滤波与局部方差估计相结合的方法剔除突发堆积干扰。对Cs-137源测试该算法在50Msps下能量分辨率达到6.2%662keV逼近250Msps直接采样的5.9%且数据量减少80%。import numpy as np from scipy.signal import deconvolve, medfilt def wiener_deconvolution(signal, kernel, noise_var0.01): # 信号长度 n len(signal) # 转到频域 S np.fft.fft(signal, n*2) K np.fft.fft(kernel, n*2) K_conj np.conj(K) H K_conj / (K*K_conj noise_var) deconv np.fft.ifft(H * S).real[:n] return deconv def baseline_restore(signal, window51): median_base medfilt(signal, kernel_sizewindow) # 局部方差估计剔除堆积区 local_var np.convolve(signal**2, np.ones(20)/20, modesame) high_var_mask local_var np.percentile(local_var, 80) # 用插值替换高方差点 baseline_clean median_base.copy() baseline_clean[high_var_mask] np.interp(np.where(high_var_mask)[0], np.where(~high_var_mask)[0], baseline_clean[~high_var_mask]) return baseline_clean def extract_energy(signal, kernel, threshold0.05): baseline baseline_restore(signal) corrected signal - baseline # 脉冲检测 peaks, _ find_peaks(corrected, heightthreshold, distance30) energies [] for p in peaks: # 提取脉冲面积 start max(0, p-15) end min(len(corrected), p25) area np.sum(corrected[start:end]) energies.append(area) return np.array(energies)
http://www.rkmt.cn/news/1383625.html

相关文章:

  • 3分钟掌握JetBrains IDE试用期重置:终极完整指南
  • HoRain云--CLAUDE.md 使用指南
  • 企业云盘签章技术方案:从数字签名原理到工程落地
  • UE5.2新功能尝鲜:用蓝图Scriptable Tools,5分钟做个自定义场景点击生成器
  • 别再硬写动画了!用UE5的Additive Animation快速微调角色动作(附官方案例拆解)
  • 区块链赋能生态,协同破局内卷困境,友宝在线“链盟”打造无人零售新基建
  • 电容式液体传感器DIY:从RC振荡原理到Arduino液位检测实践
  • SMS 10.1/11.2老版本实战:如何导出轻量化的.grd和.2dm文件用于FVCOM计算?
  • Unity UI交互卡顿?可能是你的EventSystem没配好!性能优化与常见坑点排查
  • 避坑指南:UE程序化网格体切割时‘部分无法切割’问题排查与修复
  • 全球巨星Ahn Hyo-seop与Khalid今日通过FANDOM推出跨界全新单曲《Something Special》
  • 从数据到洞察:手把手教你用Python处理Unity VR眼动数据,生成动态热点图
  • STM32 CAN时间戳功能实战:CubeMX配置避坑与收发时间戳获取全流程
  • 5分钟掌握Wand-Enhancer:免费解锁WeMod专业版功能的终极方案
  • InVideo:基于UE4/UE5的RTSP视频播放与运行时MP4录制插件深度解析
  • 在线文档协作工具选型必看:14款产品对比(2026版)
  • Frida初学者避坑指南:从环境搭建到JNI Hook实战
  • 保姆级教程:在Win11上一步到位安装VMware Workstation 17.5.0,附激活密钥与常见问题排查
  • 告别在线依赖:用91卫图助手+ArcGIS Pro自制Unity离线地形数据包(tpkx)全流程
  • PICO4 VR开发调试神器:用Live Preview Plugin实现电脑串流,告别反复打包烧录的繁琐流程
  • Godot 4.x + C# + VSCode:跨平台游戏开发环境搭建全攻略(Win/Mac通用)
  • 用REGEXP函数搞定城市销售统计,新手也能上手
  • Gofile批量下载工具实战指南:高效自动化文件获取的3种配置方法
  • LinkSwift 网盘加速引擎架构解析:多协议直连实现方案
  • UE5新手避坑:3D UI控件(WidgetComponent)为啥点不动?手把手教你搞定鼠标交互
  • 告别显存焦虑:手把手教你用纹理压缩技术优化3D Gaussian Splatting模型(附Unity实战代码)
  • 机器学习的特征工程:这5个方法让你的特征更有效
  • Elsevier-Tracker:5分钟搞定学术论文审稿进度追踪的免费Chrome插件神器
  • UE5蓝图实战:用程序化网格体组件实现鼠标点击切割任意模型(附完整项目文件)
  • 【DeepSeek集成测试黄金标准】:20年专家亲授5大避坑指南与自动化落地框架