/*
*------------------------------------------------------------------------------
* Copyright (C) 2006-2015 University of Dundee. All rights reserved.
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*------------------------------------------------------------------------------
*/
package org.openmicroscopy.shoola.env.data;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.filechooser.FileFilter;
import omero.ValidationException;
import omero.api.RawPixelsStorePrx;
import omero.api.ThumbnailStorePrx;
import omero.constants.projection.ProjectionType;
import omero.romio.PlaneDef;
import org.openmicroscopy.shoola.env.data.model.ImportableFile;
import org.openmicroscopy.shoola.env.data.model.ImportableObject;
import org.openmicroscopy.shoola.env.data.model.MovieExportParam;
import org.openmicroscopy.shoola.env.data.model.ProjectionParam;
import omero.gateway.model.ROIResult;
import org.openmicroscopy.shoola.env.data.model.SaveAsParam;
import org.openmicroscopy.shoola.env.data.model.ScriptObject;
import org.openmicroscopy.shoola.env.data.util.Target;
import omero.gateway.SecurityContext;
import omero.gateway.exception.DSAccessException;
import omero.gateway.exception.DSOutOfServiceException;
import omero.gateway.exception.RenderingServiceException;
import org.openmicroscopy.shoola.env.rnd.RenderingControl;
import org.openmicroscopy.shoola.env.rnd.RndProxyDef;
import omero.gateway.model.DataObject;
import omero.gateway.model.ImageData;
import omero.gateway.model.PixelsData;
import omero.gateway.model.ROIData;
/**
* List of methods to view images or thumbnails.
*
* @author Jean-Marie Burel
* <a href="mailto:j.burel@dundee.ac.uk">j.burel@dundee.ac.uk</a>
* @author Donald MacDonald
* <a href="mailto:donald@lifesci.dundee.ac.uk">donald@lifesci.dundee.ac.uk</a>
* @version 3.0
* @since OME2.2
*/
public interface OmeroImageService
{
/** Indicates to export the image as OME TIFF. */
public static final int EXPORT_AS_OMETIFF = 0;
/** Indicates to export the image as OME XML. */
public static final int EXPORT_AS_OME_XML = 1;
/** The maximum number of plane info objects.*/
public static final int MAX_PLANE_INFO = 6000;
/** The extension causing a problem in bf lib. TMP solution. */
public static final String ZIP_EXTENSION = ".zip";
/** Identifies the <code>Maximum intensity</code> projection. */
public static final int MAX_INTENSITY =
ProjectionType.MAXIMUMINTENSITY.ordinal();
/** Identifies the <code>Mean intensity</code> projection. */
public static final int MEAN_INTENSITY =
ProjectionType.MEANINTENSITY.ordinal();
/** Identifies the <code>Sum intensity</code> projection. */
public static final int SUM_INTENSITY =
ProjectionType.SUMINTENSITY.ordinal();
/** Identifies the type used to store pixel values. */
public static final String INT_8 = "int8";
/** Identifies the type used to store pixel values. */
public static final String UINT_8 = "uint8";
/** Identifies the type used to store pixel values. */
public static final String INT_16 = "int16";
/** Identifies the type used to store pixel values. */
public static final String UINT_16 = "uint16";
/** Identifies the type used to store pixel values. */
public static final String INT_32 = "int32";
/** Identifies the type used to store pixel values. */
public static final String UINT_32 = "uint32";
/** Identifies the type used to store pixel values. */
public static final String FLOAT = "float";
/** Identifies the type used to store pixel values. */
public static final String DOUBLE = "double";
/**
* Initializes a {@link RenderingControl} proxy for the specified pixels
* set.
*
* @param ctx The security context.
* @param pixelsID The ID of the pixels set.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws FSAccessException If an error occurred while trying to
* retrieve data using OMERO.fs.
*/
public RenderingControl loadRenderingControl(SecurityContext ctx,
long pixelsID)
throws DSOutOfServiceException, DSAccessException, FSAccessException;
/**
* Renders the specified 2D-plane.
*
* @param ctx The security context.
* @param pixelsID The ID of the pixels set.
* @param pd The plane to render.
* @param largeImage Pass <code>true</code> to render a large image,
* <code>false</code> otherwise.
* @param compression The compression level.
* @return The image representing the plane.
* @throws RenderingServiceException If the server cannot render the image.
*/
public Object renderImage(SecurityContext ctx,
long pixelsID, PlaneDef pd, boolean largeImage, int compression)
throws RenderingServiceException;
/**
* Returns true if a connection is available for the given
* {@link SecurityContext}. This is equivalent to being able to
* access a <code>Connector</code>.
*
* @param ctx The security context.
* @return See above.
*/
public boolean isAlive(SecurityContext ctx)
throws DSOutOfServiceException;
/**
* Shuts downs the rendering service attached to the specified
* pixels set.
*
* @param ctx The security context.
* @param pixelsID The ID of the pixels set.
*/
public void shutDown(SecurityContext ctx, long pixelsID);
/**
* Returns a thumbnail of the currently selected 2D-plane for the
* passed pixels set.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @param sizeX The width of the thumbnail.
* @param sizeY The height of the thumnail.
* @param userID The id of the user the thumbnail is for.
* @return See above.
* @throws RenderingServiceException If the server is out of service.
*/
public BufferedImage getThumbnail(SecurityContext ctx, long pixelsID,
int sizeX, int sizeY, long userID)
throws RenderingServiceException;
/**
* Retrieves the thumbnails corresponding to the passed collection of
* pixels set.
*
* @param ctx The security context.
* @param pixelsID The collection of pixels set.
* @param maxLength The maximum length of a thumbnail.
* @return See above.
* @throws RenderingServiceException If the server is out of service.
*/
public Map<Long, BufferedImage> getThumbnailSet(SecurityContext ctx,
Collection<Long> pixelsID, int maxLength)
throws RenderingServiceException;
/**
* Reloads the rendering engine for the passed set of pixels.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @return See above.
* @throws RenderingServiceException If the rendering engine cannot be
* started.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public RenderingControl reloadRenderingService(SecurityContext ctx,
long pixelsID)
throws DSAccessException, RenderingServiceException;
/**
* Reloads the rendering engine for the passed set of pixels.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @return See above.
* @throws RenderingServiceException If the rendering engine cannot be
* started.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public RenderingControl resetRenderingService(SecurityContext ctx,
long pixelsID)
throws DSAccessException, RenderingServiceException;
/**
* Loads the pixels set.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public PixelsData loadPixels(SecurityContext ctx, long pixelsID)
throws DSOutOfServiceException, DSAccessException;
/**
* Returns the XY-plane identified by the passed z-section, time-point
* and wavelength.
*
* @param ctx The security context.
* @param pixelsID The id of pixels containing the requested plane.
* @param z The selected z-section.
* @param t The selected time-point.
* @param c The selected wavelength.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws FSAccessException If an error occurred while trying to
* retrieve data using OMERO.fs.
*/
public byte[] getPlane(SecurityContext ctx, long pixelsID, int z, int t,
int c)
throws DSOutOfServiceException, DSAccessException, FSAccessException;
/**
* Applies the rendering settings associated to the passed pixels set
* to the images contained in the specified datasets
* if the rootType is <code>DatasetData</code>.
* Applies the settings to the passed images if the type is
* <code>ImageData</code>.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set of reference.
* @param rootNodeType The type of nodes.
* @param nodeIDs The id of the nodes to apply settings to.
* Mustn't be <code>null</code>.
* @return A map with two keys. A <code>True</code> key whose value
* is a list of image's id, the settings have been applied to.
* A <code>False</code> key whose value is a list
* of image's id, the settings couldn't be applied.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map pasteRenderingSettings(SecurityContext ctx, long pixelsID,
Class rootNodeType, List<Long> nodeIDs)
throws DSOutOfServiceException, DSAccessException;
/**
* Resets the rendering settings for the images contained in the
* specified datasets if the rootType is <code>DatasetData</code>.
* Resets the settings to the passed images if the type is
* <code>ImageData</code>.
*
* @param ctx The security context.
* @param rootNodeType The type of nodes. Can either be
* <code>ImageData</code>, <code>DatasetData</code>.
* @param nodeIDs The id of the nodes to apply settings to.
* Mustn't be <code>null</code>.
* @return A map with two keys. A <code>True</code> key whose value
* is a list of image's id, the settings have been applied to.
* A <code>False</code> key whose value is a list
* of image's id, the settings couldn't be applied.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map resetRenderingSettings(SecurityContext ctx, Class rootNodeType,
List<Long> nodeIDs)
throws DSOutOfServiceException, DSAccessException;
/**
* Sets the rendering settings for the images contained in the
* specified datasets if the rootType is <code>DatasetData</code>
* Resets the settings to the passed images if the type is
* <code>ImageData</code>.
*
* @param ctx The security context.
* @param rootNodeType The type of nodes. Can either be
* <code>ImageData</code>, <code>DatasetData</code>
* @param nodeIDs The id of the nodes to apply settings to.
* Mustn't be <code>null</code>.
* @return A map with two keys. A <code>True</code> key whose value
* is a list of image's id, the settings have been applied to.
* A <code>False</code> key whose value is a list
* of image's id, the settings couldn't be applied.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map setMinMaxSettings(SecurityContext ctx, Class rootNodeType,
List<Long> nodeIDs)
throws DSOutOfServiceException, DSAccessException;
/**
* Sets the rendering settings for the images contained in the
* specified datasets if the rootType is <code>DatasetData</code>
* Resets the settings to the passed images if the type is
* <code>ImageData</code>.
*
* @param rootNodeType The type of nodes. Can either be
* <code>ImageData</code>, <code>DatasetData</code>.
* @param nodeIDs The id of the nodes to apply settings to.
* Mustn't be <code>null</code>.
* @return A map with two keys. A <code>True</code> key whose value
* is a list of image's id, the settings have been applied to.
* A <code>False</code> key whose value is a list
* of image's id, the settings couldn't be applied.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map setOwnerRenderingSettings(SecurityContext ctx,
Class rootNodeType, List<Long> nodeIDs)
throws DSOutOfServiceException, DSAccessException;
/**
* Retrieves the rendering setting related to a given set of pixels.
* Returns a Map whose keys are the experimenter who created the rendering
* settings and the value the settings itself.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @param userID The id of the user currently logged in.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map<DataObject, Collection<RndProxyDef>>
getRenderingSettings(SecurityContext ctx, long pixelsID, long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Retrieves the rendering setting related to a given set of pixels
* for the specified user.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @param userID The id of the user currently logged in.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public List<RndProxyDef> getRenderingSettingsFor(SecurityContext ctx,
long pixelsID, long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Creates a preview projected image
*
* @param ctx The security context.
* @param pixelsID The ID of the pixels set.
* @param startZ The first optical section.
* @param endZ The last optical section.
* @param stepping The stepping used during the projection.
* @param type The type of projection.
* @param channels The collection of channels to project.
* @return The buffered image representing the projected image.
* @throws RenderingServiceException If the server cannot render the image.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
*/
public BufferedImage renderProjected(SecurityContext ctx, long pixelsID,
int startZ, int endZ, int stepping, int type, List<Integer> channels)
throws RenderingServiceException, DSOutOfServiceException;
/**
* Projects the specified set of pixels according to the projection's
* parameters. Adds the created image to the passed dataset.
*
* @param ctx The security context.
* @param ref The object hosting the projection's parameters.
* @return The newly created image.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public ImageData projectImage(SecurityContext ctx, ProjectionParam ref)
throws DSOutOfServiceException, DSAccessException;
/**
* Creates rendering setting for the specified pixels set and
* copies the settings from the passed rendering setting object if
* not <code>null</code>. Returns <code>true</code> if the rendering
* settings have been successfully created and updated, <code>false</code>
* otherwise.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set to handle.
* @param rndToCopy The rendering settings to copy to the newly created one.
* @param indexes Collection of channel's indexes.
* Mustn't be <code>null</code>.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws FSAccessException If an error occurred while trying to
* retrieve data using OMERO.fs.
*/
public Boolean createRenderingSettings(SecurityContext ctx, long pixelsID,
RndProxyDef rndToCopy, List<Integer> indexes)
throws DSOutOfServiceException, DSAccessException, FSAccessException;
/**
* Loads the plane info objects related to the passed pixels set.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @param z The selected z-section or <code>-1</code>.
* @param t The selected time-point or <code>-1</code>.
* @param channel The selected time-point or <code>-1</code>.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Collection loadPlaneInfo(SecurityContext ctx,
long pixelsID, int z, int t, int channel)
throws DSOutOfServiceException, DSAccessException;
/**
* Imports the collection of images into the specified container.
*
* @param object The object hosting the information about the file to import.
* @param importable The file to import. Mustn't be <code>null</code>.
* @param close Pass <code>true</code> to close the import,
* <code>false</code> otherwise.
* @return See above.
* @throws ImportException If an error occurred while importing.
*/
public Object importFile(ImportableObject object,
ImportableFile importable , boolean close)
throws ImportException, DSAccessException, DSOutOfServiceException;
/**
* Returns the collection of supported file formats.
*
* @return See above.
*/
public FileFilter[] getSupportedFileFormats();
/**
* Creates a movie. Returns script call-back.
*
* @param ctx The security context.
* @param imageID The id of the image.
* @param pixelsID The id of the pixels set.
* @param channels The channels to map.
* @param param The parameters to create the movie.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public ScriptCallback createMovie(SecurityContext ctx,
long imageID, long pixelsID, List<Integer> channels,
MovieExportParam param)
throws ProcessException, DSOutOfServiceException, DSAccessException;
/**
* Loads the ROI related to the specified image and the file.
*
* @param ctx The security context.
* @param imageID The image's ID.
* @param fileIDs The id of the original file.
* @param userID The user's ID.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public List<ROIResult> loadROI(SecurityContext ctx, long imageID,
List<Long> fileIDs, long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Loads the ROI related to the specified image.
*
* @param ctx The security context.
* @param imageID The image's ID.
* @param userID The user's ID.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public List<ROIResult> loadROIFromServer(SecurityContext ctx, long imageID,
long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Exports the passed image as an XML file.
*
* @param ctx The security context.
* @param index One of the export constants defined by this class.
* @param imageID The ID of the image.
* @param folder The folder where to export the image.
* @param target The selected schema.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Object exportImageAsOMEFormat(SecurityContext ctx, int index,
long imageID, File folder, Target target)
throws DSOutOfServiceException, DSAccessException;
/**
* Saves the ROI related to the specified image to the server
*
* @param ctx The security context.
* @param imageID The image's ID.
* @param userID The user's ID.
* @param roiList The list of ROI to save.
* @return True if save successful.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Collection<ROIData> saveROI(SecurityContext ctx, long imageID,
long userID, List<ROIData> roiList)
throws DSOutOfServiceException, DSAccessException;
/**
* Creates a figure composed of the specified objects.
*
* @param ctx The security context.
* @param ids The objects to use for the figure.
* @param type The type of object to handle.
* @param parameters The parameters to create the figure.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public ScriptCallback createFigure(SecurityContext ctx,
List<Long> ids, Class type, Object parameters)
throws ProcessException, DSOutOfServiceException, DSAccessException;
/**
* Renders the passed plane with or without overlays depending on the
* parameters.
*
* @param ctx The security context.
* @param pixelsID The id of the pixels set.
* @param pd The plane to render.
* @param tableID The id of the table hosting the mask.
* @param overlays The overlays to render or <code>null</code>.
* @return See above.
* @throws RenderingServiceException If the server cannot render the image.
*/
public Object renderOverLays(SecurityContext ctx, long pixelsID,
PlaneDef pd, long tableID, Map<Long, Integer> overlays)
throws RenderingServiceException;
/**
* Loads the measurement associated to a given object.
*
* @param ctx The security context.
* @param type The type of the object.
* @param id The id of the object.
* @param userID The id of the user who added attachments to the object
* or <code>-1</code> if the user is not specified.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Collection loadROIMeasurements(SecurityContext ctx, Class type,
long id, long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Returns all the scripts the default one and the
* uploaded ones depending on the specified flag.
* If a user is specified, returns the scripts owned by the specified
* user.
*
* @param ctx The security context.
* @param userID The id of the experimenter or <code>-1</code>.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public List<ScriptObject> loadAvailableScripts(SecurityContext ctx,
long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Returns all the scripts with a UI.
*
* @param ctx The security context.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public List<ScriptObject> loadAvailableScriptsWithUI(SecurityContext ctx)
throws DSOutOfServiceException, DSAccessException;
/**
* Loads the specified script and its parameters.
*
* @param ctx The security context.
* @param scriptID The id of the script.
* @return See above.
* @throws ProcessException If the script could not be loaded.
*/
public ScriptObject loadScript(SecurityContext ctx, long scriptID)
throws ProcessException;
/**
* Returns all the scripts currently stored into the system.
*
* @param ctx The security context.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map<Long, String> getScriptsAsString(SecurityContext ctx)
throws DSOutOfServiceException, DSAccessException;
/**
* Runs the passed script.
*
* @param ctx The security context.
* @param script The script to run.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public ScriptCallback runScript(SecurityContext ctx, ScriptObject script)
throws ProcessException, DSOutOfServiceException, DSAccessException;
/**
* Uploads the passed script.
*
* @param ctx The security context.
* @param script The script to run.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ValidationException If the script validation failed
*/
public Object uploadScript(SecurityContext ctx, ScriptObject script)
throws DSOutOfServiceException, DSAccessException, ValidationException;
/**
* Retrieves the thumbnails corresponding to the passed collection of
* files.
*
* @param ctx The security context.
* @param files The files to handle.
* @param maxLength The maximum length of a thumbnail.
* @param userID The id of the user.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws FSAccessException If an error occurred while trying to
* retrieve data using OMERO.fs.
*/
public Map<DataObject, BufferedImage> getFSThumbnailSet(SecurityContext ctx,
List<DataObject> files, int maxLength, long userID)
throws DSAccessException, DSOutOfServiceException, FSAccessException;
/**
* Retrieves the thumbnails corresponding to the passed collection of
* experimenter.
*
* @param ctx The security context.
* @param experimenters The experimenters to handle.
* @param maxLength The maximum length of a thumbnail.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
public Map<DataObject, BufferedImage> getExperimenterThumbnailSet(
SecurityContext ctx, List<DataObject> experimenters, int maxLength)
throws DSAccessException, DSOutOfServiceException;
/**
* Saves locally the images as <code>JPEG</code>.
*
* @param ctx The security context.
* @param param Hosts the information about the objects to save,
* where to save etc.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public ScriptCallback saveAs(SecurityContext ctx, SaveAsParam param)
throws ProcessException, DSAccessException, DSOutOfServiceException;
/**
* Indicates if the image corresponding to the specified pixels set is
* a large image.
*
* @param ctx The security context.
* @param pixelsId The identifier of the pixels set.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public Boolean isLargeImage(SecurityContext ctx, long pixelsId)
throws DSAccessException, DSOutOfServiceException;
/**
* Loads the file set corresponding to the specified image.
*
* @param ctx The security context.
* @param imageId The identifier of the image.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
* @throws ProcessException If an error occurred while running the script.
*/
public Set<DataObject> getFileSet(SecurityContext ctx, long imageId)
throws DSAccessException, DSOutOfServiceException;
/**
* Creates a thumbnail store for the specified security context.
* This method has to be used with care. The stateful service must be closed
* when the work is complete.
*
* @param ctx The context to handle.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
ThumbnailStorePrx createThumbnailStore(SecurityContext ctx)
throws DSAccessException, DSOutOfServiceException;
/**
* Retrieves the rendering settings for the specified pixels set.
*
* @param ctx The security context.
* @param pixelsID The pixels ID.
* @param userID The id of the user who set the rendering settings.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
Long getRenderingDef(SecurityContext ctx, long pixelsID, long userID)
throws DSOutOfServiceException, DSAccessException;
/**
* Retrieves the rendering settings for the specified pixels set.
*
* @param ctx The security context.
* @param rndID The rendering settings ID.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
RndProxyDef getSettings(SecurityContext ctx, long rndID)
throws DSOutOfServiceException, DSAccessException;
/**
* Creates a pixels store for the specified security context.
* This method has to be used with care. The stateful service must be closed
* when the work is complete.
*
* @param ctx The context to handle.
* @return See above.
* @throws DSOutOfServiceException If the connection is broken, or logged
* in.
* @throws DSAccessException If an error occurred while trying to
* retrieve data from OMEDS service.
*/
RawPixelsStorePrx createPixelsStore(SecurityContext ctx)
throws DSAccessException, DSOutOfServiceException;
}