package edu.harvard.mcb.leschziner.convert;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Collection;
import java.util.Vector;
import loci.formats.FormatException;
import loci.formats.ImageReader;
import loci.formats.gui.BufferedImageReader;
public class AutoImageReader {
public static Collection<BufferedImage> readStack(String filename) {
Vector<BufferedImage> images = null;
try (ImageReader reader = new ImageReader();
BufferedImageReader imageReader = new BufferedImageReader(reader)) {
reader.setId(filename);
images = new Vector<>(reader.getImageCount());
for (int i = 0; i < reader.getImageCount(); i++) {
images.add(imageReader.openImage(i));
}
} catch (IOException e) {
e.printStackTrace();
} catch (FormatException e) {
e.printStackTrace();
}
return images;
}
public static BufferedImage readImage(String filename) {
BufferedImage image = null;
try (ImageReader reader = new ImageReader();
BufferedImageReader imageReader = new BufferedImageReader(reader)) {
reader.setId(filename);
if (imageReader.getImageCount() > 0)
image = imageReader.openImage(0);
} catch (FormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
}