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_jpg:s}\n')
30 images.append(gamma.read_image(in_jpg)[y0:y0 + ys, x0:x0 + xs])
31 out_jpgs.append(out_jpg)
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, :]
41 # find a middle ground of standardization parameters and apply to images
42 stddev = numpy.mean(stddev, 0)
43 images *= stddev[numpy.newaxis, numpy.newaxis, numpy.newaxis, :]
44 #mean = numpy.mean(mean, 0)
45 #images += mean[numpy.newaxis, numpy.newaxis, numpy.newaxis, :]
47 for i in range(len(out_jpgs)):
48 sys.stderr.write(f'write {out_jpgs[i]:s}\n')
49 gamma.write_image(out_jpgs[i], images[i, :, :, :])