Edit:
- , . , ( ), . ( , 3 ). ,
x = np.maximum(x, y)
,
x[y > x] = y[y > x]
ind = y > x
x[ind] = y[ind]
. - :
import numpy as np
from multiprocessing import Pool
def process(chunk):
max_ = np.zeros((4000, 4000))
for im in chunk:
im_array = np.array(Image.open(im))
max_ = np.maximum(max_, im_array)
return max_
if __name__ == "__main__":
p = Pool(8)
chunksize = 500
chunks = [files[i:i+chunksize]
for i in range(0, len(files), chunksize)]
max_arrays = np.array(p.map(process, chunks))
maxi = np.amax(max_array, axis=0)
img = Image.fromarray(maxi)
, , , , . .
? ? , - :
maxi = np.zeros(image_shape)
for im in files:
im_array = np.array(Image.open(im))
inds = im_array > maxi
maxi[inds] = im_array[inds]
max_im = Image.fromarray(maxi)
max_im.save("max_intensity.tif")
maxi (x, y). . , for, 3, .