FSL图像计算基础命令:fslmaths, fslstats, fslmeants

2023-05-16

一、fslmaths

fslmaths是一个功能非常强大的图像计算器,可以用来执行各种各样的图像处理。

# Usage: fslmaths [-dt <datatype>] <first_input> [operations and inputs] <output> [-odt <datatype>]

-dt 设置用于计算的数据类型(除double图像外,默认为浮点)。
-odt设置输出的数据类型(默认为浮点)。
可设置的数据类型有:char,short,int,float,double,input
"input "就是输入图像是什么数据类型就是什么类型

Binary operations:
-add : 将图像/数值添加到当前图像中
-sub :从当前图像中减去下面的输入图像/数值
-mul : 用当前图像乘以下面的输入图像/数值
-div : 前图像除以下面的输入图像/数值
-rem : 当前图像除以输入图像/数值并取余数
-mas : 用(输入的图像>0)来掩盖当前的图像
-thr : 用下面的数字作为当前图像的阈值(低于该数字的部分为零)。
-thrp : 使用以下ROBUST RANGE的百分比(0-100)对当前图像进行阈值设置(低于该数字的部分为零)
-thrP : 这个P是大写的,use following percentage (0-100) of ROBUST RANGE of non-zero voxels and threshold below
-uthr : 使用以下数字作为当前图像的阈值上限(超过该数字的部分为零)。
-uthrp : 使用以下ROBUST RANGE的百分比(0-100)对当前图像进行上限值处理(高于该数字的部分为零)
-uthrP : 这个P是大写的,use following percentage (0-100) of ROBUST RANGE of non-zero voxels and threshold above
-max : 取以下输入和当前图像的最大值
-min : 取以下输入和当前图像的最小值
-seed : seed random number generator with following number
-restart : replace the current image with input for future processing operations
-save : save the current working image to the input filename

Basic unary operations:
-exp : 指数
-log:自然对数
-sin : 正弦函数
-cos : 余弦函数
-tan : 正切函数
-asin : 正弦弧函数
-acos : 弧形余弦函数
-atan : 弧正切函数
-sqr : 平方
-sqrt:平方根
-recip : 倒数(1/current image)
-abs:绝对值
-bin : 使用(当前图像>0)进行二值化处理
-binv:二值化和反转(二值化和逻辑反转)。
-fillh : 填补二进制遮罩中的孔洞(孔洞是内部的,即不接触FOV的边缘)。
-fillh26:使用26个connectivity来填充孔。
-index : 用一个唯一的索引号替换每个非零体素
-grid : 添加一个强度为的三维网格,网格间距为。
-edge : 边强度
-tfce : 用TFCE增强,例如: -tfce 2 0.5 6 (对于骨架,也可以将6改为26)
-tfceS <tfce_thresh>: show support area for voxel (X,Y,Z)
-nan : 用0替换NaN
-nanm : 对于NaN体素,用0或1替换NaN。
-rand : 添加均匀噪声(范围0:1)
-randn : 添加高斯噪声(mean=0 sigma=1)
-inm : (-i i ip.c) 强度归一化(per 3D volume mean)
-ing : (-I i ip.c) 强度归一化,global 4D mean)
-range : set the output calmin/max to full data range

矩阵操作matrix operations
-tensor_decomp : 将4D(6-timepoint)张量图像转换成L1,2,3,FA,MD,MO,V1,2,3(管道中剩余的图像为FA)

Kernel operations内核操作
(如果需要,在滤波之前设置)。
-3D内核:以目标体素为中心的3x3x3盒子(设置为默认内核)。
-内核2D:以目标体素为中心的3x3x1盒子
-内核box : 以目标体素为中心,宽度为mm的立方体中的所有体素。
-kernel boxv : 以目标体素为中心,宽度为的立方体中的所有体素,注意:尺寸应该是奇数。
-kernel boxv3 : 以目标体素为中心,尺寸为X x Y x Z的立方体中的所有体素,注意:尺寸应该是奇数。
-kernel gauss :高斯核(sigma单位是毫米,而不是体素)。
-kernel sphere : 以目标体素为中心,半径为mm的球体中的所有体素。
-内核文件<文件名>:使用外部文件作为内核

Spatial Filtering operations空间滤波操作
注意:除了-s之外,所有选项都使用默认内核或之前由-kernel指定的内核。
-dilM : 非零体素的平均Dilation
-dilD : 非零体素的模态Dilation
-dilF : 对所有体素进行最大过滤
-dilall : 反复应用-dilM,直到覆盖整个FOV。
-ero:当内核中发现零体素时,通过将非零体素清零来进行侵蚀
-eroF:对所有体素进行最小化过滤
-fmedian : 中位数滤波
-fmean : 平均值过滤,内核加权(通常与高斯内核一起使用)
-fmeanu : 平均值滤波,内核加权,未归一化(给出edge effects)。
-s : 创建一个sigma mm的高斯核并进行平均滤波。
-subsamp2 : downsamples image by a factor of 2 (keeping new voxels centred on old)
-subsamp2offc:downsamples image by a factor of 2 (non-centred)

降维操作Dimensionality reduction operations
("T "可以用X、Y或Z代替,以便在不同维度上进行折叠)
-Tmean:跨时间的平均值
-Tstd:跨时间的标准偏差
-Tmax:跨时间的最大值
-Tmaxn:跨时间的最大值的时间指数
-Tmin:跨时间的最小值
-Tmedian : 各个时间段的中位数
-Tperc <百分比> : 全范围的第n个百分点(0-100)。
-Tar1 : temporal AR(1) coefficient (use -odt float and probably demean first)

基本统计操作Basic statistical operations
-pval : 非参数未校正的P值统计图像
-pval0 : 与-pval相同,但将零作为缺失数据。
-cpval : 与-pval相同,但给出了FWE修正的P值
-ztop : 将Z值图转换为(未校正的)P值图
-ptoz : 将(未校正的)P值图转换为Z值图
-rank : Convert data to ranks (over T dim)
-ranknorm:Transform to Normal dist via ranks

#example 1
fslmaths inputVolume -add inputVolume2 output_volume
#example 2
fslmaths inputVolume -add 2.5 output_volume
#example 3
fslmaths inputVolume -add 2.5 -mul inputVolume2 output_volume
#example 4
fslmaths 4D_inputVolume -Tmean -mul -1 -add 4D_inputVolume demeaned_4D_inputVolume

二、fslstats

fslstats是一个用于计算各种数值的通用工具

> # Usage: 
> fslstats [-t] <input> [options]`

-t 将计算4D图像的每个3D volume的值,每个volume是一行
-k < indexMask > 指定mask, 将从indexMask中生成单独的n个子任务,用于索引值1…n,其中n是indexMask中的最大索引值,并为每个子任务生成统计数据。比如某个atlas有10个分区,那么就会输出每个分区的统计值

-l : 设置较低的阈值
-u : 设置上限阈值
-r : 输出 <robust最小强度> <robust最大强度>。
-R : 输出<最小强度><最大强度>。
-E : 输出平均熵;mean(-i*ln(i))
-E : 输出平均熵(非零体素的)。
-v : 输出<体素><体积>。
-V : 输出<体素> <体积> (非零体素)
-m : 输出平均数
-M : 输出平均值(对于非零的体素)
-s : 输出标准差
-S : 输出标准差(对于非零的体素)。
-w : 输出最小的ROI 包含非零体素的ROI。
-x : 输出最大体素的坐标
-X : 输出最小体素的坐标
-c:输出centre-of-gravity(cog),以毫米为坐标。
-C : 输出以体素坐标表示的cog。
-p : 输出第n个百分位数(n在0和100之间)。
-P : 输出第n个百分位数(对非零体素)。
-a : 使用所有图像强度的绝对值
-n : 将NaN或Inf替换为0
-k : 使用指定的图像(文件名)进行遮蔽 - 覆盖下限和上限阈值
-d : 取基本图像和这里指定的图像之间的差值
-h : 输出一个带有nbins的直方图(只针对经过阈值/mask内的体素)。
-H : 输出一个直方图(只针对经过阈值/mask内的体素),有nbins和直方图的min和max限制。

#example 1
fslstats tfce_corrp_image.nii.gz -R 
#example 2
fslstats highres -m -M

三、fslmeants

fslmeants 可以输出ROI mask内参数的平均值

平均值取自mask内的所有体素,如果没有指定mask,则计算图像中的所有体素。

#Usage: fslmeants -i <filename> input 4D image
#example 1
fslmeants -i filtered_func_data -o meants.txt -m my_mask
# example 2
fslmeants -i filtered_func_data -m my_mask # input 3D mask
# example 3
fslmeants -i filtered_func_data -c 24 19 10 
#可选参数(你可以选择性地指定一个或多个):
	-o <filename>	输出txt文件的名字
	-m <filename>	输入3D mask
	-c <x y z>	 坐标值
	--usemm		使用mm而不是体素坐标(针对-c选项)
	--showall	显示mask内所有体素的参数值
	--eig	   计算特征变量而不是平均值(输出的平均值为0)。
	--order	 选择Eigenvariates的数量(默认为1)
	--no_bin	 在计算特征变量时不对mask进行二值化处理      
	--label	输入3D label图像(为每个整数label值生成单独的平均值 - 不能与showall一起使用)。
	--transpose	以转置格式输出结果(每个体素/平均数为一行)。
	-v,--诊断信息
	-h,--帮助
	-w	输出加权平均值,使用mask的值作为权重,然后退出。
	

例如从4D骨架图像中获取ROI平均值可以用以下命令

#fslmeants
fslmeants -i all_FA_skeletonised.nii.gz -m roimask -o meants_roi
#fslstats
fslstats -t all_FA_skeletonised.nii.gz -k roimask -M -V > meants2_roi

参考链接
https://lixiangcx.wordpress.com/2018/07/23/basic-fsl-image-calculation-commands/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FSL图像计算基础命令:fslmaths, fslstats, fslmeants 的相关文章

  • 防火墙firewall-cmd

    防火墙firewall cmd 一 centos7查看防火墙所有信息 firewall cmd list all 二 centos7查看防火墙开放的端口信息 firewall cmd list ports 三 开放 删除端口号 3 1 开放
  • docker与firewalld冲突解决

    firewall的底层是使用iptables进行数据过滤 xff0c 建立在iptables之上 xff0c 而docker使用iptables来进行网络隔离和管理 xff0c 这可能会与 Docker 产生冲突 当 firewalld 启
  • gradle和gradle wrapper

    wrapper保证了团队中每一个开发者都使用同样版本的Gradle并能使用Gradle进行项目构建 1 Gradle Wrapper 是什么 Gradle Wrapper 由几个文件组成 xff0c 这些文件在你的项目目录中 l gradl
  • ApplicationContextAware及InitializingBean及bean注入执行顺序

    1 spring先检查注解注入的 bean xff0c 并将它们实例化 2 然后 spring初始化 bean 的顺序是按照 xml 中配置的顺序依次执行构造 3 如果某个类实现了 ApplicationContextAware接口 xff
  • git 报错: http request failed

    解决方案 xff1a 卸载Centos自带的git1 7 1 xff0c 安装版本git2 2 1 1 查看当前git版本 git version git version 1 7 1 2 卸载git1 7 1 yum remove git
  • 关于sh时命令不识别无法正常执行.sh文件

    为什么不能执行呢 xff0c 因为我们的命令很多时候是以bash的规范的 xff0c 所以如果shell不是bash类型 xff0c 很容易出现命令不识别这类问题 先检查shell类型 echo SHELL 这是正常的 xff0c 是bas
  • Powershell美化(oh-my-posh)

    效果展示 xff1a 1 通过cmd下载oh my posh或者直接微软商店搜索下载 winget install oh my posh 2 打开powershell 7或者powershell xff08 推荐以下载的最高版本为主 xff
  • O2OA中如何使用PostgreSQL + Citus 实现分布式数据库实现方案?

    虽然 O2OA 数据表高效的表结构以及索引的设计已经极大程度地保障了数据存取操作的性能 xff0c 但是随着使用时间从增长 xff0c 数据表存放的数据量也会急剧增长 此时 xff0c 仍然需要有合适的方案来解决数据量产生的系统性能瓶颈 本
  • POI Excel导出样式设置

    HSSFSheet sheet 61 workbook createSheet 34 sheetName 34 创建sheet sheet setVerticallyCenter true 下面样式可作为导出左右分栏的表格模板 sheet
  • SQL强化:将相同的或连续的时间段合并

    问题描述 xff1a 有一张签到表 xff0c 需要将连续或相同的时间段合并 xff0c 即把多条记录查询合并成一条连续的时间段记录 数据表如下 xff1a DROP TABLE IF EXISTS 96 timesheets 96 CRE
  • Mysql实现数据的不重复写入(insert if not exists)以及新问题:ID自增不连续的解答

    最近做数据处理时候 xff0c 遇到一个问题 用一个id自增主键时候 xff0c 数据表中会插入大量重复数据 xff08 除ID不同 xff09 这虽然对最终数据处理结果没有影响 xff0c 但是有1个问题 xff0c 如果数据量超大 xf
  • 2014年秋找工作经历

    博主学渣一枚 xff0c 读研期间做过几个不上档次的管理系统 xff0c 学历不太好 xff0c 基础知识不太牢固 xff0c 所以校招找工作难免辛酸 记下这个过程 xff0c 以便日后回顾来时的路 9月 xff0c 酱油了 xff0c 只
  • 服务器端获取webservice客户端IP地址

    一 基于xfire发布的webservice获取客户端ip的方法 public String getClientIp String ip 61 34 34 try HttpServletRequest request 61 XFireSer
  • @Autowired,@Qualifier @Required @Resource @Component,@Service,@Controller,@Repository @PostConstruct

    1 64 Autowired 注解 xff1a 首先在使用时候需要引入配置 xff1a lt 该 BeanPostProcessor 将自动起作用 xff0c 对标注 64 Autowired 的 Bean 进行自动注入 gt lt bea
  • HTML中select标签单选多选详解

    select 元素可创建单选或多选菜单 当提交表单时 xff0c 浏览器会提交选定的项目 xff0c 或者收集用逗号分隔的多个选项 xff0c 将其合成一个单独的参数列表 xff0c 并且在将 lt select gt 表单数据提交给服务器
  • Tomcat正常启动,访问所有页面均报404异常,404异常总结

    今天遇到一个问题 xff1a Tomcat正常启动 xff0c 访问所有页面均报404异常 404异常 xff0c 很常见 xff0c 大多情况是路径错误 web xml文件映射路径写错 服务器设置 servlet的jar包未导进去或者没有
  • oracle中游标详细用法

    游标的概念 游标是SQL的一个内存工作区 xff0c 由系统或用户以变量的形式定义 游标的作用就是用于临时存储从数据库中提取的数据块 在某些情况下 xff0c 需要把数据从存放在磁盘的表中调到计算机内存中进行处理 xff0c 最后将处理结果
  • ckeditor 缺少图像源文件地址

    ckeditor 上传服务器 回显示js代码 javaweb整合ckeditor做上传图片的功能 xff0c 图片上传到tomcat服务器成功了 xff0c 但是没有跳转到到预览框里去 xff0c 却在原先的页面显示出这段js代码 xff1
  • centos7通过yum安装JDK1.8

    centos7通过yum安装JDK1 8 安装之前先检查一下系统有没有自带open jdk 命令 xff1a rpm qa grep java rpm qa grep jdk rpm qa grep gcj 如果没有输入信息表示没有安装 如
  • RenderThread线程报错记录

    RenderThread线程报错是很蛋疼的 xff0c 它是属于native报错 xff0c 而且还会有各种情况 04 23 16 31 38 343 17895 17895 F DEBUG 04 23 16 31 38 344 17895

随机推荐