Skip to content

Commit 783bb54

Browse files
authored
Merge pull request #4219 from melissalinkert/ij-export-original-metadata
ImageJ exporter: save original metadata
2 parents 6a548c9 + 9e9e2ed commit 783bb54

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

components/bio-formats-plugins/src/loci/plugins/out/Exporter.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import java.io.File;
5353
import java.io.IOException;
5454
import java.util.ArrayList;
55+
import java.util.Hashtable;
5556
import java.util.List;
5657
import java.util.Vector;
5758

@@ -60,6 +61,7 @@
6061
import javax.swing.filechooser.FileFilter;
6162

6263
import loci.common.DataTools;
64+
import loci.common.DebugTools;
6365
import loci.common.services.DependencyException;
6466
import loci.common.services.ServiceException;
6567
import loci.common.services.ServiceFactory;
@@ -538,6 +540,7 @@ else if (FormatTools.isSigned(originalType)) {
538540
}
539541

540542
Object info = imp.getProperty("Info");
543+
Hashtable<String, Object> originalMetadata = new Hashtable<String, Object>();
541544
if (info != null) {
542545
String imageInfo = info.toString();
543546
if (imageInfo != null) {
@@ -548,14 +551,22 @@ else if (FormatTools.isSigned(originalType)) {
548551
String key = line.substring(0, eq).trim();
549552
String value = line.substring(eq + 1).trim();
550553

554+
originalMetadata.put(key, value);
555+
551556
if (key.endsWith("BitsPerPixel")) {
552557
w.setValidBitsPerPixel(Integer.parseInt(value));
553-
break;
554558
}
555559
}
556560
}
557561
}
558562
}
563+
try {
564+
service.populateOriginalMetadata(service.getOMEMetadata(store), originalMetadata);
565+
}
566+
catch (ServiceException e) {
567+
IJ.log("Could not populate original metadata");
568+
IJ.log(DebugTools.getStackTrace(e));
569+
}
559570

560571
// NB: Animation rate code copied from ij.plugin.Animator#doOptions().
561572
final int rate;

0 commit comments

Comments
 (0)