1

目前我正在尝试在 Linux 命令行上的成像文件(scan.nii.gz)上运行 MRI 软件(TBSS)。

扫描文件都存储在不同参与者的单独文件夹中,文件名相同,因此:

/home/scans/participant1/scan.nii.gz

/home/scans/participant2/scan.nii.gz

/home/scans/participant3/scan.nii.gz

该软件的作用是在当前工作目录中创建分析结果。由于扫描具有相同的图像名称,因此它们会一直被覆盖。

我想遍历所有参与者文件夹,使其成为我的工作目录,然后执行 tbss 命令,它就是 tbss_1_preproc scan.nii.gz。这样,文件就会保存在当前工作目录中,也就是参与者目录。

在 Linux 中这样做有什么明智的方法吗?

非常感谢 !

4

1 回答 1

0

在 BASH 中尝试一下。下面的代码未经测试,但它应该给你一个线索

#! /bin/bash

find . -name scan.nii.gz | while read line
do
   cd $(dirname "${line}")
   tbss_1_preproc $(basename "${line}")
done

将其放入文件中并使其可执行。将其复制到您的扫描文件夹并执行它。

于 2015-05-07T10:41:08.243 回答