可変サイズの配列の原点とオフセットを計算して、辞書に保存しようとしています。これが私がこれを達成している可能性が高い非pythonicな方法です。コードをよりPythonicにするために、マップ、ラムダ関数、またはリスト内包表記を使用する必要があるかどうかはわかりません。
基本的に、合計サイズに基づいて配列のチャンクを切り取り、xstart、ystart、x_number_of_rows_to_read、y_number_of_columns_to_readを辞書に保存する必要があります。合計サイズは可変です。配列全体をメモリにロードしてnumpyインデックスを使用することはできません。そうしないと、間違いなく使用します。原点とオフセットは、配列をnumpyにするために使用されます。
intervalx = xsize / xsegment #Get the size of the chunks
intervaly = ysize / ysegment #Get the size of the chunks
#Setup to segment the image storing the start values and key into a dictionary.
xstart = 0
ystart = 0
key = 0
d = defaultdict(list)
for y in xrange(0, ysize, intervaly):
if y + (intervaly * 2) < ysize:
numberofrows = intervaly
else:
numberofrows = ysize - y
for x in xrange(0, xsize, intervalx):
if x + (intervalx * 2) < xsize:
numberofcolumns = intervalx
else:
numberofcolumns = xsize - x
l = [x,y,numberofcolumns, numberofrows]
d[key].append(l)
key += 1
return d
xrangeは3への移植には理想的ではないことに気づきました。