# HG changeset patch # User hertzhaft # Date 1327612035 -3600 # Node ID 9e6355f7df75b61aa209c5bf22f5857e342dd004 # Parent 367f64acda4ef01ed848c0becd4cdb416654432b# Parent 5db496a7e48c451202ef476977182af6d0809331 merge diff -r 367f64acda4e -r 9e6355f7df75 common-bioformats/pom.xml --- a/common-bioformats/pom.xml Thu Jan 26 22:03:40 2012 +0100 +++ b/common-bioformats/pom.xml Thu Jan 26 22:07:15 2012 +0100 @@ -26,7 +26,7 @@ loci bio-formats - 4.3.3-SNAPSHOT + 5.0-SNAPSHOT \ No newline at end of file diff -r 367f64acda4e -r 9e6355f7df75 common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java --- a/common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java Thu Jan 26 22:03:40 2012 +0100 +++ b/common-bioformats/src/main/java/digilib/image/BioFormatsDocuImage.java Thu Jan 26 22:07:15 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 367f64acda4e -r 9e6355f7df75 pom.xml --- a/pom.xml Thu Jan 26 22:03:40 2012 +0100 +++ b/pom.xml Thu Jan 26 22:07:15 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 367f64acda4e -r 9e6355f7df75 webapp/pom.xml --- a/webapp/pom.xml Thu Jan 26 22:03:40 2012 +0100 +++ b/webapp/pom.xml Thu Jan 26 22:07:15 2012 +0100 @@ -142,5 +142,16 @@ + + codec-bioformats + + + digilib + digilib-common-bioformats + jar + compile + + + diff -r 367f64acda4e -r 9e6355f7df75 webapp/src/main/webapp/WEB-INF/digilib-config.xml --- a/webapp/src/main/webapp/WEB-INF/digilib-config.xml Thu Jan 26 22:03:40 2012 +0100 +++ b/webapp/src/main/webapp/WEB-INF/digilib-config.xml Thu Jan 26 22:07:15 2012 +0100 @@ -18,7 +18,6 @@ -