核磁共振数据T2几何均值计算

1、T₂ 几何均值公式如下:

在这里插入图片描述

2、核磁T2几何均值计算代码

CSV 文件文件格式:

  1. 每一行是一个样点(样品深度),列为:
  2. 第一列是“深度”或其他;
  3. 第二列及以后(如 TASPEC0 ~ TASPEC199)是该深度对应代码中的 amplitudes;
  4. 对应的 T₂ 值数组 是一个你提供的长度为 200 的列表。
# 项目:核磁T2几何均值计算
# 文件:main.py
# 作者:陈不like
# 日期 2025/7/31 15:13
import numpy as np
import pandas as pd# 1. 读取CSV文件
csv_path = 'V12核磁.csv'  # 替换为你的文件路径# 尝试多种编码
encodings = ['utf-8', 'gbk', 'cp936', 'utf-8-sig', 'cp1252']
for enc in encodings:try:df = pd.read_csv(csv_path, encoding=enc)print(f"✅ 成功读取 CSV 文件,使用编码:{enc}")breakexcept UnicodeDecodeError:print(f"❌ 编码失败:{enc}")
else:raise ValueError("无法解析 CSV 文件的编码,请检查文件是否损坏或尝试另存为 UTF-8 编码。")# 2. 提供 T2 值列表(200个)
T2_values = np.array([0.3, 0.314211269, 0.329095739, 0.3446853, 0.361013352, 0.378114879, 0.39602652, 0.414786652, 0.434435468, 0.455015067,0.476569539, 0.499145066, 0.522790016, 0.547555048, 0.573493223, 0.600660112, 0.62911392, 0.658915612, 0.690129036, 0.722821068,0.757061751, 0.792924446, 0.830485989, 0.869826856, 0.911031335, 0.954187708, 0.999388436, 1.046730364, 1.096314921, 1.148248344,1.202641899, 1.259612125, 1.319281083, 1.381776612, 1.447232611, 1.51578932, 1.587593621, 1.662799356, 1.741567655, 1.824067278,1.910474983, 2.000975899, 2.095763924, 2.195042143, 2.29902326, 2.407930057, 2.521995866, 2.641465074, 2.766593647, 2.897649672,3.034913939, 3.178680538, 3.329257489, 3.486967406, 3.652148183, 3.825153722, 4.006354689, 4.196139308, 4.394914195, 4.603105227,4.821158455, 5.04954106, 5.288742354, 5.539274829, 5.801675251, 6.076505818, 6.364355355, 6.665840583, 6.981607437, 7.31233245,7.658724205, 8.021524848, 8.401511683, 8.799498835, 9.216338997, 9.652925251, 10.11019299, 10.58912191, 11.09073812, 11.61611635,12.16638221, 12.74271466, 13.34634849, 13.97857701, 14.64075475, 15.33430045, 16.06070003, 16.82150981, 17.61835984, 18.45295737,19.32709053, 20.24263216, 21.20154382, 22.20587999, 23.25779247, 24.35953498, 25.51346803, 26.72206392, 27.98791208, 29.31372461,30.70234206, 32.15673958, 33.68003321, 35.27548662, 36.9465181, 38.69670784, 40.52980564, 42.44973892, 44.46062117, 46.56676072,48.77266999, 51.08307517, 53.50292631, 56.03740797, 58.69195031, 61.47224069, 64.38423594, 67.43417501, 70.62859243, 73.97433227,77.47856282, 81.14879191, 84.99288306, 89.01907225, 93.23598563, 97.652658, 102.2785521, 107.1235789, 112.1981191, 117.5130447,123.0797432, 128.9101411, 135.0167303, 141.412594, 148.1114356, 155.1276073, 162.4761413, 170.1727821, 178.2340195, 186.6771251,195.5201881, 204.782155, 214.4828696, 224.6431157, 235.2846618, 246.4303075, 258.1039325, 270.3305475, 283.1363483, 296.5487714,310.596553, 325.3097906, 340.7200075, 356.8602202, 373.7650093, 391.4705934, 410.0149069, 429.4376813, 449.7805298, 471.0870374,493.4028534, 516.7757896, 541.2559228, 566.8957019, 593.7500604, 621.8765339, 651.3353837, 682.1897257, 714.5056656, 748.3524406,783.8025677, 820.9319991, 859.8202851, 900.5507441, 943.2106415, 987.8913765, 1034.688678, 1083.70281, 1135.038785, 1188.806592,1245.121427, 1304.103947, 1365.880522, 1430.583509, 1498.351535, 1569.329792, 1643.670354, 1721.532494, 1803.083035, 1888.496697,1977.956481, 2071.654056, 2169.790169, 2272.575078, 2380.229, 2492.982585, 2611.077408, 2734.76649, 2864.314834, 3000
])#  3. 第一列为深度,后面为200道核磁分布。
# 取每行的第2列(索引1)起的200列作为 amplitudes
amplitudes_array = df.iloc[:, 1:1+200].values  # 索引,从1开始取200# 4. 计算 T2 几何均值
log_T2 = np.log(T2_values)
weighted_log_T2 = np.sum(amplitudes_array * log_T2, axis=1) / np.sum(amplitudes_array, axis=1)
T2LM= np.exp(weighted_log_T2)# 5. 加入结果列
df['T2LM'] = T2LM# 6. 保存结果
df.to_csv('V12核磁with_T2LM.csv', index=False)
print("✅ 成功计算并保存 T2 几何均值至 'V12核磁with_T2LM.csv'")

核磁T2时间轴

DEPTH	0.3	0.314211269	0.329095739	0.3446853	0.361013352	0.378114879	0.39602652	0.414786652	0.434435468	0.455015067	0.476569539	0.499145066	0.522790016	0.547555048	0.573493223	0.600660112	0.62911392	0.658915612	0.690129036	0.722821068	0.757061751	0.792924446	0.830485989	0.869826856	0.911031335	0.954187708	0.999388436	1.046730364	1.096314921	1.148248344	1.202641899	1.259612125	1.319281083	1.381776612	1.447232611	1.51578932	1.587593621	1.662799356	1.741567655	1.824067278	1.910474983	2.000975899	2.095763924	2.195042143	2.29902326	2.407930057	2.521995866	2.641465074	2.766593647	2.897649672	3.034913939	3.178680538	3.329257489	3.486967406	3.652148183	3.825153722	4.006354689	4.196139308	4.394914195	4.603105227	4.821158455	5.04954106	5.288742354	5.539274829	5.801675251	6.076505818	6.364355355	6.665840583	6.981607437	7.31233245	7.658724205	8.021524848	8.401511683	8.799498835	9.216338997	9.652925251	10.11019299	10.58912191	11.09073812	11.61611635	12.16638221	12.74271466	13.34634849	13.97857701	14.64075475	15.33430045	16.06070003	16.82150981	17.61835984	18.45295737	19.32709053	20.24263216	21.20154382	22.20587999	23.25779247	24.35953498	25.51346803	26.72206392	27.98791208	29.31372461	30.70234206	32.15673958	33.68003321	35.27548662	36.9465181	38.69670784	40.52980564	42.44973892	44.46062117	46.56676072	48.77266999	51.08307517	53.50292631	56.03740797	58.69195031	61.47224069	64.38423594	67.43417501	70.62859243	73.97433227	77.47856282	81.14879191	84.99288306	89.01907225	93.23598563	97.652658	102.2785521	107.1235789	112.1981191	117.5130447	123.0797432	128.9101411	135.0167303	141.412594	148.1114356	155.1276073	162.4761413	170.1727821	178.2340195	186.6771251	195.5201881	204.782155	214.4828696	224.6431157	235.2846618	246.4303075	258.1039325	270.3305475	283.1363483	296.5487714	310.596553	325.3097906	340.7200075	356.8602202	373.7650093	391.4705934	410.0149069	429.4376813	449.7805298	471.0870374	493.4028534	516.7757896	541.2559228	566.8957019	593.7500604	621.8765339	651.3353837	682.1897257	714.5056656	748.3524406	783.8025677	820.9319991	859.8202851	900.5507441	943.2106415	987.8913765	1034.688678	1083.70281	1135.038785	1188.806592	1245.121427	1304.103947	1365.880522	1430.583509	1498.351535	1569.329792	1643.670354	1721.532494	1803.083035	1888.496697	1977.956481	2071.654056	2169.790169	2272.575078	2380.229	2492.982585	2611.077408	2734.76649	2864.314834	3000
DEPTH	0.3	0.347216216	0.401883337	0.46515747	0.538393738	0.623160619	0.721273539	0.834833754	0.966273346	1.118407318	1.294493875	1.498304211	1.734203267	2.007243222	2.323271688	2.68905695	3.112432919	3.602466907	4.169653822	4.826140933	5.585988021	6.465468498	7.483417927	8.66163742	10.02536054	11.60379373	13.4307418	15.54533194	17.99285168	20.8257188	24.10460394	27.89972997	32.29237596	37.37661783	43.26134325	50.07258356	57.95621302	67.08107288	77.64258747	89.8669495	104.0159644	120.3926572	139.3477626	161.2872362	186.680949	216.0727503	250.0921154	289.4676264	335.0425767	387.7930309	448.8487293	519.517283	601.3121788	695.9851928	805.5639078	932.3951375	1079.195187	1249.108029	1445.772634	1673.400907	1936.867893	2241.816184	2594.776763	3000																																																																																																																																								

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916984.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务架构技巧篇——接口类设计技巧

目录 一、微服务架构的特点 二、微服务接口类设计技巧 2.1、BFF(Backend For Frontend) 2.1.1、 服务分布式带来的第一个挑战导致的几个典型问题 2.1.2、什么是 BFF 2.1.3、BFF 应用场景 2.1.4、BFF 落地经验 2.1.4.1、前端负责 BFF 开发优缺点 2.1.4.2、后端负责 BFF 开发优…

C++游戏开发(2)

直接上代码 1.首先是头文件编写 #include <iostream> #include <graphics.h> #include <string> 2,添加画布 长1280&#xff0c;宽720 initgraph(1280, 720); 3.添加主循环 bool running true; while(runing) { } 4.定义结构体变量msg ExMessge msg; 5.开…

Unity开发2D类银河恶魔城游戏学习笔记目录

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 玩家状态机 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现…

智慧社区项目开发(三)——基于 Spring Boot 实现动态路由加载:从数据库到前端菜单的完整方案

在后台管理系统中&#xff0c;不同用户角色往往拥有不同的操作权限&#xff0c;对应的菜单展示也需动态调整。动态路由加载正是解决这一问题的核心方案 —— 根据登录用户的权限&#xff0c;从数据库查询其可访问的菜单&#xff0c;封装成前端所需的路由结构并返回。本文将详细…

Python在自动化与运维领域的核心角色:工具化、平台化与智能化

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 在 IT 系统日益复杂、运维任务持续增长的今天&#xff0c;自动化已成为企业基础设施管理的关键方向。Python 以其简洁的语法、强大…

RAG实战指南 Day 28:RAG系统缓存与性能优化

【RAG实战指南 Day 28】RAG系统缓存与性能优化 开篇 欢迎来到"RAG实战指南"系列的第28天&#xff01;今天我们将深入探讨RAG系统的缓存机制与性能优化策略。在实际生产环境中&#xff0c;RAG系统往往面临高并发、低延迟的需求&#xff0c;而合理的缓存设计和性能优…

swanlab实验优雅起名

init中的参数的作用project&#xff1a;整个实验的名字&#xff1b;experiment_name&#xff1a;在这个实验中&#xff0c;你的名字是什么&#xff1b; 比如说现在我们要进行对比实验&#xff0c;PEAN和Triflownet分别是对比方法的名字&#xff0c;这样的好处是&#xff0c;她们…

Nestjs框架: NestJS 核心机制解析 —— DI(依赖注入)容器与模块化工作原理

理解 NestJS 的 DI 管理机制 我们想要了解依赖注入&#xff08;Dependency Injection, DI&#xff09;最核心的工作逻辑NestJS 拥有自己的一套 DI 管理系统&#xff0c;它通过一个称为 DI 容器 的机制&#xff0c;来统一管理应用中所有类&#xff08;class&#xff09;的依赖关…

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(12):文法+单词

日语学习-日语知识点小记-构建基础-JLPT-N3阶段&#xff08;12&#xff09;&#xff1a;文法单词 1、前言&#xff08;1&#xff09;情况说明&#xff08;2&#xff09;工程师的信仰2、知识点&#xff11;ーたぶん 多分&#xff12;ーV&#xff08;て&#xff09;いく ・ V&…

【赵渝强老师】OceanBase租户的资源管理

OceanBase数据库是多租户的数据库系统&#xff0c;一个集群内可包含多个相互独立的租户&#xff0c;每个租户提供独立的数据库服务。在OceanBase数据库中&#xff0c;使用资源配置&#xff08;Unit Config&#xff09;、资源单元&#xff08;Unit&#xff09;和资源池&#xff…

8K、AI、低空智联,H.266能否撑起下一代视频通路?

一、&#x1f4c8; 爆发式增长的 AI 与视频数据&#xff1a;智能时代的“数据燃料革命” 随着生成式 AI、大模型推理、多模态理解等技术的迅猛发展&#xff0c;视频数据从“记录工具”转变为“感知基础设施”&#xff0c;其在现代智能系统中的战略地位日益凸显。 1️⃣ 视频数…

保姆级别IDEA关联数据库方式、在IDEA中进行数据库的可视化操作(包含图解过程)

本文以mysql为例&#xff0c;学会了Mysql&#xff0c;其它的数据库也是类似的模版~如果您觉得这边文章对你有帮助&#xff0c;可以收藏防止找不到~如果您觉得这篇文章不错&#xff0c;也感谢您的点赞对我创作的支持1.1 打开侧边栏的Database2.2 选择要连接的数据库&#xff08;…

33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账

这篇文章我们一起把记账模块从单体应用迁移到微服务架构中。记账模块的功能想必大家都已经了解了&#xff0c;主要是记录用户的收入和支出&#xff0c;以及对这些记录的删除修改和查询等操作。具体的功能可以参考单体应用专栏&#xff0c;在这里就不多讲了。我们现在一起开始迁…

Cursor结合Playwright MCP Server支持自动化

Cursor结合Playwright MCP Server支持自动化 今天分享一下 playwright MCP Server&#xff0c;其提供了浏览器自动化能力&#xff0c;使大型语言模型能够在真实的浏览器环境中与网页交互&#xff0c; 也可以执行任务&#xff0c;例如运行JavaScript、截屏和导航网页元素&…

Python 求梯形面积的程序(Program to find area of a Trapezoid)

梯形的定义&#xff1a; 梯形是凸四边形&#xff0c;至少有一对边平行。平行边称为梯形的底边&#xff0c;另外两条不平行的边称为梯形的腿。梯形也可以有两对底边。在上图中&#xff0c;CD || AB&#xff0c;它们构成底边&#xff0c;而另外两条边&#xff0c;即AD和BC&#…

C语言 —— 指针(4)

动态内存分配动态内存需要手动申请&#xff0c;手动归还&#xff0c;其内存是开辟在堆区。申请的函数为&#xff1a;void *malloc(size_t size) &#xff08;需包含头文件#include<stdlib.h>&#xff09;size&#xff1a;要分配的内存大小&#xff0c;以字节为单位。申请…

常用算法思想及模板

今天继续整理一些关于算法竞赛中C适用的一些模板以及思想。 保留x位小数 保留x位小数在C语言中可以使用printf中的"%.xf"来实现&#xff0c;但是很多C选手由于关闭了同步流&#xff0c;害怕cin、cout与scanf、printf混用容易出错&#xff0c;所以就给大家介绍一个强…

GitLab 仓库 — 常用的 git 命令

在公司的 gitlab 公共仓库中写代码做项目时&#xff0c;主要涉及以下常用 git 命令&#xff1a;一、单个命令讲解1. 拉取代码&#xff08;1&#xff09;git clone [仓库 URL]‌克隆远程仓库到本地&#xff08;需确保 URL 正确&#xff09; ‌&#xff08;‌2&#xff09;git pu…

【28】C# WinForm入门到精通 ——多文档窗体MDI【属性、方法、实例、源码】【多窗口重叠、水平平铺、垂直平铺、窗体传值】

文章目录1多文档窗体MDI2 基本设置3 实例&#xff1a;多窗口重叠、水平平铺、垂直平铺3.1 主窗口属性设置3.2 主窗口3.3 主窗口窗口添加MenuStrip菜单3.4 添加处理函数3.5 测试效果4 利用窗体参数定义进行传值4.1 在Form2、Form3添加相关控件4.2 Form3 定义函数public Form3(st…

【计算机科学与应用】基于Session欺骗攻击的Web应用程序防护

导读&#xff1a; 本文对Web应用程序开发中的Session欺骗攻击进行了阐述&#xff0c;详细讲解了防范Session欺骗攻击的三种传统方法&#xff0c;并给出了防范代码&#xff0c;分析了三种传统防范方法的不足&#xff0c;新设计了一种通过Referer信息验证来加强对Session欺骗的防…