基于医学图像配准软件 ANTs(Advanced Normalization Tools)提取脑图像数值并与临床量表计算相关

本文主要是介绍基于医学图像配准软件 ANTs(Advanced Normalization Tools)提取脑图像数值并与临床量表计算相关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

神经影像学与临床评估的结合正在革新我们对神经精神疾病的理解。本博客聚焦于如何利用先进的医学图像配准软件ANTs(Advanced Normalization Tools)提取脑图像数值,并将其与临床量表进行相关性分析。

目录

 

一、准备掩模(Mask)

二、准备T-value map

T-map 和 Z-map的转化

比较同一结果的T-map和Zmap

三、提取Mask内Z-value

批处理代码:

四、计算Cluster内均值

五、计算相关


一、准备掩模(Mask)

ThresholdImage 3 input.nii output.nii 0 1

使用方法:ThresholdImage   ImageDimension ImageIn.ext outImage.ext  threshlo threshhi <insideValue> <outsideValue>

如上所述,我们得到一个right IFG (右侧下额叶回)的二值化mask,right IFG是大脑的重要的区域,属于突显网络(Salience Network)的关键节点之一。接下来我们就将用这个mask去提取T值。

二、准备T-value map

fMRI研究中的T-value map(T值图)是一种统计图像,用于展示大脑活动的显著性。

  • T-value map是通过对fMRI数据进行统计分析后得到的结果。它显示了大脑不同区域的激活程度与预期模型之间的关系强度。
  • 高T值表示该区域的活动与任务或刺激高度相关;低T值表示相关性较弱或无相关性
  • T值可以是正值或负值,分别表示激活增加或减少。
  • 研究者通常会设定一个统计阈值(如p<0.05);只有超过这个阈值的体素才会被认为是"显著激活"的。

T-map 和 Z-map的转化

T值和Z值都是常用于统计分析的标准化分数,尤其在神经影像研究中广泛应用。

T值图的优点:

  • 直接反映了效应大小和样本大小的影响
  • 在小样本研究中更为准确
  • 可以直接用于推断统计显著性(如果知道自由度)
  • 在单个研究或实验中更常用

而如果特殊情况,如元分析,正负效应T值的自由度并不一样,那需要使用matlab写脚本运行SPM工具。(SPM官网)


input_dir = 'Path_to_tmap';
output_dir = 'Path_to_zmap';
if ~exist(output_dir, 'dir')mkdir(output_dir);
endnii_files = dir(fullfile(input_dir, '*.nii'));
for i = 1:length(nii_files)input_file = fullfile(input_dir, nii_files(i).name);   [~, name, ext] = fileparts(nii_files(i).name);if startsWith(name, 't_')output_name = ['z_' name(3:end) ext];elseoutput_name = ['z_' name ext];endoutput_file = fullfile(output_dir, output_name);V = spm_vol(input_file);T = spm_read_vols(V);Z = zeros(size(T));% 根据条件转换T值为Z值,其中32指postive effect的自由度,27指negative effect 的自由度Z(T > 0) = spm_t2z(T(T > 0), 32);Z(T < 0) = spm_t2z(T(T < 0), 27);Z(T == 0) = T(T == 0);  % 保持0值不变Vo = V;Vo.fname = output_file;Vo.descrip = 'Z score image converted from T-statistic';spm_write_vol(Vo, Z);

比较同一结果的T-map和Zmap

Z值统计:
  平均值: 1.4395
  中位数: 1.1453
  标准差: 0.9787
  最小值: 0.2918
  最大值: 4.5100

T值统计:
  平均值: 1.5192
  中位数: 1.1663
  标准差: 1.0999
  最小值: 0.2943
  最大值: 5.3848

我们可以看出来Z值的转化确实起到了一定标准化的作用,使得标准差更接近1,但并没有改变整体右偏侧分布的趋势。

三、提取Mask内Z-value

图像提取原理可以参考fMRI图像提取原理,我们可以使用shell文件和ANTs软件进行批处理。

批处理代码:

#!/bin/bashINPUT_DIR="Path_to_Zmap"
MASK="Path_to_mask"
OUTPUT_DIR=""mkdir -p "$OUTPUT_DIR"# 遍历输入目录中的所有.nii文件
for input_file in "$INPUT_DIR"/*.nii; dofilename=$(basename "$input_file")output_file="$OUTPUT_DIR/${filename%.nii}_masked.nii.gz"# 使用ANTs的ImageMath将结果与掩模相乘ImageMath 3 "$output_file" m "$input_file" "$MASK" echo "Processed: $filename"
doneecho "All files have been processed."

检查提取结果,如下:

四、计算Cluster内均值

  经过上面的步骤,我们已经得到了每个研究ROI(感兴趣区)内的Z值图像,接下来就是快速计算每个的均值。

可以使用计算:

AverageImages ImageDimension Outputfname.nii.gz Normalize <images> 

然后我们就可以得到每张图像的均值,NaN则指该图像在ROI没有数值。

五、计算相关

  具体方法可以参考这篇文章:相关计算

这篇关于基于医学图像配准软件 ANTs(Advanced Normalization Tools)提取脑图像数值并与临床量表计算相关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122614

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【Tools】大模型中的自注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 自注意力机制(Self-Attention)是一种在Transformer等大模型中经常使用的注意力机制。该机制通过对输入序列中的每个元素计算与其他元素之间的相似性,