AFNI 步骤4-命令和预处理
第一部分 AFNI命令和uber_subject.py的使用
略
第二部分 时间矫正
在扫描过程中,从第一个切片到最后一个切片之间存在一定的时间差,导致采集到的数据并不是一个时间点的。
在扫描过程中,MRI有两种扫描方法, 顺序切片采集,按照顺序从上到下、从下到上进行采集 交错切片采集,每采集一张切片后隔一张再采集,然后第二遍进行间隙填充。
脚本:3dTshift
第三部分 配准和标准化
我们每个人的大脑都是相似的,但是也存在一定的差别,在进行组分析时这些差别会产生影响,所以我们要保证每个人的大脑体素都对应到相同的大脑模板上。比如让每个被试的视觉皮层与其他人是相互一致的。
这需要用到配准和标准化,大脑模板是具有标准的坐标和维度,许多研究者一致认可的数据。
仿射变换:包括缩放、裁减、平移和旋转四种线性变换。而对于非线性变换,比如一边放大,另一边缩小。
我们最终的目的是把功能像配准到标准模版,有两个途径: 直接将功能像配准到标准模版,这样效果较差 先将结构像配准到标准模版,保存配准过程中的变换参数,再将功能像配准到结构像。在实际的配准过程中,功能像因为分辨率较低,变换会引起较大的误差,我们一般倾向于将结构像进行配准。
问题:我们是将结构像配准到标准空间,再将功能像与结构像配准,那么上述说的将结构像配准到功能像就与之矛盾!!!
A:在这个过程中,我们首先将功能像配准到结构像(实际操作是结构像配准到功能像,保存变换矩阵,然后反向操作就实现了功能-结构),然后再把结构像配准到标准空间,也保存了一个变换矩阵。最后将两个变换矩阵进行合并,就实现了功能像到标准空间的配准。
使用align_epi_anat.py脚本执行。
第四部分 对准和运动矫正
在扫描过程中受试者的头部可能会有轻微的扰动,对于成像结果来说会产生影响,我们需要对头动进行矫正。
刚体变换:采用刚体变换来解决头动问题,如果我们设定一个参考点,然后检测到受试者的头部向哪个方向移动了,那么我们只需要将图像的切片向相反的方向移动同样的距离即可,当然,不只是平移,包括旋转等。
在volreg部分执行上述操作。
第五部分 平滑
平滑就是用周围体素的平均值代替当前体素,这对使得图像变得模糊,分辨率降低。但是平滑对与fMRI来说是非常有效的,因为fMRI的噪音较大,平滑后可以显著降噪,同时增强信号。平滑核函数一般包括两个:4mm和10mm,越大的核函数平滑程度更大,当然图像分辨率也越低。
脚本:blur部分
第六部分 mask和体素缩放
设置一个掩膜只把头部纳入进来,其余部分都去掉。去结构像的mask,然后应用到功能像上。
脚本:3dAutomask
不同受试者的图像之间像素强度可能存在差异,这样的分析结果不会有任何意义,所我我们将每个体素的时间序列缩放为100的平均值(范围0-200)。
第七部分 检查预处理结果
通过afni查看处理后的图像,每一步的图像都有保存。有部分sub的图像会出现缺失,这是因为结构像和功能像的图像中心差距过大。
解决办法:进入带有三个代码文件的目录,删除预处理结果文件夹。 rm -r sub01.result
手动编辑proc.sub01脚本,该脚本就是通过uber_subject.py GUI界面产生的预处理脚本。在
@auto_tlrc -base MNI_avg152T1+tlrc -input sub-08_T1w_ns+orig -no_ss 后面加上
-init_xform AUTO_CENTER,然后tcsh proc.su01重新进行预处理。
到此,预处理步骤就全部结束!
AFNI 步骤4-命令和预处理的更多相关文章
- sys用户密码丢失找回密码的步骤和命令
假设你的sys用户密码丢失,写出找回密码的步骤和命令? 1.确认哪个数据库实例的sys用户密码丢失:(例:数据库实例为orclA) 2.进入数据库实例的目录中找到PWDorclA.ora文件:(例目录 ...
- TFS Release 步骤调用命令行返回失败信息的处理方法
TFS Release中自定义步骤时,可以选择“命令行”,官方的文档中,并没有描述调用相关的程序后,如何返回失败信息.通过下面步骤,可以实现本标题描述的功能. 步骤一:编写Console Applic ...
- linux配置防火墙详细步骤(iptables命令使用方法)
通过本教程操作,请确认您能使用linux本机.如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重! 通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能 ...
- bash处理一条命令的步骤
Shell执行一条命令步骤 参考链接: <Learning the bash Shell, 3rd Edition -- 7.3. Command-Line Processing> &l ...
- 【C语言入门教程】2.8 C 语言的预处理命令
预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件.预处理命令扩展了 C 语言,本节将选择其中一些常用的预处理命令进行讲解. 2.8.1 宏替换命令 宏替换命令的作用类似于对 ...
- 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出
[源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...
- C语言之预处理命令与用typedef命名已有类型
预处理命令 主要是改进程序设计环境,以提高编程效率,不属于c语言本身的组成部分,不能直接对它们进行编译,必须在对 程序编译之前,先对程序中的这些特殊命令进行“预处理”.比如头文件. 有以下三类:宏定义 ...
- C语言中的预处理命令
预处理功能是C语言的重要功能. 问:为什么要预处理,什么是预处理? 答:我们知道高级语言的运行过程是通过编译程序(编译器)把源代码翻译成机器语言,实现运行的.编译程序的工作包含:语法分析.词法分析.代 ...
- C 语言入门第八章--C语言预处理命令
例如:#include ,这种以#号开头的命令称为预处理命令. ===C语言宏定义(#define的用法)==== #define 叫做宏定义命令,它也是C语言预处理命令的一种.所谓宏定义,就是用一个 ...
- C/C++编程笔记:C语言预处理命令是什么?不要以为你直接写#就行!
很多小伙伴在自己写代码的时候,已经多次使用过#include命令.使用库函数之前,应该用#include引入对应的头文件.其实这种以#号开头的命令称为预处理命令. C语言源文件要经过编译.链接才能生成 ...
随机推荐
- 【模板】倍增求LCA
题目链接 一. 时间戳法(本质上是dfs序) #include<cstdio> using namespace std; const int NN = 5e5+8; int n,m,s; ...
- MongoDB Compass的安装及使用图文说明(非常详细)
1.下载 MongoDB Compass 预编译二进制包下载地址:https://www.mongodb.com/try/download/compass 2.安装 MongoDB Compass 的 ...
- STM32F0_HAL初始化系列:串口DMA输出
static void MX_USART1_UART_Init(void) { /* USER CODE BEGIN USART1_Init 0 */ /* USER CODE END USART1_ ...
- Eureka 注册中心和服务提供者
什么是Eureka组件 spring cloud Eureka ,提供服务注册和服务发现的功能. 一:spring cloud Eureka Eureka Server 服务端 Eureka Clie ...
- vue组件的对象式写法,vue中的h函数
render:将虚拟dom转为真实dom h函数:创建的是vnode,也可以成为createVnode函数 语法:h(元素名称 ,这个元素的数据,子集) 第一个参数:可以为一个html标签,一个组件, ...
- 滴水 1.c++类 this指针 笔记+指针
1.结构体带参数传递 将结构体的数据压入堆栈中 然后进入函数内进行处理 2.结构体指针传递 将this指针压入进去 来查找 a b数据 3.函数可以放在结构体里面,也可以放在结构体外面 放入进去后 但 ...
- navicat无法连接linux内的防火墙
解决方法:开放mysql的端口(3306).然后重启防火墙.或者直接关闭防火墙.具体代码如下: firewall-cmd --zone=public --add-port=3306/tcp --per ...
- JZOJ 2022.07.06【提高组A】模拟
历程 被暴打了 原因是钻进了 \(T4\) 的坑中... 先看完题,发现 \(T4\) 比较有意思,\(T2\) 没有想法 \(T3\) 挺容易,做法似乎很好想 \(T1\) 送分,十几分钟搞定 然后 ...
- 基于PostGIS使用GeoServer发布数据量大的GPS轨迹路线图
1. 引言 人类在行走或者驾驶过程中产生的GPS轨迹,是道路的一种采样,根据GPS轨迹路线,我们可以推知道路的存在,根据轨迹的密度,可以推知道路的热度以及重要性.如何才能在地图中显示大量的轨迹,这是一 ...
- 理论+实战,详解Sharding Sphere-jdbc
摘要:Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-Proxy和ShardingSphere-JDBC. 本文分享自华为云社区 ...