基于磁共振成像测温技术的方法学和应用方案【附代码】
✨ 长期致力于热消融治疗、磁共振成像测温、质子共振频率、磁场漂移矫正、多模态MRI测温、BP神经网络、超高场磁共振成像、脑温度研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1PRF测温中的磁场漂移矫正与多模态自动化测温方法针对质子共振频率PRF测温中磁场漂移和运动伪影的影响提出一种基于二次拟合的内参矫正方案。选择植物油作为内参材料放置于扫描视野角落。在每次测温采集前先扫描内参区域并提取其相位变化使用二阶多项式拟合整个视野的漂移场然后从图像相位中减去该漂移场。在3T MRI上进行热消融实验激光加热离体猪肝加热功率10W持续60秒矫正后的测温误差从±2.1°C降低到±0.9°C。进一步开发了一种多模态自动化测温方法Auto-MT该方法结合L1无参考方法、可变翻转角T1 mapping和扩散加权成像。L1方法用于矫正运动伪影可变翻转角方法三个翻转角5°、15°、30°用于快速T1测温扩散加权成像b0, 300 s/mm^2用于D测温。通过一个浅层BP神经网络输入层9个节点PRF相位、T1加权信号、ADC值、以及它们的梯度隐层12个节点输出温度融合三种模态信息。在仿体实验中Auto-MT的测温均方根误差为0.6°C优于单一PRF的1.2°C。2基于BP神经网络的T1测温加速方法针对传统T1测温需要多个翻转角扫描导致时间分辨率低的问题提出一种BP神经网络模型直接由单幅T1加权图像预测温度。首先在低温区间25°C到37°C采集大量训练数据每隔0.5°C采集一次T1加权图像使用快速小角度激发FLASH序列TR200msTE2.5ms翻转角15°同时用光纤温度计记录真实温度。BP网络结构为5-20-1输入为T1加权图像中5个不同感兴趣区域的平均信号强度分别对应加热中心、边缘和参考区域输出为预测温度。训练3000个样本后用37°C到45°C的高温区间数据测试预测温度与实际温度的相关系数为0.98最大绝对误差0.9°C。与传统多翻转角T1测温需采集4个翻转角耗时8秒相比神经网络方法仅需单幅图像2秒时间分辨率提升4倍。在离体猪肝热消融实验中该方法成功捕捉到了40°C到45°C的快速升温过程。3超高场7T MRI测温序列优化与脑温度功能成像在7T MRI上比较了四种PRF测温序列分段梯度回波-平面回波成像EPI-GRE、单次激发EPI、螺旋填充GRE和径向GRE。采用仿体琼脂凝胶内含热电偶和离体猪脑作为测试对象。结果表明EPI-GRE序列在时间分辨率每帧1.8秒、空间分辨率1.5mm各向同性和测温精度误差0.7°C的综合表现最佳。对于DWI测温研究了不同b值300, 500, 800, 1000, 1200 s/mm^2和场强的影响在7T下b800 s/mm^2时测温精度最高而在3T下b500最佳。将优化后的EPI-GRE序列应用于精神分裂症患者研究发现幻听症状患者在左侧颞顶联合区的脑温度与自发脑活动ALFF值之间的耦合关系发生失耦合健康对照组耦合系数为0.72患者组为0.31。在中风患者中偏瘫手侧的辅助运动皮层温度比健侧高0.5°C并且温度升高幅度与功能恢复评分呈正相关r0.65。最后开发了一个基于MATLAB的MRI测温软件MriThermoGUI集成了PRF矫正、多模态融合和实时温度曲线显示功能。import numpy as np import tensorflow as tf from scipy.optimize import curve_fit def prf_drift_correction(phase_image, reference_phase, poly_order2): xx, yy np.meshgrid(np.arange(phase_image.shape[1]), np.arange(phase_image.shape[0])) roi_mask (xx phase_image.shape[1]-20) (yy 20) drift_phase phase_image[roi_mask] - reference_phase[roi_mask] x_roi xx[roi_mask] y_roi yy[roi_mask] def poly2d(xy, a0,a1,a2,a3,a4,a5): x,y xy return a0 a1*x a2*y a3*x*y a4*x**2 a5*y**2 popt, _ curve_fit(poly2d, (x_roi, y_roi), drift_phase) drift_field poly2d((xx, yy), *popt) corrected_phase phase_image - drift_field temperature corrected_phase / (-0.01 * 42.58e6 * 0.5) # approximate return temperature def bp_t1_temperature_model(): model tf.keras.Sequential([ tf.keras.layers.Dense(20, activationtanh, input_shape(5,)), tf.keras.layers.Dense(20, activationtanh), tf.keras.layers.Dense(1, activationlinear) ]) model.compile(optimizeradam, lossmse) return model def brain_temperature_coupling(ALFF_map, temp_map): from scipy.stats import pearsonr r, p pearsonr(ALFF_map.flatten(), temp_map.flatten()) return r def mri_thermo_sequence_comparison(): sequences [EPI-GRE, single-shot EPI, spiral GRE, radial GRE] precision [0.68, 1.23, 0.89, 0.94] # degree C temporal_res [1.8, 0.9, 2.1, 2.4] # seconds best_idx np.argmin(np.array(precision) 0.5*np.array(temporal_res)) return sequences[best_idx]