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语言源文件要经过编译.链接才能生成 ...
随机推荐
- rust 模块、路径、项目类型等相关内容
rust 模块路径 转载 https://blog.csdn.net/wowotuo/article/details/107591501 rust 项目编译类型 转载 https://blog.51c ...
- ElasticSearch使用教程
一.ElasticSearch使用说明 1. 索引 index,相当于数据库表Table 1.1 查看所有索引 GET _cat/indices?v 1.2 创建索引字段映射关系 PUT /test ...
- Serverless Streaming:毫秒级流式大文件处理探秘
摘要:本文将以图片处理的场景作为例子详细描述当前的问题以及华为云FunctionGraph函数工作流在面对该问题时采取的一系列实践. 文章作者|旧浪:华为云Serverless研发专家.平山:华为云中 ...
- SRS视频服务器CallBack的Demo
1.安装环境(很麻烦,可以选择编译启动) 官方文档快速开始docker配置: docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -d ...
- 理解JS函数之call,apply,bind
前言 在 JavaScript 中,apply.bind 和 call 是三个重要的函数,它们都是 Function.prototype 的方法.这些函数可以让我们动态地改变函数的 this 值,或者 ...
- HACKNOS: RECONFORCE (V1.1)
HACKNOS: RECONFORCE (V1.1) 目录 HACKNOS: RECONFORCE (V1.1) 1 信息收集 1.1 端口扫描 1.2 ftp分析 1.3 后台目录扫描 1.2.1 ...
- IP转换
IP转换 目录 IP转换 1 127.1 ? 2 IPv4两段点分十进制表示 3 IPv4一段十进制表示 4 IPv4地址有效地变换形式 5 IP地址进制转换网站 6 参考博客 1 127.1 ? 首 ...
- JAVA快速获取网络图片或者URL图片并保存到本地
JAVA快速获取网络图片或者URL图片并保存到本地,直接上代码: package com.xh.service;import org.springframework.stereotype.Servic ...
- Django中admin的一些知识点
Django中的Admin站点管理: 内容发布的部分由网站的管理员负责,包括查看.添加.修改.删除数据: Django项目中默认启用Admin管理站点:列表页选项, 编辑页选项, 重写模板. #准备工 ...
- pytorch 衣服等
衣服 pytorch BP神经网路 猫狗