public static void checkImage(TiffReader reader, Plane originalPlane, boolean interleaved, int rgbChannels,
int seriesCount, int sizeT, String compression) throws FormatException, IOException {
for (int s=0; s<reader.getSeriesCount(); s++) {
reader.setSeries(s);
assertEquals(reader.getSizeC(), rgbChannels);
int imageCount = reader.isRGB() ? seriesCount * sizeT : rgbChannels * sizeT * seriesCount;
assertEquals(reader.getImageCount(), imageCount);
for (int image=0; image<reader.getImageCount(); image++) {
byte[] readPlane = reader.openBytes(image);
boolean lossy = compression.equals(COMPRESSION_JPEG) || compression.equals(COMPRESSION_J2K_LOSSY);
boolean isJ2K = compression.equals(COMPRESSION_J2K) || compression.equals(COMPRESSION_J2K_LOSSY);
boolean interleavedDiffs = interleaved || (isJ2K && !interleaved);
if (!(lossy || interleavedDiffs)) {
Plane newPlane = new Plane(readPlane, reader.isLittleEndian(),
!reader.isInterleaved(), reader.getRGBChannelCount(),
FormatTools.getPixelTypeString(reader.getPixelType()));
assert(originalPlane.equals(newPlane));
}
}
}
}