Search in sources :

Example 21 with Image

use of ome.xml.model.Image in project bioformats by openmicroscopy.

the class GenericExcitationMapTest method setUp.

@BeforeClass
public void setUp() throws Exception {
    Instrument instrument = new Instrument();
    instrument.setID("Instrument:0");
    // Add a GenericExcitationSource with an Map
    GenericExcitationSource geSource = new GenericExcitationSource();
    geSource.setID("LightSource:0");
    List<MapPair> dataMap = new ArrayList<MapPair>();
    dataMap.add(new MapPair("a", "1"));
    dataMap.add(new MapPair("d", "2"));
    dataMap.add(new MapPair("c", "3"));
    dataMap.add(new MapPair("b", "4"));
    dataMap.add(new MapPair("e", "5"));
    dataMap.add(new MapPair("c", "6"));
    assertEquals(6, dataMap.size());
    geSource.setMap(dataMap);
    instrument.addLightSource(geSource);
    ome.addInstrument(instrument);
    // Add an Image/Pixels with a LightSourceSettings reference to the
    // GenericExcitationSource on one of its channels.
    Image image = new Image();
    image.setID("Image:0");
    Pixels pixels = new Pixels();
    pixels.setID("Pixels:0");
    Channel channel = new Channel();
    channel.setID("Channel:0");
    LightSourceSettings settings = new LightSourceSettings();
    settings.setID("LightSource:0");
    channel.setLightSourceSettings(settings);
    pixels.addChannel(channel);
    image.setPixels(pixels);
    ome.addImage(image);
}
Also used : MapPair(ome.xml.model.MapPair) LightSourceSettings(ome.xml.model.LightSourceSettings) GenericExcitationSource(ome.xml.model.GenericExcitationSource) Channel(ome.xml.model.Channel) Instrument(ome.xml.model.Instrument) ArrayList(java.util.ArrayList) Image(ome.xml.model.Image) Pixels(ome.xml.model.Pixels) BeforeClass(org.testng.annotations.BeforeClass)

Example 22 with Image

use of ome.xml.model.Image in project bioformats by openmicroscopy.

the class InOutCurrentTest method testValidImageNode.

@Test(dependsOnMethods = { "testValidOMENode" })
public void testValidImageNode() {
    Image image = ome.getImage(0);
    assertNotNull(image);
    assertEquals(IMAGE_ID, image.getID());
}
Also used : Image(ome.xml.model.Image) Test(org.testng.annotations.Test)

Example 23 with Image

use of ome.xml.model.Image in project bioformats by openmicroscopy.

the class InOutCurrentTest method testImageInstrumentLinkage.

@Test(dependsOnMethods = { "testValidInstrumentNode", "testValidImageNode" })
public void testImageInstrumentLinkage() {
    Instrument instrument = ome.getInstrument(0);
    Image image = ome.getImage(0);
    Instrument linkedInstrument = image.getLinkedInstrument();
    assertNotNull(linkedInstrument);
    assertEquals(instrument.getID(), linkedInstrument.getID());
    assertEquals(1, instrument.sizeOfLinkedImageList());
    Image linkedImage = instrument.getLinkedImage(0);
    assertNotNull(linkedImage);
    assertEquals(image.getID(), linkedImage.getID());
}
Also used : Instrument(ome.xml.model.Instrument) Image(ome.xml.model.Image) Test(org.testng.annotations.Test)

Example 24 with Image

use of ome.xml.model.Image in project bioformats by openmicroscopy.

the class FileWriteSPW method export.

/**
 * Save a single byte plane of data.
 * @param plane  data
 * @param series  image no in plate
 * @param index t plane within image
 */
private void export(byte[] plane, int series, int index, String imageDescription) {
    Exception exception = null;
    if (initializationSuccess) {
        if (series != writer.getSeries()) {
            try {
                writer.setSeries(series);
            } catch (FormatException e) {
                exception = e;
            }
        }
        try {
            writer.saveBytes(index, plane);
            if (index == 0) {
                OMEXMLMetadataRoot root = (OMEXMLMetadataRoot) omexml.getRoot();
                Plate plate = root.getPlate(0);
                Image im = root.getImage(series);
                im.setDescription(imageDescription);
            }
            expectedImages[series]++;
        } catch (FormatException | IOException e) {
            exception = e;
        }
    }
    if (exception != null) {
        System.err.println("Failed to write data!");
    }
}
Also used : OMEXMLMetadataRoot(ome.xml.meta.OMEXMLMetadataRoot) IOException(java.io.IOException) Image(ome.xml.model.Image) EnumerationException(ome.xml.model.enums.EnumerationException) ServiceException(loci.common.services.ServiceException) DependencyException(loci.common.services.DependencyException) FormatException(loci.formats.FormatException) IOException(java.io.IOException) FormatException(loci.formats.FormatException) Plate(ome.xml.model.Plate)

Example 25 with Image

use of ome.xml.model.Image in project bioformats by openmicroscopy.

the class ObjectBasedOMEModelMock method makeInstrument.

private Instrument makeInstrument() {
    // Create <Instrument/>
    Instrument instrument = new Instrument();
    instrument.setID(InOutCurrentTest.INSTRUMENT_ID);
    // Create <Detector/> under <Instrument/>
    Detector detector = new Detector();
    detector.setID(InOutCurrentTest.DETECTOR_ID);
    detector.setModel(InOutCurrentTest.DETECTOR_MODEL);
    CommentAnnotation detectorAnnotation = new CommentAnnotation();
    detectorAnnotation.setID(InOutCurrentTest.DETECTOR_ANNOTATION_ID);
    detectorAnnotation.setValue(InOutCurrentTest.DETECTOR_ANNOTATION_VALUE);
    detectorAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    detector.linkAnnotation(detectorAnnotation);
    annotations.addCommentAnnotation(detectorAnnotation);
    instrument.addDetector(detector);
    // Create <Laser/> under <Instrument/>
    Laser laser = new Laser();
    laser.setID(InOutCurrentTest.LIGHTSOURCE_LASER_ID);
    laser.setModel(InOutCurrentTest.LIGHTSOURCE_LASER_MODEL);
    laser.setType(InOutCurrentTest.LASER_TYPE);
    laser.setPower(new Power(InOutCurrentTest.LIGHTSOURCE_LASER_POWER, UNITS.MILLIWATT));
    CommentAnnotation laserAnnotation = new CommentAnnotation();
    laserAnnotation.setID(InOutCurrentTest.LIGHTSOURCE_LASER_ANNOTATION_ID);
    laserAnnotation.setValue(InOutCurrentTest.LIGHTSOURCE_LASER_ANNOTATION_VALUE);
    laserAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    laser.linkAnnotation(laserAnnotation);
    annotations.addCommentAnnotation(laserAnnotation);
    // with a <Pump/>
    Laser laserPump = new Laser();
    laserPump.setID(InOutCurrentTest.LIGHTSOURCE_PUMP_ID);
    laserPump.setModel(InOutCurrentTest.LIGHTSOURCE_PUMP_MODEL);
    laserPump.setType(InOutCurrentTest.LASER_TYPE);
    laserPump.setPower(new Power(InOutCurrentTest.LIGHTSOURCE_PUMP_POWER, UNITS.MILLIWATT));
    laser.linkPump(laserPump);
    instrument.addLightSource(laser);
    instrument.addLightSource(laserPump);
    // Create <Arc/> under <Instrument/>
    Arc arc = new Arc();
    arc.setID(InOutCurrentTest.LIGHTSOURCE_ARC_ID);
    arc.setModel(InOutCurrentTest.LIGHTSOURCE_ARC_MODEL);
    arc.setType(InOutCurrentTest.ARC_TYPE);
    arc.setPower(new Power(InOutCurrentTest.LIGHTSOURCE_ARC_POWER, UNITS.MILLIWATT));
    CommentAnnotation arcAnnotation = new CommentAnnotation();
    arcAnnotation.setID(InOutCurrentTest.LIGHTSOURCE_ARC_ANNOTATION_ID);
    arcAnnotation.setValue(InOutCurrentTest.LIGHTSOURCE_ARC_ANNOTATION_VALUE);
    arcAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    arc.linkAnnotation(arcAnnotation);
    annotations.addCommentAnnotation(arcAnnotation);
    instrument.addLightSource(arc);
    // Create <Filament/> under <Instrument/>
    Filament filament = new Filament();
    filament.setID(InOutCurrentTest.LIGHTSOURCE_FILAMENT_ID);
    filament.setModel(InOutCurrentTest.LIGHTSOURCE_FILAMENT_MODEL);
    filament.setType(InOutCurrentTest.FILAMENT_TYPE);
    filament.setPower(new Power(InOutCurrentTest.LIGHTSOURCE_FILAMENT_POWER, UNITS.MILLIWATT));
    CommentAnnotation filamentAnnotation = new CommentAnnotation();
    filamentAnnotation.setID(InOutCurrentTest.LIGHTSOURCE_FILAMENT_ANNOTATION_ID);
    filamentAnnotation.setValue(InOutCurrentTest.LIGHTSOURCE_FILAMENT_ANNOTATION_VALUE);
    filamentAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    filament.linkAnnotation(filamentAnnotation);
    annotations.addCommentAnnotation(filamentAnnotation);
    instrument.addLightSource(filament);
    // Create <LightEmittingDiode/> under <Instrument/>
    LightEmittingDiode led = new LightEmittingDiode();
    led.setID(InOutCurrentTest.LIGHTSOURCE_LED_ID);
    led.setModel(InOutCurrentTest.LIGHTSOURCE_LED_MODEL);
    led.setPower(new Power(InOutCurrentTest.LIGHTSOURCE_LED_POWER, UNITS.MILLIWATT));
    CommentAnnotation ledAnnotation = new CommentAnnotation();
    ledAnnotation.setID(InOutCurrentTest.LIGHTSOURCE_LED_ANNOTATION_ID);
    ledAnnotation.setValue(InOutCurrentTest.LIGHTSOURCE_LED_ANNOTATION_VALUE);
    ledAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    led.linkAnnotation(ledAnnotation);
    annotations.addCommentAnnotation(ledAnnotation);
    instrument.addLightSource(led);
    // Create <Dichroic/> under <Instrument/>
    Dichroic dichroic = new Dichroic();
    dichroic.setID(InOutCurrentTest.DICHROIC_ID);
    dichroic.setSerialNumber(InOutCurrentTest.DICHROIC_SN);
    CommentAnnotation dichroicAnnotation = new CommentAnnotation();
    dichroicAnnotation.setID(InOutCurrentTest.DICHROIC_ANNOTATION_ID);
    dichroicAnnotation.setValue(InOutCurrentTest.DICHROIC_ANNOTATION_VALUE);
    dichroicAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    dichroic.linkAnnotation(dichroicAnnotation);
    annotations.addCommentAnnotation(dichroicAnnotation);
    // Create <FilterSet/> under <Dichroic/>
    FilterSet filterSet = new FilterSet();
    filterSet.setID(InOutCurrentTest.FILTERSET_ID);
    filterSet.setLotNumber(InOutCurrentTest.FILTERSET_LOT);
    filterSet.linkDichroic(dichroic);
    Filter emFilter = new Filter();
    Filter exFilter = new Filter();
    // Create <Objective/> under <Instrument/>
    Objective objective = new Objective();
    objective.setID(InOutCurrentTest.OBJECTIVE_ID);
    objective.setModel(InOutCurrentTest.OBJECTIVE_MODEL);
    CommentAnnotation objectiveAnnotation = new CommentAnnotation();
    objectiveAnnotation.setID(InOutCurrentTest.OBJECTIVE_ANNOTATION_ID);
    objectiveAnnotation.setValue(InOutCurrentTest.OBJECTIVE_ANNOTATION_VALUE);
    objectiveAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    objective.linkAnnotation(objectiveAnnotation);
    annotations.addCommentAnnotation(objectiveAnnotation);
    emFilter.setID(InOutCurrentTest.EM_FILTER_ID);
    emFilter.setType(InOutCurrentTest.EM_FILTER_TYPE);
    exFilter.setID(InOutCurrentTest.EX_FILTER_ID);
    exFilter.setType(InOutCurrentTest.EX_FILTER_TYPE);
    CommentAnnotation emFilterAnnotation = new CommentAnnotation();
    emFilterAnnotation.setID(InOutCurrentTest.EM_FILTER_ANNOTATION_ID);
    emFilterAnnotation.setValue(InOutCurrentTest.EM_FILTER_ANNOTATION_VALUE);
    emFilterAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    emFilter.linkAnnotation(emFilterAnnotation);
    annotations.addCommentAnnotation(emFilterAnnotation);
    instrument.addFilter(emFilter);
    instrument.addFilter(exFilter);
    instrument.addObjective(objective);
    filterSet.linkEmissionFilter(emFilter);
    filterSet.linkExcitationFilter(exFilter);
    filterSet.linkDichroic(dichroic);
    instrument.addFilterSet(filterSet);
    instrument.addDichroic(dichroic);
    CommentAnnotation instrumentAnnotation = new CommentAnnotation();
    instrumentAnnotation.setID(InOutCurrentTest.INSTRUMENT_ANNOTATION_ID);
    instrumentAnnotation.setValue(InOutCurrentTest.INSTRUMENT_ANNOTATION_VALUE);
    instrumentAnnotation.setNamespace(InOutCurrentTest.GENERAL_ANNOTATION_NAMESPACE);
    instrument.linkAnnotation(instrumentAnnotation);
    annotations.addCommentAnnotation(instrumentAnnotation);
    // link Instrument to the first Image
    Image image = ome.getImage(0);
    image.linkInstrument(instrument);
    return instrument;
}
Also used : LightEmittingDiode(ome.xml.model.LightEmittingDiode) Filament(ome.xml.model.Filament) FilterSet(ome.xml.model.FilterSet) Image(ome.xml.model.Image) Objective(ome.xml.model.Objective) Detector(ome.xml.model.Detector) Arc(ome.xml.model.Arc) Filter(ome.xml.model.Filter) CommentAnnotation(ome.xml.model.CommentAnnotation) Laser(ome.xml.model.Laser) Instrument(ome.xml.model.Instrument) Dichroic(ome.xml.model.Dichroic) Power(ome.units.quantity.Power)

Aggregations

Image (ome.xml.model.Image)29 Pixels (ome.xml.model.Pixels)15 OMEXMLMetadataRoot (ome.xml.meta.OMEXMLMetadataRoot)11 Test (org.testng.annotations.Test)10 Channel (ome.xml.model.Channel)8 PositiveInteger (ome.xml.model.primitives.PositiveInteger)8 ServiceException (loci.common.services.ServiceException)7 IOException (java.io.IOException)5 ArrayList (java.util.ArrayList)5 FormatException (loci.formats.FormatException)5 Instrument (ome.xml.model.Instrument)5 DependencyException (loci.common.services.DependencyException)4 XMLAnnotation (ome.xml.model.XMLAnnotation)4 BeforeClass (org.testng.annotations.BeforeClass)4 Node (org.w3c.dom.Node)4 NodeList (org.w3c.dom.NodeList)4 ParserConfigurationException (javax.xml.parsers.ParserConfigurationException)3 TransformerConfigurationException (javax.xml.transform.TransformerConfigurationException)3 TransformerException (javax.xml.transform.TransformerException)3 Location (loci.common.Location)3