public static List
try {
// Crating image reader for given image.
IFormatReader reader = new ImageReader();
reader.setMetadataFiltered(true);
reader.setOriginalMetadataPopulated(true);
//Passing image path to reader.
reader.setId(file);
List
// Extracting core Metadata.
ArrayList
// Core Mata Data
coreMataData.add(new ImageMatadata("Image Count", reader
.getImageCount()));
coreMataData.add(new ImageMatadata("RGB", reader.isRGB() + " ("
+ reader.getRGBChannelCount() + ")"));
coreMataData.add(new ImageMatadata("Interleaved", reader
.isInterleaved()));
coreMataData.add(new ImageMatadata("Indexed", reader.isIndexed()));
coreMataData.add(new ImageMatadata("Width", reader.getSizeX()));
coreMataData.add(new ImageMatadata("Height", reader.getSizeY()));
coreMataData.add(new ImageMatadata("SizeZ", reader.getSizeZ()));
coreMataData.add(new ImageMatadata("SizeT", reader.getSizeC()));
coreMataData.add(new ImageMatadata("SizeC", reader.getSizeT()));
coreMataData.add(new ImageMatadata("Thumbnail size", reader
.getThumbSizeX()
+ " x " + reader.getThumbSizeY()));
coreMataData.add(new ImageMatadata("Endianness", reader
.isLittleEndian() ? "intel (little)" : "motorola (big)"));
coreMataData
.add(new ImageMatadata("Dimension order", reader
.getDimensionOrder()
+ (reader.isOrderCertain() ? " (certain)"
: " (uncertain)")));
coreMataData.add(new ImageMatadata("Pixel type", FormatTools
.getPixelTypeString(reader.getPixelType())));
coreMataData.add(new ImageMatadata("Metadata complete", reader
.isMetadataComplete()));
coreMataData.add(new ImageMatadata("Thumbnail series", reader
.isThumbnailSeries()));
result.add(coreMataData);
// Extracting Format Specific Data
ArrayList
Hashtable formatMeta = reader.getMetadata();
if (formatSpecificMeta != null && formatMeta.size() > 0) {
Enumeration keys = formatMeta.keys();
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
formatSpecificMeta.add(new ImageMatadata(key, formatMeta
.get(key)));
}
}
result.add(formatSpecificMeta);
return result;
} catch (FormatException e) {
logger.debug("Problem in getting matadata ", e);
} catch (IOException e) {
logger.debug("Problem in getting matadata ", e);
}
return null;
}
ImageMatadata .java:
public class ImageMatadata implements Serializable{
private String name;
private Object value;
public ImageMatadata(String name, Object value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
No comments:
Post a Comment