合并多回声功能磁共振成像采集的多回声。

multiecho的Python项目详细描述


多回波组合

PyPI versionPyPI - Python Version

这个存储库提供了一个命令行工具来组合多回波BOLD功能磁共振成像采集的多个回波。 它目前提供了三种不同的回声消除算法:

algorithmdescription
1. averageEchoes are weighted equally
2. PAIDEchoes are weighted by their CNR, i.e. by their TE*tSNR contributions
3. TEEchoes are weighted by their TEs

有关多回波采集和组合方案的更多信息,请参阅(例如):

  • Poser et al. (2006)BOLD多回波EPI增强对比敏感度和减少伪影:并行获得的非均匀性脱敏功能磁共振成像。马格南。雷森。医学。55:6,第1227-35页。在
  • Posse, Stefan (2012)Multi Echo Acquisition。神经影像学62:2,第665-671页。在

Multiecho is developed at the Donders Institute of the Radboud University.

安装

要安装,只需运行:

pip install multiecho

这将为您提供该软件的最新稳定版本。要获得最新版本的软件,可以直接从github源代码存储库安装包:

^{pr2}$

或者,要获取最新(可能未发布)代码,请克隆此存储库并在存储库的根文件夹上运行以下命令:

pip install .

该工具只支持python3.6+。在

使用

一旦安装,名为mecombine的命令行工具将在您的路径中可用。可以通过运行mecombine -h找到详细的使用信息:

usage: combination.py [-h] [-o OUTPUTNAME] [-a {PAID,TE,average}]
                      [-w [WEIGHTS [WEIGHTS ...]]] [-s] [-v VOLUMES]
                      pattern

Combine multi-echo echoes.

Tools to combine multiple echoes from an fMRI acquisition.
It expects input files saved as NIfTIs, preferably organised
according to the BIDS standard.

Currently three different combination algorithms are supported, implementing
the following weighting schemes:

1. PAID => TE * SNR
2. TE => TE
3. Simple Average => 1

positional arguments:
  pattern               Globlike search pattern with path to select the echo
                        images that need to be combined. Because of the
                        search, be sure to check that not too many files are
                        being read

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUTNAME, --outputname OUTPUTNAME
                        File output name. If not a fullpath name, then the
                        output will be stored in the same folder as the input.
                        If empty, the output filename will be the filename of
                        the first echo appended with a '_combined' suffix
                        (default: )
  -a {PAID,TE,average}, --algorithm {PAID,TE,average}
                        Combination algorithm. Default: TE (default: TE)
  -w [WEIGHTS [WEIGHTS ...]], --weights [WEIGHTS [WEIGHTS ...]]
                        Weights (e.g. = echo times) for all echoes (default:
                        None)
  -s, --saveweights     If passed and algorithm is PAID, save weights
                        (default: False)
  -v VOLUMES, --volumes VOLUMES
                        Number of volumes that is used to compute the weights
                        if algorithm is PAID (default: 100)

examples:
  mecombine '/project/number/bids/sub-001/func/*_task-motor_*echo-*.nii.gz'
  mecombine '/project/number/bids/sub-001/func/*_task-rest_*echo-*.nii.gz' -a PAID
  mecombine '/project/number/bids/sub-001/func/*_acq-MBME_*run-01*.nii.gz' -w 11 22 33 -o sub-001_task-stroop_acq-mecombined_run-01_bold.nii.gz

注意事项

当我们把所有的数据集加载到内存中时,它是无效的。我们可以迭代这些卷,并且在任何给定的时间只将最后组合的序列保存在内存中。在

将回显与PAID组合时,可能会收到运行时警告。如果数据集的体素为零,例如,如果它们被屏蔽,除以0将导致无限的权重。您可以安全地忽略此警告,但在组合后一定要检查数据。在

默认情况下,PAID将根据最后100个交易量计算权重。这是否是最佳方案有待讨论。如果你在一小部分体积上测试组合,比如说5个左右,那么权重将不稳定,你的图像可能看起来有噪音。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束