Interface IScreeningOpenbisServiceFacade

  • All Known Implementing Classes:
    ScreeningOpenbisServiceFacade

    public interface IScreeningOpenbisServiceFacade
    The service facade for the openBIS public remote API for screening and imaging.
    • Method Detail

      • getSessionToken

        java.lang.String getSessionToken()
        Return the session token for this authenticated user.
      • logout

        void logout()
        Closes connection with the server. After calling this method this facade cannot be used.
      • searchForMaterials

        java.util.List<Material> searchForMaterials​(SearchCriteria searchCriteria)
        Exposes material search functionaliy (used for ScreeningML)
      • searchForSamples

        java.util.List<Sample> searchForSamples​(SearchCriteria searchCriteria)
        Exposes material search functionaliy (used for ScreeningML)
      • listPlates

        java.util.List<Plate> listPlates()
        Return the list of all visible plates assigned to any experiment, along with their hierarchical context (space, project, experiment).
      • getPlateMetadataList

        java.util.List<PlateMetadata> getPlateMetadataList​(java.util.List<? extends PlateIdentifier> plateIdentifiers)
        Return full metadata for each specified plate, including wells and their properties. If a well contains a material, its properties are also available.
      • listPlates

        java.util.List<Plate> listPlates​(ExperimentIdentifier experiment)
        Return the list of all plates for the given experiment.
      • listPlates

        java.util.List<Plate> listPlates​(ExperimentIdentifier experiment,
                                         java.lang.String analysisProcedure)
        Return the list of all plates for the given experiment and analysis procedure. Each returned plate has at least one data set with the specified analysis procedure.
      • listExperiments

        java.util.List<ExperimentIdentifier> listExperiments()
        Return the list of all visible experiments, along with their hierarchical context (space, project).
      • listExperiments

        java.util.List<ExperimentIdentifier> listExperiments​(java.lang.String userId)
        Return the list of all experiments visible to user userId, along with their hierarchical context (space, project).

        The user calling this method needs to have a role INSTANCE_OBSERVER on the openBIS instance.

        Since:
        1.6
      • listFeatureVectorDatasets

        java.util.List<FeatureVectorDatasetReference> listFeatureVectorDatasets​(java.util.List<? extends PlateIdentifier> plates)
        For a given set of plates provides the list of all connected data sets containing feature vectors.
      • listFeatureVectorDatasets

        java.util.List<FeatureVectorDatasetReference> listFeatureVectorDatasets​(java.util.List<? extends PlateIdentifier> plates,
                                                                                java.lang.String analysisProcedureOrNull)
        For a given set of plates provides the list of all connected data sets containing feature vectors and having specified analysis procedure property.
        Parameters:
        analysisProcedureOrNull - If null returned list isn't filtered on analysis procedure property.
      • listImageDatasets

        @Deprecated
        java.util.List<ImageDatasetReference> listImageDatasets​(java.util.List<? extends PlateIdentifier> plates)
        Deprecated.
        For a given set of plates provides the list of all connected data sets containing images which are not segmentation images.
      • listRawImageDatasets

        java.util.List<ImageDatasetReference> listRawImageDatasets​(java.util.List<? extends PlateIdentifier> plates)
        For a given set of plates provides the list of all connected data sets containing raw images.
      • listSegmentationImageDatasets

        java.util.List<ImageDatasetReference> listSegmentationImageDatasets​(java.util.List<? extends PlateIdentifier> plates)
        For a given set of plates provides the list of all connected data sets containing segmentation images (overlays).
      • listSegmentationImageDatasets

        java.util.List<ImageDatasetReference> listSegmentationImageDatasets​(java.util.List<? extends PlateIdentifier> plates,
                                                                            java.lang.String analysisProcedureOrNull)
        For a given set of plates provides the list of all connected data sets containing segmentation images (overlays) and calculated by specified analysis procedure.
        Parameters:
        analysisProcedureOrNull - If null no restriction applies.
      • listPlateWells

        java.util.List<PlateWellReferenceWithDatasets> listPlateWells​(MaterialIdentifier materialIdentifier,
                                                                      boolean findDatasets)
        For the given materialIdentifier find all plate locations that are connected to it. If findDatasets == true, find also the connected image and image analysis data sets for the relevant plates.
      • listPlateWells

        java.util.List<WellIdentifier> listPlateWells​(PlateIdentifier plateIdentifier)
        For the given plateIdentifier find all wells that are connected to it.
      • getPlateProperties

        java.util.Map<java.lang.String,​java.lang.String> getPlateProperties​(PlateIdentifier plateIdentifier)
        Returns all properties of specified plate as a map.
      • updatePlateProperties

        void updatePlateProperties​(PlateIdentifier plateIdentifier,
                                   java.util.Map<java.lang.String,​java.lang.String> properties)
        Updates properties of specified plate.
      • getWellProperties

        java.util.Map<java.lang.String,​java.lang.String> getWellProperties​(WellIdentifier wellIdentifier)
        Returns all properties of specified well as a map.
      • updateWellProperties

        void updateWellProperties​(WellIdentifier wellIdentifier,
                                  java.util.Map<java.lang.String,​java.lang.String> properties)
        Updates properties of specified well.
      • getDataSets

        @Deprecated
        java.util.List<IDataSetDss> getDataSets​(WellIdentifier wellIdentifier,
                                                java.lang.String datasetTypeCodePattern)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Gets proxies to the data sets owned by specified well.
        Parameters:
        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

        java.util.List<IDataSetDss> getDataSets​(WellIdentifier wellIdentifier,
                                                IDataSetFilter dataSetFilter)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Gets proxies to the data sets owned by specified well and passing specified filter..
        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

        IDataSetDss getDataSet​(java.lang.String dataSetCode)
                        throws java.lang.IllegalStateException,
                               ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Throws:
        java.lang.IllegalStateException
        ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
      • putDataSet

        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.
        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
      • getDataSets

        @Deprecated
        java.util.List<IDataSetDss> getDataSets​(PlateIdentifier plateIdentifier,
                                                java.lang.String datasetTypeCodePattern)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Gets proxies to the data sets of the specified type owned by specified plate.
        Parameters:
        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

        java.util.List<IDataSetDss> getDataSets​(PlateIdentifier plateIdentifier,
                                                IDataSetFilter dataSetFilter)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Gets proxies to the data sets owned by specified plate and passing specified filter.
        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

        java.util.List<DataSet> getFullDataSets​(PlateIdentifier plateIdentifier,
                                                IDataSetFilter dataSetFilter)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        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).
        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

        java.util.List<IDataSetDss> getDataSets​(ExperimentIdentifier plateIdentifier,
                                                IDataSetFilter dataSetFilter)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Gets proxies to the data sets owned by specified experiment and passing specified filter.
        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

        java.util.List<DataSet> getFullDataSets​(ExperimentIdentifier experimentIdentifier,
                                                IDataSetFilter dataSetFilter)
                                         throws java.lang.IllegalStateException,
                                                ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        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).
        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

        java.util.List<DataSet> getDataSetMetaData​(java.util.List<java.lang.String> dataSetCodes)
                                            throws java.lang.IllegalStateException,
                                                   ch.systemsx.cisd.common.exceptions.EnvironmentFailureException
        Returns meta data for all specified data set codes. This contains data set type, properties, and codes of linked parent and children data sets.
        Returns:
        result in the same order as the list of data set codes.
        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.
      • putDataSet

        IDataSetDss putDataSet​(PlateIdentifier plateIdentifier,
                               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 plate.
        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

        IDataSetDss putDataSet​(ExperimentIdentifier experimentIdentifier,
                               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 plate.
        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
      • getDatasetIdentifiers

        java.util.List<IDatasetIdentifier> getDatasetIdentifiers​(java.util.List<java.lang.String> datasetCodes)
        Converts a given list of dataset codes to dataset identifiers which can be used in other API calls.
      • listAvailableFeatureNames

        @Deprecated
        java.util.List<java.lang.String> listAvailableFeatureNames​(java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        Deprecated.
        Use listAvailableFeatureCodes(List) instead. Since version 1.2 of the API features are no longer identified by a name but by a code. Previous client code still works but the name will be normalized internally. "Normalized" means that the original name argument is converted to upper case and any symbol which isn't from A-Z or 0-9 is replaced by an underscore character. The FeatureVectorDataset will provide feature codes and feature labels.
        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.
      • listAvailableFeatureCodes

        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.
      • listAvailableFeatures

        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.
      • listAvailableFeatureLists

        java.util.List<java.lang.String> listAvailableFeatureLists​(IFeatureVectorDatasetIdentifier featureDataset)
        For a given feature vector data set return a list of available feature lists.
      • getFeatureList

        java.util.List<java.lang.String> getFeatureList​(IFeatureVectorDatasetIdentifier featureDataset,
                                                        java.lang.String featureListCode)
        Return the feature codes from the specified feature list of a specified feature data set
      • loadFeaturesForPlates

        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.
        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

        java.util.List<FeatureVectorDataset> loadFeaturesForPlates​(java.util.List<? extends PlateIdentifier> plates,
                                                                   java.util.List<java.lang.String> featureCodesOrNull,
                                                                   java.lang.String analysisProcedureOrNull)
        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.
        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

        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.
        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

        java.util.List<FeatureVectorWithDescription> loadFeaturesForDatasetWellReferences​(java.util.List<FeatureVectorDatasetWellReference> datasetWellReferences,
                                                                                          java.util.List<java.lang.String> featureCodesOrNull)
        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.

        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

        @Deprecated
        java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(ExperimentIdentifier experimentIdentifer,
                                                                               MaterialIdentifier materialIdentifier,
                                                                               java.util.List<java.lang.String> featureCodesOrNull)
        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.
        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

        java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(ExperimentIdentifier experimentIdentifer,
                                                                               MaterialIdentifier materialIdentifier,
                                                                               java.lang.String analysisProcedureOrNull,
                                                                               java.util.List<java.lang.String> featureCodesOrNull)
        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.
        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

        @Deprecated
        java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(MaterialIdentifier materialIdentifier,
                                                                               java.util.List<java.lang.String> featureCodesOrNull)
        Deprecated.
        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.
        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

        java.util.List<FeatureVectorWithDescription> loadFeaturesForPlateWells​(MaterialIdentifier materialIdentifier,
                                                                               java.lang.String analysisProcedureOrNull,
                                                                               java.util.List<java.lang.String> featureCodesOrNull)
        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.
        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.
      • convertToWellPositions

        java.util.List<WellPosition> convertToWellPositions​(java.util.List<WellIdentifier> wellIds)
        Converts the given WellIdentifiers to WellPositions
      • createPlateImageReferences

        java.util.List<PlateImageReference> createPlateImageReferences​(ImageDatasetReference imageDatasetRef)
        Returns the list of all plate image references for the given imageDatasetRef.
      • createPlateImageReferences

        java.util.List<PlateImageReference> createPlateImageReferences​(ImageDatasetReference imageDatasetRef,
                                                                       java.util.List<java.lang.String> channelCodesOrNull,
                                                                       java.util.List<WellPosition> wellsOrNull)
        Returns the list of all plate image references for the given imageDatasetRef (all tiles), the given channelCodesOrNull and wellsOrNull.
        Parameters:
        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

        java.util.List<PlateImageReference> createPlateImageReferences​(ImageDatasetReference imageDatasetRef,
                                                                       ImageDatasetMetadata metadataOrNull,
                                                                       java.util.List<java.lang.String> channelCodesOrNull,
                                                                       java.util.List<WellPosition> wellsOrNull)
        Returns the list of all plate image references for the given imageDatasetRef (all tiles), the given channelCodesOrNull and wellsOrNull.
        Parameters:
        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

        java.util.List<PlateImageReference> createPlateImageReferences​(IImageDatasetIdentifier imageDatasetRef,
                                                                       java.util.List<java.lang.String> channelCodesOrNull,
                                                                       java.util.List<WellPosition> wellsToUse)
        Returns the list of all plate image references for the given imageDatasetId (all tiles), and the given channelCodesOrNull and wellsToUse.
        Parameters:
        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.
      • createPlateImageReferences

        java.util.List<PlateImageReference> createPlateImageReferences​(IImageDatasetIdentifier imageDatasetRef,
                                                                       ImageDatasetMetadata metadataOrNull,
                                                                       java.util.List<java.lang.String> channelCodesOrNull,
                                                                       java.util.List<WellPosition> wellsToUse)
        Returns the list of all plate image references for the given imageDatasetId (all tiles), and the given channelCodesOrNull and wellsToUse.
        Parameters:
        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

        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.
        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.
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        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 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.
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        void loadImages​(java.util.List<PlateImageReference> imageReferences,
                        boolean convertToPNG,
                        IPlateImageHandler plateImageHandler)
                 throws java.io.IOException
        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.
        Parameters:
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException - when reading images from the server or writing them to the output streams fails
      • loadImages

        java.util.List<byte[]> loadImages​(IDatasetIdentifier dataSetIdentifier,
                                          java.util.List<WellPosition> wellPositions,
                                          java.lang.String channel,
                                          ImageSize thumbnailSizeOrNull)
                                   throws java.io.IOException
        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.
        Returns:
        a list of byte arrays where each array contains a PNG encoded image.
        Throws:
        java.io.IOException
      • loadImages

        void loadImages​(IDatasetIdentifier datasetIdentifier,
                        java.util.List<WellPosition> wellPositions,
                        java.lang.String channel,
                        ImageSize thumbnailSizeOrNull,
                        IPlateImageHandler plateImageHandler)
                 throws java.io.IOException
        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.
        Parameters:
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException
      • loadImageWellCaching

        byte[] loadImageWellCaching​(PlateImageReference imageReference,
                                    ImageSize imageSizeOrNull)
                             throws java.io.IOException
        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.
        Throws:
        java.io.IOException
      • loadImages

        void loadImages​(java.util.List<PlateImageReference> imageReferences,
                        ImageSize imageSizeOrNull,
                        IPlateImageHandler plateImageHandler)
                 throws java.io.IOException
        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.
        Parameters:
        plateImageHandler - handles delivered images.
        Throws:
        java.io.IOException
      • loadImages

        void loadImages​(java.util.List<PlateImageReference> imageReferences,
                        LoadImageConfiguration configuration,
                        IPlateImageHandler plateImageHandler)
                 throws java.io.IOException
        Loads images where the desired properties of the images are specified by a LoadImageConfiguration. The options and their behavior are described in the LoadImageConfiguration documentation.
        Parameters:
        configuration - The configuration of the images to load.
        plateImageHandler - Handler for the delivered images.
        Throws:
        java.io.IOException
        See Also:
        LoadImageConfiguration
      • loadImages

        void loadImages​(java.util.List<PlateImageReference> imageReferences,
                        IPlateImageHandler plateImageHandler,
                        ImageRepresentationFormat format)
                 throws java.io.IOException
        Provides images for the specified list of image references (specified by data set code, well position, channel and tile) and specified image representation format. The ImageRepresentationFormat argument should be an object returned by listAvailableImageRepresentationFormats(List). This method assumes that all image references belong to the same data set which has image representations of specified format.
        Parameters:
        plateImageHandler - Handler for the delivered images.
        Throws:
        ch.systemsx.cisd.common.exceptions.UserFailureException - if the specified format refers to an image representations unknown by at least one plate image reference.
        java.io.IOException
      • loadImages

        void loadImages​(java.util.List<PlateImageReference> imageReferences,
                        IPlateImageHandler plateImageHandler,
                        IImageRepresentationFormatSelectionCriterion... criteria)
                 throws java.io.IOException
        Provides images for the specified list of image references (specified by data set code, well position, channel and tile) and image selection criteria. These criteria are applied to the ImageRepresentationFormat sets of each data set. Beside of the set of original images a data set can have other image representations like thumbnails of various sizes. The provided array of IImageRepresentationFormatSelectionCriterion are applied one after another onto the set of ImageRepresentationFormat until its size is reduced to one.
        Parameters:
        plateImageHandler - Handler for the delivered images.
        Throws:
        ch.systemsx.cisd.common.exceptions.UserFailureException - if no criterion has been specified (i.e. criteria is an empty array) or if for at least one data set the filtered ImageRepresentationFormat set has size zero or greater than one.
        java.io.IOException
      • loadThumbnailImageWellCaching

        byte[] loadThumbnailImageWellCaching​(PlateImageReference imageReference)
                                      throws java.io.IOException
        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.

        Throws:
        java.io.IOException
      • loadThumbnailImages

        void loadThumbnailImages​(java.util.List<PlateImageReference> imageReferences,
                                 IPlateImageHandler plateImageHandler)
                          throws java.io.IOException
        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.
        Parameters:
        plateImageHandler - Handles delivered images.
        Throws:
        java.io.IOException
      • loadThumbnailImages

        void loadThumbnailImages​(java.util.List<PlateImageReference> imageReferences,
                                 ScreeningOpenbisServiceFacade.IImageOutputStreamProvider outputStreamProvider)
                          throws java.io.IOException
        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.
        Parameters:
        outputStreamProvider - Handles delivered images.
        Throws:
        java.io.IOException
      • saveImageTransformerFactory

        void saveImageTransformerFactory​(java.util.List<IDatasetIdentifier> dataSetIdentifiers,
                                         java.lang.String channel,
                                         IImageTransformerFactory transformerFactoryOrNull)
        Saves the specified transformer factory for the specified channel and the experiment to which the specified data sets belong.
      • getImageTransformerFactoryOrNull

        IImageTransformerFactory getImageTransformerFactoryOrNull​(java.util.List<IDatasetIdentifier> dataSetIdentifiers,
                                                                  java.lang.String channel)
        Returns the transformer factory for the specified channel and the experiment to which the specified data sets belong.
        Returns:
        null if such a factory has been defined yet.
      • listImageMetadata

        ImageDatasetMetadata listImageMetadata​(IImageDatasetIdentifier imageDataset)
        For a given image data set, provide meta like like which image channels have been acquired, what is the tile geometry, the available (natural) image size(s) and the like.
      • listImageMetadata

        java.util.List<ImageDatasetMetadata> listImageMetadata​(java.util.List<? extends IImageDatasetIdentifier> imageDatasets)
        For a given set of image data sets, provide meta like like which image channels have been acquired, what is the tile geometry, the available (natural) image size(s) and the like.
      • listPlateMaterialMapping

        java.util.List<PlateWellMaterialMapping> listPlateMaterialMapping​(java.util.List<? extends PlateIdentifier> plates,
                                                                          MaterialTypeIdentifier materialTypeIdentifierOrNull)
        For a given list of plates, return the mapping of plate wells to materials contained in each well.
        Parameters:
        plates - The list of plates to get the mapping for
        materialTypeIdentifierOrNull - If not null, consider only materials of the given type for the mapping.
        Returns:
        A list of well to material mappings, one element for each plate.
      • listAnalysisProcedures

        java.util.List<java.lang.String> listAnalysisProcedures​(ExperimentIdentifier experimentIdentifier)
        Returns an alphabetically sorted list of analysis procedure codes of all data sets of the specified experiment.
      • listAvailableImageRepresentationFormats

        java.util.List<DatasetImageRepresentationFormats> listAvailableImageRepresentationFormats​(java.util.List<? extends IDatasetIdentifier> dataSetIdentifiers)
        Returns:
        Information about the image representations available for the sepecified data sets.
      • loadPhysicalThumbnails

        void loadPhysicalThumbnails​(java.util.List<PlateImageReference> imageReferences,
                                    ImageRepresentationFormat format,
                                    IPlateImageHandler plateImageHandler)
                             throws java.io.IOException
        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.
        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
      • loadPhysicalThumbnails

        void loadPhysicalThumbnails​(java.util.List<PlateImageReference> imageReferences,
                                    ImageRepresentationFormat format,
                                    ScreeningOpenbisServiceFacade.IImageOutputStreamProvider outputStreamProvider)
                             throws java.io.IOException
        Retrieves images for the specified image references and invokes the IImageOutputStreamProvider 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.
        Parameters:
        imageReferences - The data set, well, channel, and tile of the image to be returned.
        format - The format of the image to return.
        Throws:
        java.io.IOException