Skip to content

Commit

Permalink
Add an example for loading map annotations
Browse files Browse the repository at this point in the history
  • Loading branch information
dominikl committed Jun 4, 2018
1 parent 889ee8f commit 563e5d5
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion examples/Training/java/src/training/ReadData.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*------------------------------------------------------------------------------
* Copyright (C) 2006-2016 University of Dundee & Open Microscopy Environment.
* Copyright (C) 2006-2018 University of Dundee & Open Microscopy Environment.
* All rights reserved.
*
*
Expand All @@ -22,21 +22,27 @@

package training;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import omero.gateway.Gateway;
import omero.gateway.LoginCredentials;
import omero.gateway.SecurityContext;
import omero.gateway.facility.BrowseFacility;
import omero.gateway.facility.MetadataFacility;
import omero.log.SimpleLogger;
import omero.model.Length;
import omero.model.NamedValue;
import omero.model.enums.UnitsLength;
import omero.gateway.model.AnnotationData;
import omero.gateway.model.DatasetData;
import omero.gateway.model.ExperimenterData;
import omero.gateway.model.ImageData;
import omero.gateway.model.MapAnnotationData;
import omero.gateway.model.PixelsData;
import omero.gateway.model.PlateData;
import omero.gateway.model.ProjectData;
Expand Down Expand Up @@ -265,6 +271,33 @@ private void loadPlate() throws Exception {
}
}

/**
* Load the MapAnnotations of the currently logged in user.
*/
private void loadMapAnnotations(long imageId) throws Exception {
BrowseFacility browse = gateway.getFacility(BrowseFacility.class);
ImageData image = browse.getImage(ctx, imageId);

// load only this user's annotations
List<Long> userIds = new ArrayList<Long>();
userIds.add(this.user.getId());

// load only MapAnnotations
List<Class<? extends AnnotationData>> types = new ArrayList<Class<? extends AnnotationData>>();
types.add(MapAnnotationData.class);

MetadataFacility metadata = gateway.getFacility(MetadataFacility.class);
List<AnnotationData> annotations = metadata.getAnnotations(ctx, image,
types, userIds);
for (AnnotationData annotation : annotations) {
MapAnnotationData mapAnnotation = (MapAnnotationData) annotation;
List<NamedValue> list = (List<NamedValue>) mapAnnotation
.getContent();
for (NamedValue namedValue : list)
System.out.println(namedValue.name + " " + namedValue.value);
}
}

/**
* end-code
*/
Expand Down Expand Up @@ -292,6 +325,7 @@ private void loadPlate() throws Exception {
loadScreens();
loadWells(plateId);
loadPlate();
loadMapAnnotations(imageId);

} catch (Exception e) {
e.printStackTrace();
Expand Down

0 comments on commit 563e5d5

Please sign in to comment.