fslmaths/fslstats/fslmeants

一、fslmaths

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

bash 复制代码
# 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

bash 复制代码
#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是一个用于计算各种数值的通用工具

bash 复制代码
> # 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限制。

bash 复制代码
#example 1
fslstats tfce_corrp_image.nii.gz -R 
#example 2
fslstats highres -m -M

三、fslmeants

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

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

bash 复制代码
#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平均值可以用以下命令

bash 复制代码
#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/
csdn博主

相关推荐
肖永威3 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong6 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
布鲁格若门10 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
C-cat.17 分钟前
Linux|进程程序替换
linux·服务器·microsoft
怀澈12219 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG21 分钟前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫23 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
skywalk81631 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry
C++忠实粉丝1 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
量子网络2 小时前
debian 如何进入root
linux·服务器·debian