问题标签 [nilearn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3228 浏览

python - ImportError:没有名为“nilearn”的模块

我正在尝试使用and绘制.nii数据。我正在使用 python 3.5 并成功安装了这两个软件包。但是,当我尝试导入模块时,它正在返回 -nibabelnilearnImportError: No module named 'nilearn'.

在此处输入图像描述

我在这里想念什么?

0 投票
0 回答
176 浏览

python - 由于 4D numpy 数组而出现 ValueError?sklearn 和 nilearn

我正在尝试将一些 MRI 灰质图图像作为 numpy 数组加载,以便它们可以在 sklearn 中进行处理。我的代码导入它们并使用 NiftiMasker 加载它们(NiftiMasker 对图像应用掩码以提取时间序列,我认为这是导致错误的 numpy 数组中的第 4 维)。当我尝试运行此代码时出现 ValueError ,因为由于某种原因,当我只需要一个 3D 数组时,数据被加载为 4D numpy 数组。有没有办法减少数组的维度或其他方法来解决这个错误?这是代码:

这是错误和回溯:

0 投票
1 回答
167 浏览

python - 找不到 fsl.Merge() 命令(通过 nipype.interfaces 使用时)

我已经安装了这些:

示例代码:

它给出了错误:

OSError:在主机上找不到命令“fslmerge”。请检查是否安装了相应的软件包。

你能帮我么?

0 投票
0 回答
117 浏览

python - 如何创建具有多个输入的管道?

我想通过使用二进制掩码来应用特征选择。二进制掩码是通过使用模板文件和阈值创建的,因此掩码文件中的 1 和 0 与模板对象中高于或低于该阈值的值相对应。在下一步中,我想使用此掩码“剪切”数据集中的特征,并将此特征选择子集传递给其他后续管道步骤。掩码构建过程和预处理过程都使用关键字参数(例如我刚才提到的阈值),它们可以被视为超参数,因此可以通过嵌套交叉验证进行优化。我怎样才能(或者更好地)在一个管道中实现掩模构建过程的优化和以下管道步骤?

这是使用 nilearn 的 oasis 数据集的示例:

假设我有一个名为 nifti 的文件template,它用作二进制掩码的模板。我还有来自 30 个主题(特征)及其年龄(标签)的灰质 mri 图像:

管道应该将模板和特征都作为输入。然后应用嵌套交叉验证来找到最佳超参数。管道必须包含一个切割函数mask_cutter,该函数将掩码和特征作为输入,并返回原始数据集的特征子集。在这个例子中,阈值set_mask和 C 参数svc都应该被优化(注意以下部分是无效的伪代码):

0 投票
2 回答
1644 浏览

filenames - ImageFileError:无法计算出“.nii”的文件类型

当我尝试加载我的 . NII文件作为 4D Niimg-like 对象(我已经尝试过nilearnnibabel),

我收到以下错误

错误:ImageFileError:无法计算出“/Users/audreyphan/Documents/Spring2020/DESPO/res4d/1/res4d_anat.nii”的文件类型

这是我的代码:

两次尝试都会导致相同的错误。

我不确定是什么导致了这个错误的发生?

谢谢!

0 投票
1 回答
288 浏览

scikit-learn - 在三维空间中分别绘制从 sklearn.decomposition.PCA 派生的 PCA 分量

对于我的项目,我使用三维 MRI 数据,其中第四维代表不同的主题(为此我使用包nilearn)。我sklearn.decomposition.PCA用来从我的数据中提取给定数量的主成分。现在我想在大脑图像上分别绘制组件,也就是说,我想用不同颜色显示我提取的组件(在本例中为 2)的大脑图像。

这是使用 OASIS 数据集的示例代码,可以通过nilearn API下载:

  1. 掩蔽 using nilearn.input_data.NiftiMasker,它将我的 4 维数据转换为 2 维数组(n_subjects x n_voxels)。
  2. 使用标准化数据矩阵StandardScaler
  3. 使用以下方式运行 PCA sklearn.decomposition.PCA

据我了解,我在运行 PCA 后获得的是 PCA 负载吗?不幸的是,我不明白如何从这得到两个图像,每个图像都包含一个 PCA 组件。

0 投票
2 回答
477 浏览

numpy - 在 nilearn/numpy 中交换 3D 图像的轴

我正在处理一些神经影像数据,我的扫描尺寸是 (100, 150, 100)。我目前正在使用 nibabel 格式的文件。

有没有很好的方法来交换轴?例如,我希望我的图像为 (100, 100, 150)。我希望它采用 nibabel 格式,但如果需要,我可以将图像保存到 numpy ndarray,然后也可以在那里进行工作。在这种情况下,在 numpy 中是否有一种很好的方法来做到这一点?

感谢您的帮助!

0 投票
0 回答
240 浏览

python - 使用 nilearn 进行 3D 图像可视化

我使用 plot_glass_brain 用 nilearn 可视化 3D 图像(Nifti),但显示不正确。见下面的代码和图片

2_1_t2.nii文件可在此链接上找到:https ://drive.google.com/file/d/1_gsg8sO9c7Ws6Xd7xB1uFSW8H31tAHtm/view?usp=sharing

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
498 浏览

python - 重新排序 Nifti 文件轴

我有一些尺寸为(50、100、50)的 3D nifti 文件。我想翻转 y 和 z 轴,使尺寸为(50、50、100)。执行此操作的最佳方法是什么,我将如何修改与文件相关的仿射?

目前,我正在将 nifti 文件制作成一个 numpy 数组并像这样交换轴

我对下一步感到困惑。我知道我可以使用该函数nib.Nifti1Image将 numpy 数组变成一个 nifti 对象,但是我将如何修改仿射以考虑轴的变化?

感谢您的任何帮助。

0 投票
1 回答
367 浏览

python - 如何使用 nilearn 和 matplotlib 子图绘制 3D 大脑图像的多个切片

我是编码新手,所以如果我完全错了,请告诉我。

我想使用 nilearn 绘制 25 个脑部扫描切片。这 25 个切片应沿 z 轴以 value=2 的步长移动。我想使用子图来使用子图来呈现它们。

这是我到目前为止所拥有的:

'rsn_four' 是粗体扫描的 3D Nifti 文件。

输出:

我认为我最大的问题之一是,我不知道如何实现,每个轴我想要 np.arange() 的 5 个值,然后将其带到下一个轴继续计数。

如果我错过了一些信息,请告诉我,这是我在这里的第一篇文章!