# HG changeset patch
# User robcast
# Date 1327610793 -3600
# Node ID f34891279a6ee2f8fb34df33eaa41fc9f6973e91
# Parent 17bf6ac7a8cda15717e1fa4929b76e27fef9c85b
bio-formats codec now works sometimes (only mo=q0 and only mo=jpg).
diff -r 17bf6ac7a8cd -r f34891279a6e common-bioformats/pom.xml
--- a/common-bioformats/pom.xml Thu Jan 26 17:51:47 2012 +0100
+++ b/common-bioformats/pom.xml Thu Jan 26 21:46:33 2012 +0100
@@ -26,7 +26,7 @@
loci
bio-formats
- 4.3.3-SNAPSHOT
+ 5.0-SNAPSHOT
\ No newline at end of file
diff -r 17bf6ac7a8cd -r f34891279a6e common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java
--- a/common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java Thu Jan 26 17:51:47 2012 +0100
+++ b/common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java Thu Jan 26 21:46:33 2012 +0100
@@ -12,6 +12,11 @@
import java.io.IOException;
import java.io.OutputStream;
+import ome.xml.model.primitives.PositiveInteger;
+
+import loci.common.services.DependencyException;
+import loci.common.services.ServiceException;
+import loci.common.services.ServiceFactory;
import loci.formats.FormatException;
import loci.formats.IFormatWriter;
import loci.formats.ImageReader;
@@ -19,7 +24,11 @@
import loci.formats.gui.BufferedImageReader;
import loci.formats.gui.BufferedImageWriter;
import loci.formats.meta.DummyMetadata;
+import loci.formats.meta.IMetadata;
import loci.formats.meta.MetadataRetrieve;
+import loci.formats.meta.MetadataStore;
+import loci.formats.ome.OMEXMLMetadata;
+import loci.formats.services.OMEXMLService;
import digilib.io.FileOpException;
import digilib.io.ImageInput;
@@ -35,6 +44,7 @@
private Object imageSize;
private RenderingHints renderHint;
private ImageReader reader;
+ private OMEXMLMetadata meta;
/*
* (non-Javadoc)
@@ -73,6 +83,14 @@
this.input = ii;
reader = new ImageReader();
try {
+ // construct the object that stores OME-XML metadata
+ ServiceFactory factory = new ServiceFactory();
+ OMEXMLService service = factory.getInstance(OMEXMLService.class);
+ meta = service.createOMEXMLMetadata();
+
+ // set up the reader and associate it with the input file
+ reader = new ImageReader();
+ reader.setMetadataStore(meta);
reader.setId(ii.getFile().getAbsolutePath());
BufferedImageReader biReader = BufferedImageReader.makeBufferedImageReader(reader);
img = biReader.openImage(0);
@@ -81,6 +99,12 @@
throw new FileOpException("Unable to load image format: " + e);
} catch (IOException e) {
throw new FileOpException("Unable to load image file: " + e);
+ } catch (ServiceException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (DependencyException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
@@ -148,10 +172,16 @@
*/
BufferedImageWriter writer = BufferedImageWriter.makeBufferedImageWriter(iw);
try {
- logger.debug("setting metadata");
- iw.setMetadataRetrieve((MetadataRetrieve) reader.getMetadataStore());
+ logger.debug("setting metadata "+meta);
+ iw.setMetadataRetrieve(meta);
logger.debug("writing to file " + outFile);
writer.setId(outFile.getAbsolutePath());
+ logger.debug("fixing metadata "+meta);
+ iw.setInterleaved(reader.isInterleaved());
+ iw.setWriteSequentially(true);
+ meta.setPixelsSizeX(new PositiveInteger(img.getWidth()), 0);
+ meta.setPixelsSizeY(new PositiveInteger(img.getHeight()), 0);
+ meta.setPixelsSizeC(new PositiveInteger(img.getColorModel().getNumComponents()), 0);
logger.debug("saving image " + img);
writer.saveImage(0, img);
logger.debug("closing file");
diff -r 17bf6ac7a8cd -r f34891279a6e pom.xml
--- a/pom.xml Thu Jan 26 17:51:47 2012 +0100
+++ b/pom.xml Thu Jan 26 21:46:33 2012 +0100
@@ -49,71 +49,57 @@
org.jdom
jdom
1.1
- jar
- compile
log4j
log4j
1.2.14
- jar
- compile
+
digilib
digilib-common
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-common-jai
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-common-imagej
2.1-SNAPSHOT
- jar
- compile
+
+
+ digilib
+ digilib-common-bioformats
+ 2.1-SNAPSHOT
digilib
digilib-pdf
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-text
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-servlet2
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-servlet3
2.1-SNAPSHOT
- jar
- compile
digilib
digilib-webapp
2.1-SNAPSHOT
- war
- compile
@@ -151,6 +137,7 @@
common
common-jai
common-imagej
+ common-bioformats
servlet2
servlet3
pdf
diff -r 17bf6ac7a8cd -r f34891279a6e webapp/pom.xml
--- a/webapp/pom.xml Thu Jan 26 17:51:47 2012 +0100
+++ b/webapp/pom.xml Thu Jan 26 21:46:33 2012 +0100
@@ -142,5 +142,16 @@
+
+ codec-bioformats
+
+
+ digilib
+ digilib-common-bioformats
+ jar
+ compile
+
+
+
diff -r 17bf6ac7a8cd -r f34891279a6e webapp/src/main/webapp/WEB-INF/digilib-config.xml
--- a/webapp/src/main/webapp/WEB-INF/digilib-config.xml Thu Jan 26 17:51:47 2012 +0100
+++ b/webapp/src/main/webapp/WEB-INF/digilib-config.xml Thu Jan 26 21:46:33 2012 +0100
@@ -18,7 +18,6 @@
-