Class ScreeningOpenbisServiceFacade

    • Method Detail

      • tryCreate

        public static IScreeningOpenbisServiceFacade tryCreate​(java.lang.String userId,
                                                               java.lang.String userPassword,
                                                               java.lang.String serverUrl)
        Creates a service facade which communicates with the openBIS server at the specified URL. Authenticates the user.
        Returns:
        null if the user could not be authenticated.
      • tryCreate

        public static IScreeningOpenbisServiceFacade tryCreate​(java.lang.String sessionToken,
                                                               java.lang.String serverUrl)
        Creates a service facade which communicates with the openBIS server at the specified URL for an authenticated user.
        Parameters:
        sessionToken - The session token for the authenticated user
        serverUrl - The URL for the openBIS application server
      • tryCreateWithLocalDss

        public static IScreeningOpenbisServiceFacade tryCreateWithLocalDss​(java.lang.String sessionToken,
                                                                           java.lang.String serverUrl,
                                                                           IDssServiceRpcScreening localDss)
        Creates a service facade which communicates with the openBIS server at the specified URL for an authenticated user. This version should be used when facade is running from the dss process (like a dropbox) and all dss calls should be send to this instance.
      • tryCreateForTest

        public static IScreeningOpenbisServiceFacade tryCreateForTest​(java.lang.String sessionToken,
                                                                      java.lang.String serverUrl,
                                                                      IScreeningApiServer openbisServer)
        This constructor is only for use in tests. Do not use it otherwise.
      • logout

        public void logout()
        Closes connection with the server. After calling this method this facade cannot be used.
        Specified by:
        logout in interface IScreeningOpenbisServiceFacade
      • listPlates

        public java.util.List<Plate> listPlates()
        Return the list of all visible plates assigned to any experiment, along with their hierarchical context (space, project, experiment).
        Specified by:
        listPlates in interface IScreeningOpenbisServiceFacade
      • getDataSets

        public java.util.List<IDataSetDss> getDataSets​(WellIdentifier wellIdentifier,
                                                       java.lang.String datasetTypeCodePattern)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Get proxies to the data sets owned by specified well.
        Specified by:
        getDataSets in interface IScreeningOpenbisServiceFacade
        datasetTypeCodePattern - only datasets of the type which matche the specified pattern will be returned. To fetch all datasets specify ".*".
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getDataSets

        public java.util.List<IDataSetDss> getDataSets​(WellIdentifier wellIdentifier,
                                                       IDataSetFilter dataSetFilter)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Gets proxies to the data sets owned by specified well and passing specified filter..
        Specified by:
        getDataSets in interface IScreeningOpenbisServiceFacade
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getDataSet

        public IDataSetDss getDataSet​(java.lang.String dataSetCode)
                               throws java.lang.IllegalStateException,
                                      ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Specified by:
        getDataSet in interface IScreeningOpenbisServiceFacade
        Throws:
        java.lang.IllegalStateException
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
      • getDataSets

        public java.util.List<IDataSetDss> getDataSets​(PlateIdentifier plateIdentifier,
                                                       java.lang.String datasetTypeCodePattern)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Get proxies to the data sets owned by specified plate.
        Specified by:
        getDataSets in interface IScreeningOpenbisServiceFacade
        datasetTypeCodePattern - only datasets of the type which matche the specified pattern will be returned. To fetch all datasets specify ".*".
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getDataSets

        public java.util.List<IDataSetDss> getDataSets​(PlateIdentifier plateIdentifier,
                                                       IDataSetFilter dataSetFilter)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Gets proxies to the data sets owned by specified plate and passing specified filter.
        Specified by:
        getDataSets in interface IScreeningOpenbisServiceFacade
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getFullDataSets

        public java.util.List<DataSet> getFullDataSets​(PlateIdentifier plateIdentifier,
                                                       IDataSetFilter dataSetFilter)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Description copied from interface: IScreeningOpenbisServiceFacade
        A list of data sets owned by specified plate and passing specified filter. The data set objects provide metadata (e.g. code, properties etc. from the openBIS AS) as well as data (e.g. files from openBIS DSS).
        Specified by:
        getFullDataSets in interface IScreeningOpenbisServiceFacade
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getFullDataSets

        public java.util.List<DataSet> getFullDataSets​(ExperimentIdentifier experimentIdentifier,
                                                       IDataSetFilter dataSetFilter)
                                                throws java.lang.IllegalStateException,
                                                       ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Description copied from interface: IScreeningOpenbisServiceFacade
        A list of data sets owned by specified experiment and passing specified filter. The data set objects provide metadata (e.g. code, properties etc. from the openBIS AS) as well as data (e.g. files from openBIS DSS).
        Specified by:
        getFullDataSets in interface IScreeningOpenbisServiceFacade
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
      • getDataSetMetaData

        public java.util.List<DataSet> getDataSetMetaData​(java.util.List<java.lang.String> dataSetCodes)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Returns meta data for all specified data set codes. This contains data set type, properties, and codes of linked parent and children data sets.
        Specified by:
        getDataSetMetaData in interface IScreeningOpenbisServiceFacade
        Returns:
        result in the same order as the list of data set codes.
      • putDataSet

        public IDataSetDss putDataSet​(WellIdentifier wellIdentifier,
                                      java.io.File dataSetFile,
                                      NewDataSetMetadataDTO dataSetMetadataOrNull)
                               throws java.lang.IllegalStateException,
                                      ch.systemsx.cisd.common.exceptions.EnvironmentFailureException,
                                      java.io.IOException
        Upload a new data set to the DSS for a well.
        Specified by:
        putDataSet in interface IScreeningOpenbisServiceFacade
        Parameters:
        wellIdentifier - Identifier of a well that should become owner of the new data set
        dataSetFile - A file or folder containing the data
        dataSetMetadataOrNull - The optional metadata overriding server defaults for the new data set
        Returns:
        A proxy to the newly added data set
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
        java.io.IOException - when accessing the data set file or folder fails
      • putDataSet

        public IDataSetDss putDataSet​(PlateIdentifier plateIdentifier,
                                      java.io.File dataSetFile,
                                      NewDataSetMetadataDTO dataSetMetadataOrNull)
                               throws java.lang.IllegalStateException,
                                      ch.systemsx.cisd.common.exceptions.EnvironmentFailureException,
                                      java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Upload a new data set to the DSS for a plate.
        Specified by:
        putDataSet in interface IScreeningOpenbisServiceFacade
        Parameters:
        plateIdentifier - Identifier of a plate that should become owner of the new data set
        dataSetFile - A file or folder containing the data
        dataSetMetadataOrNull - The optional metadata overriding server defaults for the new data set
        Returns:
        A proxy to the newly added data set
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
        java.io.IOException - when accessing the data set file or folder fails
      • putDataSet

        public IDataSetDss putDataSet​(ExperimentIdentifier experimentIdentifier,
                                      java.io.File dataSetFile,
                                      NewDataSetMetadataDTO dataSetMetadataOrNull)
                               throws java.lang.IllegalStateException,
                                      ch.systemsx.cisd.common.exceptions.EnvironmentFailureException,
                                      java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Upload a new data set to the DSS for a plate.
        Specified by:
        putDataSet in interface IScreeningOpenbisServiceFacade
        Parameters:
        experimentIdentifier - Identifier of a experiment that should become owner of the new data set
        dataSetFile - A file or folder containing the data
        dataSetMetadataOrNull - The optional metadata overriding server defaults for the new data set
        Returns:
        A proxy to the newly added data set
        Throws:
        java.lang.IllegalStateException - Thrown if the user has not yet been authenticated.
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException - Thrown in cases where it is not possible to connect to the server.
        java.io.IOException - when accessing the data set file or folder fails
      • listAvailableFeatureNames

        public java.util.List<java.lang.String> listAvailableFeatureNames​(java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For a given set of feature vector data sets provides the list of all available features. This is just the name of the feature. If for different data sets different sets of features are available, provides the union of the feature names of all data sets.
        Specified by:
        listAvailableFeatureNames in interface IScreeningOpenbisServiceFacade
      • listAvailableFeatureCodes

        public java.util.List<java.lang.String> listAvailableFeatureCodes​(java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        For a given set of feature vector data sets provides the list of all available features. This is just the code of the feature. If for different data sets different sets of features are available, provides the union of the feature names of all data sets.
        Specified by:
        listAvailableFeatureCodes in interface IScreeningOpenbisServiceFacade
      • listAvailableFeatures

        public java.util.List<FeatureInformation> listAvailableFeatures​(java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        For a given set of feature vector data sets provide the list of all available features. This contains the code, label and description of the feature. If for different data sets different sets of features are available, provide the union of the features of all data sets. Only available when all data store services have minor version 9 or newer.
        Specified by:
        listAvailableFeatures in interface IScreeningOpenbisServiceFacade
      • loadFeaturesForPlates

        public java.util.List<FeatureVectorDataset> loadFeaturesForPlates​(java.util.List<? extends PlateIdentifier> plates,
                                                                          java.util.List<java.lang.String> featureCodesOrNull)
        For a given set of plates and a set of features (given by their code), provide all the feature vectors.
        Specified by:
        loadFeaturesForPlates in interface IScreeningOpenbisServiceFacade
        Parameters:
        plates - The plates to get the feature vectors for
        featureCodesOrNull - The codes of the features to load, or null, if all available features should be loaded.
        Returns:
        The list of FeatureVectorDatasets, each element corresponds to one of the featureDatasets.
      • loadFeaturesForPlates

        public java.util.List<FeatureVectorDataset> loadFeaturesForPlates​(java.util.List<? extends PlateIdentifier> plates,
                                                                          java.util.List<java.lang.String> featureCodesOrNull,
                                                                          java.lang.String analysisProcedureOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For a given set of plates and a set of features (given by their code), provide all the feature vectors created by specified analysis procedure.
        Specified by:
        loadFeaturesForPlates in interface IScreeningOpenbisServiceFacade
        Parameters:
        plates - The plates to get the feature vectors for
        featureCodesOrNull - The codes of the features to load, or null, if all available features should be loaded.
        analysisProcedureOrNull - If null result isn't restricted to any analysis procedure.
        Returns:
        The list of FeatureVectorDatasets, each element corresponds to one of the featureDatasets.
      • loadFeatures

        public java.util.List<FeatureVectorDataset> loadFeatures​(java.util.List<FeatureVectorDatasetReference> featureDatasets,
                                                                 java.util.List<java.lang.String> featureCodesOrNull)
        For a given set of data sets and a set of features (given by their code), provide all the feature vectors.
        Specified by:
        loadFeatures in interface IScreeningOpenbisServiceFacade
        Parameters:
        featureDatasets - The data sets to get the feature vectors for
        featureCodesOrNull - The codes of the features to load, or null, if all available features should be loaded.
        Returns:
        The list of FeatureVectorDatasets, each element corresponds to one of the featureDatasets.
      • loadFeaturesForDatasetWellReferences

        public java.util.List<FeatureVectorWithDescription> loadFeaturesForDatasetWellReferences​(java.util.List<FeatureVectorDatasetWellReference> datasetWellReferences,
                                                                                                 java.util.List<java.lang.String> featureCodesOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Conceptually, for a given list of dataset well references (i.e. specified wells on specified feature vector data sets) and a set of features (given by their code) provide the feature matrix. In this matrix, each column is one feature, each row is one well in one data set.

        Physically, the result is delivered as a list of feature vectors. Each entry in this list corresponds to one well in one dataset.

        Specified by:
        loadFeaturesForDatasetWellReferences in interface IScreeningOpenbisServiceFacade
        Parameters:
        datasetWellReferences - The references for datasets / wells to get the feature vectors for.
        featureCodesOrNull - The codes of the features to build the feature vectors from, or null, if all available features should be included. Note that for an empty list as well all features will be included.
        Returns:
        The list of FeatureVectorWithDescriptions, each element corresponds to one of the datasetWellReferences. Note that the order of the returned list is not guaranteed to be the same as the order of the list datasetWellReferences. Use FeatureVectorWithDescription.getDatasetWellReference() to find the corresponding dataset / well.
      • loadFeaturesForPlateWells

        public java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(ExperimentIdentifier experimentIdentifer,
                                                                                      MaterialIdentifier materialIdentifier,
                                                                                      java.util.List<java.lang.String> featureCodesOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For the given experimentIdentifier find all plate locations that are connected to the specified materialIdentifier and load the feature vectors for the given feature code if not null, or all available features otherwise.
        Specified by:
        loadFeaturesForPlateWells in interface IScreeningOpenbisServiceFacade
        Parameters:
        experimentIdentifer - The identifier of the experiment to get the feature vectors for
        materialIdentifier - The identifier of the material contained in the wells to get the feature vectors for.
        featureCodesOrNull - The codes of the features to build the feature vectors from, or null, if all available features should be included. Note that for an empty list as well all features will be included.
        Returns:
        The list of FeatureVectorWithDescriptions found in the given experimentIdentifer and connected with the given materialIdentifier.
      • loadFeaturesForPlateWells

        public java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(ExperimentIdentifier experimentIdentifer,
                                                                                      MaterialIdentifier materialIdentifier,
                                                                                      java.lang.String analysisProcedureOrNull,
                                                                                      java.util.List<java.lang.String> featureCodesOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For the given experimentIdentifier find all plate locations that are connected to the specified materialIdentifier and load the feature vectors for the given feature code if not null, or all available features otherwise. Do this only for data sets with specified value of property ANALYSIS_PROCEDURE, if not null.
        Specified by:
        loadFeaturesForPlateWells in interface IScreeningOpenbisServiceFacade
        Parameters:
        experimentIdentifer - The identifier of the experiment to get the feature vectors for
        materialIdentifier - The identifier of the material contained in the wells to get the feature vectors for.
        analysisProcedureOrNull - If not null result is restricted to data sets with property ANALYSIS_PROCEDURE set to this value.
        featureCodesOrNull - The codes of the features to build the feature vectors from, or null, if all available features should be included. Note that for an empty list as well all features will be included.
        Returns:
        The list of FeatureVectorWithDescriptions found in the given experimentIdentifer and connected with the given materialIdentifier.
      • loadFeaturesForPlateWells

        public java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(MaterialIdentifier materialIdentifier,
                                                                                      java.util.List<java.lang.String> featureCodesOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For the given materialIdentifier find all plate locations that are connected to it and load the feature vectors for the given feature code if not null, or all available features otherwise.
        Specified by:
        loadFeaturesForPlateWells in interface IScreeningOpenbisServiceFacade
        Parameters:
        materialIdentifier - The identifier of the material contained in the wells to get the feature vectors for.
        featureCodesOrNull - The codes of the features to build the feature vectors from, or null, if all available features should be included. Note that for an empty list as well all features will be included.
        Returns:
        The list of FeatureVectorWithDescriptions found in the given experimentIdentifer and connected with the given materialIdentifier.
      • loadFeaturesForPlateWells

        public java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(MaterialIdentifier materialIdentifier,
                                                                                      java.lang.String analysisProcedureOrNull,
                                                                                      java.util.List<java.lang.String> featureCodesOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        For the given materialIdentifier find all plate locations that are connected to it and load the feature vectors for the given feature code if not null, or all available features otherwise. Do this only for data sets with specified value of property ANALYSIS_PROCEDURE, if not null.
        Specified by:
        loadFeaturesForPlateWells in interface IScreeningOpenbisServiceFacade
        Parameters:
        materialIdentifier - The identifier of the material contained in the wells to get the feature vectors for.
        analysisProcedureOrNull - If not null result is restricted to data sets with property ANALYSIS_PROCEDURE set to this value.
        featureCodesOrNull - The codes of the features to build the feature vectors from, or null, if all available features should be included. Note that for an empty list as well all features will be included.
        Returns:
        The list of FeatureVectorWithDescriptions found in the given experimentIdentifer and connected with the given materialIdentifier.
      • createPlateImageReferences

        public java.util.List<PlateImageReference> createPlateImageReferences​(ImageDatasetReference imageDatasetRef,
                                                                              java.util.List<java.lang.String> channelCodesOrNull,
                                                                              java.util.List<WellPosition> wellsOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Returns the list of all plate image references for the given imageDatasetRef (all tiles), the given channelCodesOrNull and wellsOrNull.
        Specified by:
        createPlateImageReferences in interface IScreeningOpenbisServiceFacade
        channelCodesOrNull - The channel codes for which to create image references. If null or empty, references for all channels will be created.
        wellsOrNull - The wells to create image references for. If null or empty, references for all wells will be created.
      • createPlateImageReferences

        public java.util.List<PlateImageReference> createPlateImageReferences​(ImageDatasetReference imageDatasetRef,
                                                                              ImageDatasetMetadata metadataOrNull,
                                                                              java.util.List<java.lang.String> channelCodesOrNull,
                                                                              java.util.List<WellPosition> wellsOrNull)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Returns the list of all plate image references for the given imageDatasetRef (all tiles), the given channelCodesOrNull and wellsOrNull.
        Specified by:
        createPlateImageReferences in interface IScreeningOpenbisServiceFacade
        metadataOrNull - The metadata of the image dataset. If null, the metadata will be fetched from the server.
        channelCodesOrNull - The channel codes for which to create image references. If null or empty, references for all channels will be created.
        wellsOrNull - The wells to create image references for. If null or empty, references for all wells will be created.
      • createPlateImageReferences

        public java.util.List<PlateImageReference> createPlateImageReferences​(IImageDatasetIdentifier imageDatasetId,
                                                                              java.util.List<java.lang.String> channeldCodesOrNull,
                                                                              java.util.List<WellPosition> wellsToUse)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Returns the list of all plate image references for the given imageDatasetId (all tiles), and the given channelCodesOrNull and wellsToUse.
        Specified by:
        createPlateImageReferences in interface IScreeningOpenbisServiceFacade
        channeldCodesOrNull - The channel codes for which to create image references. If null or empty, references for all channels will be created.
        wellsToUse - The wells to create image references for. Must not be null.
      • createPlateImageReferences

        public java.util.List<PlateImageReference> createPlateImageReferences​(IImageDatasetIdentifier imageDatasetId,
                                                                              ImageDatasetMetadata metadataOrNull,
                                                                              java.util.List<java.lang.String> channelCodesOrNull,
                                                                              java.util.List<WellPosition> wellsToUse)
        Description copied from interface: IScreeningOpenbisServiceFacade
        Returns the list of all plate image references for the given imageDatasetId (all tiles), and the given channelCodesOrNull and wellsToUse.
        Specified by:
        createPlateImageReferences in interface IScreeningOpenbisServiceFacade
        metadataOrNull - The metadata of the image dataset. If null, the metadata will be fetched from the server.
        channelCodesOrNull - The channel codes for which to create image references. If null or empty, references for all channels will be created.
        wellsToUse - The wells to create image references for. Must not be null.
      • loadImages

        public void loadImages​(java.util.List<PlateImageReference> imageReferences,
                               ScreeningOpenbisServiceFacade.IImageOutputStreamProvider outputStreamProvider)
                        throws java.io.IOException
        Saves images for a given list of image references (given by data set code, well position, channel and tile) in the provided output streams. Output streams will not be closed automatically.

        If there is an image reference specified which is not referring to the existing image on the server, nothing will be written to the output stream returned by the output streams provider. No exception will be thrown.

        The images will be converted to PNG format before being shipped.
        The number of image references has to be the same as the number of files.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        public void loadImages​(java.util.List<PlateImageReference> imageReferences,
                               ScreeningOpenbisServiceFacade.IImageOutputStreamProvider outputStreamProvider,
                               boolean convertToPNG)
                        throws java.io.IOException
        Saves images for a given list of image references (given by data set code, well position, channel and tile) in the provided output streams. Output streams will not be closed automatically.

        If there is an image reference specified which is not referring to the existing image on the server, nothing will be written to the output stream returned by the output streams provider. No exception will be thrown.

        If convertToPng==true, the images will be converted to PNG format before being shipped, otherwise they will be shipped in the format that they are stored on the server.
        The number of image references has to be the same as the number of files.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        public void loadImages​(java.util.List<PlateImageReference> imageReferences,
                               boolean convertToPNG,
                               IPlateImageHandler plateImageHandler)
                        throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads images for a given list of image references (given by data set code, well position, channel and tile) and hands it over to the plateImageHandler.
        If convertToPng==true, the images will be converted to PNG format before being shipped, otherwise they will be shipped in the format that they are stored on the server.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        public java.util.List<byte[]> loadImages​(IDatasetIdentifier dataSetIdentifier,
                                                 java.util.List<WellPosition> wellPositions,
                                                 java.lang.String channel,
                                                 ImageSize thumbnailSizeOrNull)
                                          throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads original images or thumbnails for a specified data set, a list of well positions (empty list means all wells), a channel, and an optional thumb nail size. Images of all tiles are delivered. If thumb nail size isn't specified the original image is delivered otherwise a thumb nail image with same aspect ratio as the original image but which fits into specified size will be delivered.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        Returns:
        a list of byte arrays where each array contains a PNG encoded image.
        Throws:
        java.io.IOException
      • loadImages

        public void loadImages​(IDatasetIdentifier dataSetIdentifier,
                               java.util.List<WellPosition> wellPositions,
                               java.lang.String channel,
                               ImageSize thumbnailSizeOrNull,
                               IPlateImageHandler plateImageHandler)
                        throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads PNG-encoded images for specified data set, list of well positions (empty list means all wells), channel, and optional thumb nail size. Images of all tiles are delivered. If thumb nail size isn't specified the original image is delivered otherwise a thumb nail image with same aspect ratio as the original image but which fits into specified size will be delivered.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException
      • loadImageWellCaching

        public byte[] loadImageWellCaching​(PlateImageReference imageReference,
                                           ImageSize imageSizeOrNull)
                                    throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads an PNG-encoded image for the specified image reference and, optionally, image size. If the image size isn't specified, the original image is delivered, otherwise a scaled image with same aspect ratio as the original image but which fits into specified size will be delivered.
        Specified by:
        loadImageWellCaching in interface IScreeningOpenbisServiceFacade
        Throws:
        java.io.IOException
      • loadImages

        public void loadImages​(java.util.List<PlateImageReference> imageReferences,
                               ImageSize sizeOrNull,
                               IPlateImageHandler plateImageHandler)
                        throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads PNG-encoded images for specified image references and, optionally, image size. If the image size isn't specified, the original image is delivered, otherwise a scaled image with same aspect ratio as the original image but which fits into specified size will be delivered.
        Specified by:
        loadImages in interface IScreeningOpenbisServiceFacade
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException
      • loadThumbnailImageWellCaching

        public byte[] loadThumbnailImageWellCaching​(PlateImageReference imageReference)
                                             throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads the PNG-encoded image for the specified imageReference.

        This method triggers loading the thumbnail images for all tiles and all channels for the given well and image data set. It is a method to be used in code that has to get one image at a time but eventually needs all images for a well and can increase performance of image loading considerably.

        Specified by:
        loadThumbnailImageWellCaching in interface IScreeningOpenbisServiceFacade
        Throws:
        java.io.IOException
      • loadThumbnailImages

        public void loadThumbnailImages​(java.util.List<PlateImageReference> imageReferences,
                                        IPlateImageHandler plateImageHandler)
                                 throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads thumbnail images for specified data set, for a given list of image references (given by data set code, well position, channel and tile) in the provided output streams. Output streams will not be closed automatically.
        If no thumbnails are stored for this data set and well positions, empty images (length 0) will be returned.
        Specified by:
        loadThumbnailImages in interface IScreeningOpenbisServiceFacade
        plateImageHandler - Handles delivered images.
        Throws:
        java.io.IOException
      • loadThumbnailImages

        public void loadThumbnailImages​(java.util.List<PlateImageReference> imageReferences,
                                        ScreeningOpenbisServiceFacade.IImageOutputStreamProvider outputStreamProvider)
                                 throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Loads thumbnail images for specified data set, for a given list of image references (given by data set code, well position, channel and tile) in the provided output streams. Output streams will not be closed automatically.
        If no thumbnails are stored for this data set and well positions, empty images (length 0) will be returned.
        Specified by:
        loadThumbnailImages in interface IScreeningOpenbisServiceFacade
        outputStreamProvider - Handles delivered images.
        Throws:
        java.io.IOException
      • loadPhysicalThumbnails

        public void loadPhysicalThumbnails​(java.util.List<PlateImageReference> imageReferences,
                                           ImageRepresentationFormat format,
                                           IPlateImageHandler plateImageHandler)
                                    throws java.io.IOException
        Description copied from interface: IScreeningOpenbisServiceFacade
        Retrieves images for the specified image references and invokes the plateImageHandler passing in image data.
        If no images are stored for a particular combination of image reference and format, empty images (length 0) will be returned.
        Specified by:
        loadPhysicalThumbnails in interface IScreeningOpenbisServiceFacade
        Parameters:
        imageReferences - The data set, well, channel, and tile of the image to be returned.
        format - The format of the image to return.
        plateImageHandler - Handles delivered images.
        Throws:
        java.io.IOException