我必须使用其他人的代码。该代码与
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)
注意:“名称”是这段代码所属函数的输入。
我认为第一行提供给定路径的目录,第二行向该目录添加内容。但是我真的看不到第三行会发生什么。有人可以解释吗?
答案 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)
nib.Nifti1Image
= Nifti1Image(dataobj,affine [,header,…])一个用于单个文件NIfTI1格式图像的类。
nib.load(ground_truth_path).affine
=从给定路径加载分割信息并应用图像分割变换。
(Seg, nib.load(ground_truth_path).affine)
=从图像执行检索数据段(位于结果处)? '赛格是一个错字。另请参见here,其中seg = nib.load..etc
。请参见下文进行更正。
.affine
=仿射变换,用于确定图像元素的世界坐标。
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)