问题标签 [nifti]

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 投票
1 回答
119 浏览

python - 向 nifti 文件添加维度

我有一个形状为 .nii 的 nifti 文件(.nii)(112, 176, 112)。我想为其添加另一个维度,使其变为(112, 176, 112, 3). 当我尝试时,img2 = np.arange(img).reshape(112,176,112,3)我得到一个错误。是否有可能用np.reshapenp.arange或任何其他方式做到这一点?

代码:

错误:

0 投票
1 回答
179 浏览

python - 用于大脑 MRI 的调情配准工具提供了令人难以置信的结果

我有一个大脑 MRI,其中包含来自这个角度的切片:

在此处输入图像描述

我正在使用名为Flirt的大脑 MRI注册工具。该代码也可用于Python

我尝试使用取自另一位患者且角度不同的脑部 MRI 作为参考 MRI。这是从这个 MRI 中截取的切片(所有文件都是 nifti 格式):

在此处输入图像描述

而现在,奇迹发生了。将第一个 MRI 作为配准工具的输入,将最后一个 MRI 作为参考 MRI

在此处输入图像描述

结果是配准工具 (Flirt) 的输出是 MRI,其中切片具有以下角度:

在此处输入图像描述

因此,配准工具似乎从输入 MRI 中提取了参考 MRI 的角度。这难以置信。这怎么可能 ?

0 投票
1 回答
72 浏览

python - 向数组添加维度

如果我有一个从具有形状的 nifti 文件加载的数组,(112, 176, 112)并且我想添加第四维但不限于形状(112, 176, 112, 3)

为什么这段代码允许我在我想要的第 4 维中添加许多层:

但是当我尝试向文件的第四维添加更高的层数时,我得到一个错误。代码仅在axis = 3. 如果axis = 2形状是(112, 176, 336, 1)

错误:

0 投票
2 回答
2240 浏览

volume - 如何计算 nifti 医学图像的单个体素的体积?

我已经使用 nibabel 工具加载了一个 nifti 图像文件,并且我已经使用了一些属性。但我不知道如何计算单个体素的体积(以 mm³ 为单位)。

0 投票
0 回答
128 浏览

dataset - 绘制 nifti 数据集中所有卷的直方图

我已经使用 nibabel 工具加载了一个 nifti 数据集,但我不知道如何绘制包含数据集中所有卷的直方图。

0 投票
1 回答
2017 浏览

python-3.x - 使用python解压缩gz格式的nifti医学图像

我想在 python 中解压缩一批 nii.gz 文件,以便稍后在sitk 中处理它们。当我通过右键单击文件并选择“Extract..”手动解压缩单个文件时,该文件会被 sitk 正确解释(我做的是 sitk.ReadImage(unzipped))。但是当我尝试使用以下代码在 python 中解压缩它时:

当 sitk 尝试读取文件时出现错误: RuntimeError: Exception throw in SimpleITK ReadImage: C:\d\VS14-Win64-pkg\SimpleITK\Code\IO\src\sitkImageReaderBase.cxx:82: sitk::ERROR: Unable确定“E:\BraTS19_2013_10_1_seg.nii”的 ImageIO 阅读器

同样,当尝试做一些不同的事情时:

我得到: RuntimeError: Exception throw in SimpleITK ReadImage: C:\d\VS14-Win64-pkg\SimpleITK-build\ITK\Modules\IO\PNG\src\itkPNGImageIO.cxx:101: itk::ERROR: PNGImageIO(0000022E3AF2C0C0 ): PNGImageIO 未能读取文件头:原因:fread 只读 0 而不是 8

谁能帮忙?

0 投票
1 回答
175 浏览

pytorch - NIFTI 数据对 Conv3D 大小没有意义?

所以我正在为医学图像编写自定义数据集,使用 .nii(NIFTI1 格式),但存在混淆。

我的数据加载器返回 shape torch.Size (1,1,256,256,51)。但是 NIFTI 卷使用解剖轴,不同的坐标系,因此置换轴没有任何意义,我通常会使用由 2D 图像组成的卷,每个图像分别存储在具有 51 个切片图像(或深度)的本地驱动器中,如Conv3D 遵循约定(N,C,D,H,W).

所以torch.Size (1,1,256,256,51)(通常 51 是深度)不遵循约定(N,C,D,H,W),但我不应该置换轴,因为数据使用完全不同的坐标系?

0 投票
0 回答
115 浏览

r - 如何从 R 中的 NIFTI 切片中提取图像补丁并保存为 png?

我正在尝试从一片 3d NIFTI 图像中提取 32x32 补丁并将其保存为 png。我在 R 中工作。NIFTI 图像包含 155 个 240x240 像素的切片。我已经在第 63 个切片上找到了感兴趣的区域,但是当我将其导出为 png 时,补丁默认保存为 480x480 像素大小。代码如下所示,其中 ROI 是一个 32x32 的区域,从 x 位置的 58:89、y 的 95:126 和切片 z=63 开始。

还有另一种方法可以使导出的png为32x32吗?还是有更有效的方法来做到这一点?

0 投票
0 回答
125 浏览

python - 许多数据集的相关热图

我正在使用 niftis(神经成像格式)查看大脑的 3D 体积。

我想将实验与大脑活动进行比较。

因此,我有大约 20 个 nifti 格式的实验文件。

和 4 个大脑活动文件也是 nifti 格式。

它们具有相同的大脑维度,并在大脑的特定区域/像素中显示一些值。

我如何绘制一个 sns.heatmap,它在 x 轴上有所有实验,在 y 轴上有所有活动文件。然后我想看一个热图相关图,用热图颜色绘制相关值。

我刚刚找到了 pandas 数据框的 sns.heatmap 图。有人可以帮忙吗?

我从

exp1, und act1 被读取为尺寸为 (57, 66, 40) 的 float64。

有人有想法吗?

示例数据:

0 投票
1 回答
106 浏览

python - 在 Django 中使用 Nibabel

我正在制作一个将 .nii 文件转换为 png(zip) 的网络应用程序。我已经在 python 中实现了主要逻辑,但在将其移植到 Web 应用程序时遇到了问题。

所以我想创建一个接受 .nii 文件并输出包含所有 .png 切片的 zip 文件的表单。到目前为止,我已经写了一个简单的视图:

视图.py

模型.py

不出所料,它不起作用,因为 nibabel.load 函数需要路径,而不是反对者 InMemoryUploadedFile。但我不知道还能做什么!