• fslmaths/fslstats/fslmeants


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

    # Usage: fslmaths [-dt ]  [operations and inputs]  [-odt ]
    
    • 1

    -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 : 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

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

    -l : 设置较低的阈值
    -u : 设置上限阈值
    -r : 输出
    -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
    
    • 1
    • 2
    • 3
    • 4

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

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

    #Usage: fslmeants -i  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的值作为权重,然后退出。
    	
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    例如从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
    
    • 1
    • 2
    • 3
    • 4

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

  • 相关阅读:
    k8s1.24.3搭建
    1404. 将二进制表示减到1的步骤数
    docker部署完mysql无法连接
    剑指 Offer II 024. 反转链表
    Win10系统下torch.cuda.is_available()返回为False的问题解决
    jenkins部署-linux为例
    回收站清空了怎么恢复?数据恢复,有这些就足够了
    JDBC进行批量插入数据操作
    【Java】面向对象程序设计 错题本
    Java入门
  • 原文地址:https://blog.csdn.net/weixin_51192938/article/details/133658675