// images must have same size static int[] sumOfBinaryImages(L images) { int n = l(images); if (n == 0) null; var it = iterator(images); var img = it.next(); int w = img.getWidth(), h = img.getHeight(); int[] pixels = new[w*h]; int nBytes = (w*h+7)/8; var pingSource = pingSource(); while (true) { ping(pingSource); Image2B realizedImage = img.toImage2B(); byte[] imgPixels = realizedImage.pixels; int j = 0; for i to nBytes: { int b = imgPixels[i]; for bit to 8: { pixels[j++] += b & 1; b >>= 1; } } if (!it.hasNext()) break; img = it.next(); } ret pixels; }