如何阅读这段包含“ nibabel”的代码?

时间:2019-07-10 21:05:05

标签: python-3.x

我必须使用其他人的代码。该代码与 NiBabel一个用于 访问神经影像文件格式的声音 的程序/库,我真的无法理解以下代码的作用:

folderData = os.path.dirname(ground_truth_path)
result = os.path.join(folderData, name + '.nii.gz')
nib.save(nib.Nifti1Image(Seg, nib.load(ground_truth_path).affine),result)

注意:“名称”是这段代码所属函数的输入。

我认为第一行提供给定路径的目录,第二行向该目录添加内容。但是我真的看不到第三行会发生什么。有人可以解释吗?

1 个答案:

答案 0 :(得分:0)

以下行被揭穿:

nib.save(nib.Nifti1Image(Seg, nib.load(ground_truth_path).affine),result)

nib.save =将已处理的图像段或图像保存到文件路径“结果”:
(nib.Nifti1Image(Seg, nib.load(ground_truth_path).affine),result)

  1. nib.Nifti1Image = Nifti1Image(dataobj,affine [,header,…])一个用于单个文件NIfTI1格式图像的类。

  2. nib.load(ground_truth_path).affine =从给定路径加载分割信息并应用图像分割变换。

  3. (Seg, nib.load(ground_truth_path).affine) =从图像执行检索数据段(位于结果处)? '赛格是一个错字。另请参见here,其中seg = nib.load..etc。请参见下文进行更正。

  4. .affine =仿射变换,用于确定图像元素的世界坐标。

  5. result =结果的图像位置。

代码缺少方括号,并且包含“ seg”拼写错误,应为:

  

new = nib.save(nib.Nifti1Image((nib.load(ground_truth_path).affine),result))

old = nib.save(nib.Nifti1Image(Seg, nib.load(ground_truth_path).affine),result)