基于医学图像配准软件 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

相关文章

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2