【问题标题】:Can someone explain the process of this loop? what does it do?有人可以解释这个循环的过程吗?它有什么作用?
【发布时间】:2019-07-11 16:14:49
【问题描述】:

我正在尝试剥离 MRI 图像,但我无法理解这部分代码。具体来说:

for i in range(nii_images.shape[2]):
    data = nii_images[:,:,i]
    print(i)

一张 MRI 图像被剥离。

【问题讨论】:

  • nii_images 定义在哪里?
  • 如果你的意思是每个变量指的是什么,我们不知道;您需要检查其余代码或询问其作者。如果您的意思是循环的作用,它会遍历给定的对象,将名称 data 分配给该对象中的某些内容(可能是一个 numpy 数组,给定元组索引),然后打印循环计数器。
  • @user5173426 nii_images = img.get_data()
  • img 是什么?
  • 它沿其第三维提取 3d 数组的 2d 切片。对于图像,这些往往是颜色分量通道。

标签: python


【解决方案1】:

首先,我们需要了解循环在循环什么:

for i in range(nii_images.shape[2]):

nii.images 似乎是一个类,然后.shape 可能是该类中的一个数组。它似乎是一个数组数组,因为我们随后获得了 第三个​​ 元素 ([2]) 并在其上循环。

.

接下来,我认为您遇到的问题是切片。

data = nii_images[:,:,i]

你在使用 numpy 吗?因为这看起来像another post。或here。或over here

似乎选择了二维数据集的一列。不过,这似乎是一种奇怪的方式。正如Dan D. 所说,

它沿其第三维提取 3d 数组的 2d 切片。对于图像,这些往往是颜色分量通道。

这里的一些输出对于进一步理解数据非常有帮助。另外,你有什么理由需要理解代码吗?你能看一下文档吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2016-06-01
    • 2019-09-14
    • 1970-01-01
    相关资源
    最近更新 更多