问题标签 [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.
python - 处理nii.gz时如何避免大数据问题?
我有nii.gz
每个文件的数据集,1G
包括4d
张量。我知道有两种阅读它们的方法,如下所示:
或者
问题是读取整个张量很昂贵,我只需要一片。还有其他方法吗?
image-segmentation - 加载 nii.zip(压缩)3d 分割文件
我知道 SimpleITK 可以读取 Nifty (.nii) 格式的 3d 图像,并且它支持 nii.gz 压缩版本。但是,我无法加载 nii.zip 文件。如果我尝试直接解压缩/提取这些文件,这些文件会抛出错误,并且 SimpleITK 也不会将它们识别为可读格式之一。
数据集供参考:https ://academictorrents.com/details/27772adef6f563a1ecc0ae19a528b956e6c803ce
c++ - 包含两个外部库会导致 dirent.h 错误
我的程序包括两个外部库的头文件:nifti_io.h
和CImg.h
(分别从此处和此处下载)。编译器(Code::Blocks 中的 GCC 8.2.0)返回了这些奇怪的错误/usr/include/dirent.h
- IDE 中的构建消息是:
在从字面上注释掉所有内容之后(包括这些库之后的所有程序都是int main() { return (0); }
),错误仍然存在。
仅包括其中一个(或nifti1_io.h
或CImg.h
)编译时不会出现错误或警告。包括他们两个返回上面的输出。
有谁知道是什么原因造成的以及如何解决它?我的猜测是它与编译器指令有关,特别是那些涉及extern "C"
. 我想保持包含的头文件完整,因为它们不是我的。
python - 打开 nifti 文件时出现内存不足错误随机发生
我正在尝试使用 nibabel 库(作为 nib)和以下代码打开一个压缩的漂亮文件:
wherenifti_file
是一个变量,其中包含同一目录中文件的路径。
在第二行,当我尝试运行这两行时,有 60% 的时间随机发生内存不足错误。我的计算机上有足够的内存空间,所以我不确定为什么会发生这种情况,而且正如我提到的,有时它可以正常工作。
python - 将 itk(nifti 文件)转换为 polydata 图像(.vtk)
我正在使用nifti
格式为 (.nii) 的 MRI 数据库,但我想将它们转换为多数据图像.vtk
。我用了很多不同的方法:像miconv、itksnap,我下载了vtk、itk、itkvtkglue……但是没有人给我一个好的结果。所以请帮助我。
python - 有没有解决方案来调整 3d 数据的大小而不会使数据变得混乱?
我使用此代码调整 3d nifti 数据的大小,但是当我检查结果时,我发现它很乱并且轴已更改
python - 成像:将值替换为 0 超过特定阈值
我有大小为 (57, 66, 40) 的 float64 类型的数据。我想用 0 替换所有小于 0.9 的值。
我尝试了没有循环的最简单方法:
但是后来我得到了threshold_data 作为类型bool,大小为(55318,)。所以我失去了图像的尺寸。有人可以帮助我如何做到这一点,我仍然有我的尺寸图像(57、66、40),只需将 <0.9 的值替换为 0。
python - 了解 NIFTI 图像的图像数据的取值范围
我正在使用 Python 3.7 和 SimpleITK 1.2.4 读取 NIFTI 文件。
我已使用此代码显示标题信息(您可以在此处找到标题信息):
这是它的输出:
使用 imageJ 程序,当我点击 Image => Show info...
而且,当我单击图像 => 属性时,我知道图像是一个通道。
如果我想知道图像数据的取值范围,我怎么知道呢?因为每像素的位数是 32,并且图像有一个通道,但我不知道它们的值是从 0.0 到 1.0,还是从 0.0 到 255.0。
对于图像数据,我指的是每个像素的值。
更新
我已经使用 Numpy 通过以下代码从图像数据中了解最大值和最小值:
这是它的输出:
也许,我正在寻找的最小值和最大值是:0.0
和2380.6191
.
python - 如何将 3d Nifti(.nii) 图像切片为具有特定平面的 2d 图像?
我正在编写一个可以估计 3d Nifti(.nii) 图像清晰度的脚本。在我的方法中,我需要先取出它的 xz(axis) 切片,然后将其保存为 .png 文件。(为了提高效率,只取一个)然后,估计图像的清晰度。但是,我不知道如何用特定平面(切片)切片 3d 图像。是否有任何现有的代码或库可以进行切片?
我正在使用 Python 3.7(在 Window 10 中运行)。
我试过这个库:https ://pypi.org/project/nii2png/ 但是,它不能输出单个硅片。
我也试过这个页面的方法 https://nipy.org/nibabel/coordinate_systems.html#introducing-someone 但是,它不起作用。原因可能是 Nifti 文件不同。我认为有两种 nifti 格式的文件。
然后我得到错误:
python - 将一个晦涩的文件类型输入到 tensorflow
我目前正在尝试在 MRI 扫描图像上训练神经网络模型。这些图像采用 NIfTI (.nii) 文件格式,我不相信 tensorflow 或 keras 具有固有的读取能力。我有一个 python 包,允许我在 python 中读取这些文件,但是我无法弄清楚如何将该包与 tensorflow 接口。我首先创建一个 tf.data.Dataset 对象,其中包含每个 MRI 扫描的路径,然后我尝试使用 Dataset.map() 函数读取每个文件并创建图像、标签对的数据集。我的问题是 tf.data.Dataset 对象似乎将每个文件名存储在张量而不是字符串中,但是可以读取 .nii 文件类型的函数无法读取张量。有没有办法将文件路径字符串张量转换为可读字符串以允许我打开文件?如果不,