我试图用Ndarray来理解这段代码会发生什么:
max_evecs = evecs[..., :, 0]
其中evecs为ndarray类型。到目前为止,我知道“:”是一个切片运算符,“…”是一个所谓的椭圆。到目前为止,“:”表示所有元素,“…”表示所需的任意多个元素。我用形状研究了阵列:
>>> max_evecs.shape
(128, 128, 72)
>>> evecs.shape
(128, 128, 72, 3)
我可以想象,它试图将一个3D数组转换成一个三元组数组(x,y,z)。但我不确定。你知道吗
对于那些关心的人:它来自dipy软件包:functionquantize_evecs
insidehttps://github.com/nipy/dipy/blob/ff75b192f694cdb62cc11310159cdb652ce62073/dipy/reconst/dti.py行,大约1663年
从http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
因此,在您的示例中,
evecs
的ndim
等于4,下面是等价的:它也有助于尝试互动的东西,以获得一种感觉。对于一些简单的数据,例如
a = np.random.rand(3, 3, 2)
,试着打印出a
和它的各个部分,如a[..., 0]
和a[1, ...]
以及类似的内容,看看它们之间的关系。你知道吗相关问题 更多 >
编程相关推荐