Python 2.7 如何分割数据数组,同时保留每个段的原始全局坐标系?

Python 2.7 如何分割数据数组,同时保留每个段的原始全局坐标系?,python-2.7,numpy,coordinates,segment,preserve,Python 2.7,Numpy,Coordinates,Segment,Preserve,我有一个矩阵,我只是尝试将其分割成大小相等的面片,同时还保留每个面片的坐标系(从它们在数据文件中的原始位置)。我需要能够对它们进行分段,然后索引每个分段上仍与原始全局坐标系(而不是新创建的坐标系)关联的点: 非常感谢您的帮助。在numpy中没有全局坐标系。索引基于形状和步幅属性,而不是某种索引映射。您必须创建并维护自己的坐标。例如,使用meshgrid或mgrid生成索引,并将extract\u块应用于这些数组。@hpaulj-Hmm,很好知道。非常感谢你! from pylab import

我有一个矩阵,我只是尝试将其分割成大小相等的面片,同时还保留每个面片的坐标系(从它们在数据文件中的原始位置)。我需要能够对它们进行分段,然后索引每个分段上仍与原始全局坐标系(而不是新创建的坐标系)关联的点:


非常感谢您的帮助。

numpy
中没有
全局坐标系。索引基于
形状
步幅
属性,而不是某种索引映射。您必须创建并维护自己的坐标。例如,使用
meshgrid
mgrid
生成索引,并将
extract\u块
应用于这些数组。@hpaulj-Hmm,很好知道。非常感谢你!
from pylab import imshow, show
import numpy as np

image = np.random.randint(2, size=(70, 70))

lenX = int(70)
lenY = int(70)

def extract_blocks(a, blocksize):
    M,N = a.shape
    b0, b1 = blocksize
    return a.reshape(M//b0,b0,N//b1,b1).swapaxes(1,2).reshape(-1,b0,b1)

#imshow(extract_blocks(image, (int(lenX/2),int(lenY/2)))[0]) #these coordinates are correct
imshow(extract_blocks(image, (int(lenX/2),int(lenY/2)))[1]) #these coords should be x+35
    #...but instead are the same as above
#imshow(extract_blocks(image, (int(lenX/2),int(lenY/2)))[2]) #etc.
#imshow(extract_blocks(image, (int(lenX/2),int(lenY/2)))[3]) #etc.

show()