@Override public boolean validateOMEXML(final String xml) { return omexmlService().validateOMEXML(xml); }
@Override public boolean validateOMEXML(final String xml, final boolean pixelsHack) { return omexmlService().validateOMEXML(xml, pixelsHack); }
@Override public void close() throws IOException { if (out != null) { out.writeBytes(xmlFragments.get(xmlFragments.size() - 1)); } if (getMetadataOptions().isValidate()) { try { MetadataRetrieve r = getMetadataRetrieve(); String omexml = service.getOMEXML(r); service.validateOMEXML(omexml); } catch (ServiceException | NullPointerException e) { LOGGER.warn("OMEXMLService unable to create OME-XML metadata object.", e); } } super.close(); xmlFragments = null; service = null; }
@Override public void close() throws IOException { if (out != null) { out.writeBytes(xmlFragments.get(xmlFragments.size() - 1)); } if (getMetadataOptions().isValidate()) { try { MetadataRetrieve r = getMetadataRetrieve(); String omexml = service.getOMEXML(r); service.validateOMEXML(omexml); } catch (ServiceException | NullPointerException e) { LOGGER.warn("OMEXMLService unable to create OME-XML metadata object.", e); } } super.close(); xmlFragments = null; service = null; }
@Test public void testExtraMetadata() throws Exception { File fakeIni = mkIni("foo.fake.ini", "[GlobalMetadata]", "foo=bar"); reader.setId(fakeIni.getAbsolutePath()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(reader.getGlobalMetadata().get("foo"), "bar"); }
@Test(dataProvider = "annotations") public void testAnnotations(String key, String methodName) throws Exception { reader.setId("foo&series=5&" + key + "=10.fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); Method method = Class.forName("loci.formats.meta.MetadataRetrieve").getMethod(methodName); assertEquals(method.invoke(m), 50); for (int i = 0; i < 5; i++) { assertEquals(m.getImageAnnotationRefCount(0), 10); } reader.close(); testDefaultValues(); }
@Test(dataProvider = "annotations") public void testAnnotationsINI(String key, String methodName) throws Exception { mkIni("foo.fake.ini", "series = 5\n" + key + " = 10"); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); Method method = Class.forName("loci.formats.meta.MetadataRetrieve").getMethod(methodName); assertEquals(method.invoke(m), 50); for (int i = 0; i < 5; i++) { assertEquals(m.getImageAnnotationRefCount(0), 10); } reader.close(); testDefaultValues(); }
private void checkROIs(MetadataRetrieve m, int nImages, int nRoisPerImage, String shapeType, int nOtherRois) throws Exception { assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getImageCount(), nImages); assertEquals(m.getROICount(), nImages * nRoisPerImage + nOtherRois); for (int i = 0; i < m.getImageCount(); i++) { assertEquals(m.getImageROIRefCount(0), nRoisPerImage); } for (int i = nOtherRois; i < m.getROICount(); i++) { assertEquals(m.getShapeCount(i), 1); assertEquals(m.getShapeType(i, 0), shapeType); } }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeYIni(String value, Length length) throws Exception { mkIni("foo.fake.ini", "physicalSizeY = " + value); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeY(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeXIni(String value, Length length) throws Exception { mkIni("foo.fake.ini", "physicalSizeX = " + value); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeX(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeZIni(String value, Length length) throws Exception { mkIni("foo.fake.ini", "physicalSizeZ = " + value); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeZ(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "acquisition dates") public void testAcquisitionDateIni(String value, Timestamp date) throws Exception { mkIni("foo.fake.ini", "acquisitionDate = " + value); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getImageAcquisitionDate(0), date); reader.close(); testDefaultValues(); }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeZ(String value, Length length) throws Exception { reader.setId("foo&physicalSizeZ=" + value + ".fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeZ(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeX(String value, Length length) throws Exception { reader.setId("foo&physicalSizeX=" + value + ".fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeX(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "physical sizes") public void testPhysicalSizeY(String value, Length length) throws Exception { reader.setId("foo&physicalSizeY=" + value + ".fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getPixelsPhysicalSizeY(0), length); reader.close(); testDefaultValues(); }
@Test(dataProvider = "acquisition dates") public void testAcquisitionDate(String value, Timestamp date) throws Exception { reader.setId("foo&acquisitionDate=" + value + ".fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getImageAcquisitionDate(0), date); reader.close(); testDefaultValues(); }
@Test(dataProvider = "acquisition dates") public void testAcquisitionDateMultiSeries(String value, Timestamp date) throws Exception { reader.setId("foo&series=10&acquisitionDate=" + value + ".fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); for (int i = 0; i < 10; i++) { assertEquals(m.getImageAcquisitionDate(i), date); } reader.close(); testDefaultValues(); }
@Test public void testMicrobeamINI() throws Exception { mkIni("foo.fake.ini", "plates=1\nwithMicrobeam = true"); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getExperimentCount(), 1); assertEquals(m.getMicrobeamManipulationCount(0), 1); reader.close(); mkIni("foo.fake.ini", "screens=2\nwithMicrobeam=true"); reader.setId(wd.resolve("foo.fake").toString()); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getExperimentCount(), 2); assertEquals(m.getMicrobeamManipulationCount(0), 1); assertEquals(m.getMicrobeamManipulationCount(1), 1); reader.close(); }
@Test public void testMicrobeam() throws Exception { reader.setId("foo&plates=1&withMicrobeam=true.fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getExperimentCount(), 1); assertEquals(m.getMicrobeamManipulationCount(0), 1); reader.close(); reader.setId("foo&screens=2&withMicrobeam=true.fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(m.getExperimentCount(), 2); assertEquals(m.getMicrobeamManipulationCount(0), 1); assertEquals(m.getMicrobeamManipulationCount(1), 1); reader.close(); testDefaultValues(); }
@Test public void testDefaultValues() throws Exception { reader.setId("default.fake"); m = service.asRetrieve(reader.getMetadataStore()); assertTrue(service.validateOMEXML(service.getOMEXML(m))); assertEquals(reader.getSizeX(), FakeReader.DEFAULT_SIZE_X); assertEquals(reader.getSizeY(), FakeReader.DEFAULT_SIZE_Y); assertEquals(reader.getSizeZ(), FakeReader.DEFAULT_SIZE_Z); assertEquals(reader.getSizeC(), FakeReader.DEFAULT_SIZE_C); assertEquals(reader.getSizeT(), FakeReader.DEFAULT_SIZE_T); assertEquals(reader.getPixelType(), FakeReader.DEFAULT_PIXEL_TYPE); assertEquals(reader.getRGBChannelCount(), FakeReader.DEFAULT_RGB_CHANNEL_COUNT); assertEquals(reader.getDimensionOrder(), FakeReader.DEFAULT_DIMENSION_ORDER); assertEquals(m.getImageAcquisitionDate(0), null); assertEquals(m.getPixelsPhysicalSizeX(0), null); assertEquals(m.getPixelsPhysicalSizeY(0), null); assertEquals(m.getPixelsPhysicalSizeZ(0), null); assertEquals(m.getROICount(), 0); assertEquals(m.getExperimentCount(), 0); }