Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有.nii.gz文件的医学成像(吡喃组学)_Python_Image_Medical_Nifti - Fatal编程技术网

Python 带有.nii.gz文件的医学成像(吡喃组学)

Python 带有.nii.gz文件的医学成像(吡喃组学),python,image,medical,nifti,Python,Image,Medical,Nifti,我正在尝试实施该方案: 它看起来非常简单,但他们需要.nrrd文件。 我的文件是.nii.gz。如何解决这个问题? 还有,是否有人试图在TCIA数据上应用吡喃组学?如果是这样,我可以看看你的github或Jupyter笔记本吗 非常感谢 [1]将扩散加权MR图像[2]串联转换为nrrd格式,以便在切片机中进行分析。它解析报头以提取有关测量帧、扩散加权方向、b值等的必要信息,并写出一幅nrrd图像。对于非扩散加权图像,它加载整个系列,并以.nhdr/.raw对写出单个卷 因此,使用此工具可以尝试

我正在尝试实施该方案:

它看起来非常简单,但他们需要.nrrd文件。 我的文件是.nii.gz。如何解决这个问题? 还有,是否有人试图在TCIA数据上应用吡喃组学?如果是这样,我可以看看你的github或Jupyter笔记本吗

非常感谢

[1]将扩散加权MR图像[2]串联转换为
nrrd
格式,以便在切片机中进行分析。它解析报头以提取有关测量帧、扩散加权方向、b值等的必要信息,并写出一幅
nrrd
图像。对于非扩散加权图像,它加载整个系列,并以
.nhdr/.raw
对写出单个卷

因此,使用此工具可以尝试将.nii.gz内部文件转换为
nrrd
格式。此外,您还可以查看[3],它是一个类似的模块

[1] 詹森、安德鲁·p.和克里斯托弗·巴特森。“使用交互式、患者特异性模型针对神经纤维束进行脑深部刺激治疗”,《可视化实验杂志》:JoVE 138(2018)

[2] Roger J.Ordidge等人,“使用导航回波校正扩散加权MR图像中的运动伪影”,磁共振成像12.3(1994):455-460


[3] 以赛亚·诺顿、瓦利德·伊本·埃塞德、范张、索尼娅·普约尔、亚历克斯·亚马科维奇、亚历山德拉·戈尔比、戈登·金德曼、德米安·沃瑟曼、劳尔·圣何塞·埃斯特帕、约格什·拉蒂、史蒂夫·皮珀、罗恩·基基基基基尼斯、汉斯·J·约翰逊、卡尔·弗雷德里克·威斯汀和劳伦·奥唐纳。SlicerMRI:用于脑癌研究的开源扩散MRI软件。癌症研究77(21),e101-E1032017。

尽管示例在.nrrd中,吡喃组学使用SimpleTk进行图像操作。这使得PyRadiomics能够支持一系列图像格式,包括.nii.gz。您不必转换它们。

您可以先将NII转换为numpy数组,然后使用以下命令将其转换为NRRD:


我相信你有NifTI档案。用于转换DICOMNifTInrrd的DWIConverter,请检查或切片如果执行此操作,将丢失NII文件中存储的所有元数据。元数据是可以考虑的基本事物,如仿射矩阵、切片分离等。当转换成NUMPY数组时,这些信息就丢失了。
import numpy as np
import nibabel as nib
import nrrd

# Download NII
example_filename = "image.nii.gz"
image = nib.load(example_filename)

# Turn into numpy array
array = np.array(img.dataobj)

# Save NRRD
nrrd_path_to = "image.nrrd"
nrrd.write(image_path_to, array)