11 '''stdin: crop and file list
12 x0,y0 : top left (pixels)
19 x0, y0 = (int(i) for i in sys.stdin.readline().split(','))
20 xs, ys = (int(i) for i in sys.stdin.readline().split(','))
24 line = sys.stdin.readline()
29 sys.stderr.write(f'read {in_png:s}\n')
30 images.append(gamma.read_image(in_png)[y0:y0 + ys, x0:x0 + xs, :3])
31 out_pngs.append(out_png)
32 line = sys.stdin.readline()
33 images = numpy.stack(images, 0)
35 # get standardization parameters and remove from images
36 mean = numpy.mean(numpy.mean(images, 1), 1)
37 #images -= mean[:, numpy.newaxis, numpy.newaxis, :]
38 #stddev = numpy.sqrt(numpy.mean(numpy.mean(numpy.square(images), 1), 1))
39 #images /= stddev[:, numpy.newaxis, numpy.newaxis, :]
40 images /= mean[:, numpy.newaxis, numpy.newaxis, :]
42 # find a middle ground of standardization parameters and apply to images
43 #stddev = numpy.mean(stddev, 0)
44 #images *= stddev[numpy.newaxis, numpy.newaxis, numpy.newaxis, :]
45 mean = numpy.mean(mean, 0)
46 #images += mean[numpy.newaxis, numpy.newaxis, numpy.newaxis, :]
47 images *= mean[numpy.newaxis, numpy.newaxis, numpy.newaxis, :]
49 for i in range(len(out_pngs)):
50 sys.stderr.write(f'write {out_pngs[i]:s}\n')
51 gamma.write_image(out_pngs[i], images[i, :, :, :])