diff --git a/components/bio-formats-plugins/src/loci/plugins/out/Exporter.java b/components/bio-formats-plugins/src/loci/plugins/out/Exporter.java index 2a953b3fea7..cec9a9190dc 100644 --- a/components/bio-formats-plugins/src/loci/plugins/out/Exporter.java +++ b/components/bio-formats-plugins/src/loci/plugins/out/Exporter.java @@ -52,6 +52,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Hashtable; import java.util.List; import java.util.Vector; @@ -60,6 +61,7 @@ import javax.swing.filechooser.FileFilter; import loci.common.DataTools; +import loci.common.DebugTools; import loci.common.services.DependencyException; import loci.common.services.ServiceException; import loci.common.services.ServiceFactory; @@ -538,6 +540,7 @@ else if (FormatTools.isSigned(originalType)) { } Object info = imp.getProperty("Info"); + Hashtable originalMetadata = new Hashtable(); if (info != null) { String imageInfo = info.toString(); if (imageInfo != null) { @@ -548,14 +551,22 @@ else if (FormatTools.isSigned(originalType)) { String key = line.substring(0, eq).trim(); String value = line.substring(eq + 1).trim(); + originalMetadata.put(key, value); + if (key.endsWith("BitsPerPixel")) { w.setValidBitsPerPixel(Integer.parseInt(value)); - break; } } } } } + try { + service.populateOriginalMetadata(service.getOMEMetadata(store), originalMetadata); + } + catch (ServiceException e) { + IJ.log("Could not populate original metadata"); + IJ.log(DebugTools.getStackTrace(e)); + } // NB: Animation rate code copied from ij.plugin.Animator#doOptions(). final int rate;