Interface IDssServiceRpcScreening

  • All Superinterfaces:
    IRpcService

    public interface IDssServiceRpcScreening
    extends IRpcService
    Public DSS API for screening. Since version 1.2 features are no longer identified by a name but by a code. Previous client code still works but all name will be normalized internally. Normalized means that the original code arguments turn to upper case and any symbol which isn't from A-Z or 0-9 is replaced by an underscore character. FeatureVectorDataset will provide feature codes and feature labels.
    • Field Detail

      • SERVICE_NAME

        static final java.lang.String SERVICE_NAME
        Name of this service for which it is registered at the RPC name server.
        See Also:
        Constant Field Values
      • SERVICE_URL

        static final java.lang.String SERVICE_URL
        Application part of the URL to access this service remotely.
        See Also:
        Constant Field Values
      • MAJOR_VERSION

        static final int MAJOR_VERSION
        The major version of this service.
        See Also:
        Constant Field Values
    • Method Detail

      • listAvailableFeatureNames

        @Deprecated
        java.util.List<java.lang.String> listAvailableFeatureNames​(java.lang.String sessionToken,
                                                                   java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        Deprecated.
        For a given set of feature vector data sets provide 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, provide the union of the features of all data sets.
      • listAvailableFeatureLists

        java.util.List<java.lang.String> listAvailableFeatureLists​(java.lang.String sessionToken,
                                                                   IFeatureVectorDatasetIdentifier featureDataset)
        Return the codes of available feature lists for a given feature vector data set.
      • getFeatureList

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

        java.util.List<java.lang.String> listAvailableFeatureCodes​(java.lang.String sessionToken,
                                                                   java.util.List<? extends IFeatureVectorDatasetIdentifier> featureDatasets)
        For a given set of feature vector data sets provide 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, provide the union of the features of all data sets.
      • listAvailableFeatures

        java.util.List<FeatureInformation> listAvailableFeatures​(java.lang.String sessionToken,
                                                                 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.
      • loadFeatures

        java.util.List<FeatureVectorDataset> loadFeatures​(java.lang.String sessionToken,
                                                          java.util.List<FeatureVectorDatasetReference> featureDatasets,
                                                          java.util.List<java.lang.String> featureCodes)
        Conceptually, for a given list of data well references (i.e. specified wells on specified feature vector data sets) and a set of features (given by their name) 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 vector datasets. Each entry in this list corresponds to one well in one dataset.

        Returns:
        The list of FeatureVectorDatasets, each element corresponds to one of the featureDatasets.
      • loadFeaturesForDatasetWellReferences

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

        Returns:
        The list of FeatureVectorWithDescriptions, each element corresponds to one of the datasetWellReferences. Note that the order of the returned is not guaranteed to be the same as the order of the list datasetWellReferences. Use FeatureVectorWithDescription.getDatasetWellReference() to find the corresponding dataset / well.
        Since:
        1.1
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       java.util.List<PlateImageReference> imageReferences,
                                       boolean convertToPng)
        Provide images for a given list of image references (specified by data set code, well position, channel and tile). The result is encoded into one stream, which consist of multiple blocks in a format: (), where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. 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.
        Since:
        1.3
      • loadImagesBase64

        java.util.List<java.lang.String> loadImagesBase64​(java.lang.String sessionToken,
                                                          java.util.List<PlateImageReference> imageReferences,
                                                          boolean convertToPng)
        Returns the same images as loadImages(String, List, boolean) but the result is a list of base64 encoded strings that contain the image data.
      • loadThumbnailImages

        java.io.InputStream loadThumbnailImages​(java.lang.String sessionToken,
                                                java.util.List<PlateImageReference> imageReferences)
        Provide thumbnail images for a given list of image references (specified by data set code, well position, channel and tile). The result is encoded into one stream, which consist of multiple blocks in a format: (), where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references.

        If no thumbnails are stored for this data set and well positions, empty images (length 0) will be returned.

        Since:
        1.6
      • loadThumbnailImagesBase64

        java.util.List<java.lang.String> loadThumbnailImagesBase64​(java.lang.String sessionToken,
                                                                   java.util.List<PlateImageReference> imageReferences)
        Returns the same images as loadThumbnailImages(String, List) but the result is a list of base64 encoded strings that contain the image data.
        Since:
        1.11
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       java.util.List<PlateImageReference> imageReferences,
                                       ImageSize size)
        Provide images (PNG encoded) for a given list of image references (given by data set code, well position, channel and tile). The result is encoded into one stream, which consist of multiple blocks in a format: ()*, where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. If size is specified, the images will be scaled conserving aspect ratio in order to fit into specified size. Otherwise images of original size are delivered.
        Since:
        1.4
      • loadImagesBase64

        java.util.List<java.lang.String> loadImagesBase64​(java.lang.String sessionToken,
                                                          java.util.List<PlateImageReference> imageReferences,
                                                          ImageSize size)
        Returns the same images as loadImages(String, List, ImageSize) but the result is a list of base64 encoded strings that contain the image data.
        Since:
        1.11
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       java.util.List<PlateImageReference> imageReferences)
        Provide images for a given list of image references (given by data set code, well position, channel and tile). The result is encoded into one stream, which consist of multiple blocks in a format: ()*, where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. The images will be converted to PNG format before being shipped.
      • loadImagesBase64

        java.util.List<java.lang.String> loadImagesBase64​(java.lang.String sessionToken,
                                                          java.util.List<PlateImageReference> imageReferences)
        Returns the same images as loadImages(String, List) but the result is a list of base64 encoded strings that contain the image data.
        Since:
        1.11
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       IDatasetIdentifier dataSetIdentifier,
                                       java.util.List<WellPosition> wellPositions,
                                       java.lang.String channel,
                                       ImageSize thumbnailSizeOrNull)
        Provide images for specified data set, list of well positions, 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.

        The result is encoded into one stream, which consist of multiple blocks in a format: ()*, where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. The images will be converted to PNG format before being shipped.

        Since:
        1.4
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       IDatasetIdentifier dataSetIdentifier,
                                       java.lang.String channel,
                                       ImageSize thumbnailSizeOrNull)
        Provide images for specified microscopy data set, 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.

        Note that this method will not work for datasets connected to plates (in this case the wells would have to be specified additionally).

        The result is encoded into one stream, which consist of multiple blocks in a format: ()*, where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. The images will be converted to PNG format before being shipped.

        Since:
        1.5
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       java.util.List<PlateImageReference> imageReferences,
                                       ImageRepresentationFormat format)
        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(String, List). This method assumes that all image references belong to the same data set which has image representations of specified format.
        Throws:
        ch.systemsx.cisd.common.exceptions.UserFailureException - if the specified format refers to an image representations unknown by at least one plate image reference.
        Since:
        1.10
      • loadImages

        java.io.InputStream loadImages​(java.lang.String sessionToken,
                                       java.util.List<PlateImageReference> imageReferences,
                                       IImageRepresentationFormatSelectionCriterion... criteria)
        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.
        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.
        Since:
        1.10
      • loadThumbnailImages

        java.io.InputStream loadThumbnailImages​(java.lang.String sessionToken,
                                                IDatasetIdentifier dataSetIdentifier,
                                                java.util.List<java.lang.String> channels)
        Provide thumbnail images for specified microscopy data set. If no thumbnails are stored on the server, this method will return an empty stream. Images of all tiles are delivered.

        Note that this method will not work for datasets connected to plates (in this case the wells would have to be specified additionally).

        The result is encoded into one stream, which consist of multiple blocks in a format: ()*, where block-size is the block size in bytes encoded as one long number. The number of blocks is equal to the number of specified references and the order of blocks corresponds to the order of image references. The thumbnail images will be shipped exactly as stored, not conversion will be applied.

        Since:
        1.6
      • loadThumbnailImagesBase64

        java.util.List<java.lang.String> loadThumbnailImagesBase64​(java.lang.String sessionToken,
                                                                   IDatasetIdentifier dataSetIdentifier,
                                                                   java.util.List<java.lang.String> channels)
        Returns the same images as loadThumbnailImages(String, IDatasetIdentifier, List) but the result is a list of base64 encoded strings that contain the image data.
        Since:
        1.11
      • listPlateImageReferences

        java.util.List<PlateImageReference> listPlateImageReferences​(java.lang.String sessionToken,
                                                                     IDatasetIdentifier dataSetIdentifier,
                                                                     java.util.List<WellPosition> wellPositions,
                                                                     java.lang.String channel)
        Lists plate image references for specified data set, list of well positions and channel.
        Since:
        1.4
      • listPlateImageReferences

        java.util.List<PlateImageReference> listPlateImageReferences​(java.lang.String sessionToken,
                                                                     IDatasetIdentifier dataSetIdentifier,
                                                                     java.util.List<WellPosition> wellPositions,
                                                                     java.util.List<java.lang.String> channels)
        Lists plate image references for specified data set, list of well positions and channels.
        Since:
        1.6
      • listImageReferences

        java.util.List<MicroscopyImageReference> listImageReferences​(java.lang.String sessionToken,
                                                                     IDatasetIdentifier dataSetIdentifier,
                                                                     java.lang.String channel)
        Lists microscopy image references for specified data set and channel.
        Since:
        1.5
      • listImageReferences

        java.util.List<MicroscopyImageReference> listImageReferences​(java.lang.String sessionToken,
                                                                     IDatasetIdentifier dataSetIdentifier,
                                                                     java.util.List<java.lang.String> channels)
        Lists microscopy image references for specified data set and channels.
        Since:
        1.6
      • saveImageTransformerFactory

        void saveImageTransformerFactory​(java.lang.String sessionToken,
                                         java.util.List<IDatasetIdentifier> dataSetIdentifiers,
                                         java.lang.String channel,
                                         IImageTransformerFactory transformerFactory)
        Saves the specified transformer factory for the specified channel of the specified data. Note that the channel can be stored at the dataset or experiment level.
        Since:
        1.4
      • getImageTransformerFactoryOrNull

        IImageTransformerFactory getImageTransformerFactoryOrNull​(java.lang.String sessionToken,
                                                                  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. If there is exactly one dataset identifier, checks first if channels are defined on the dataset level.
        Returns:
        null if such a factory has been defined yet.
      • listImageMetadata

        java.util.List<ImageDatasetMetadata> listImageMetadata​(java.lang.String sessionToken,
                                                               java.util.List<? extends IImageDatasetIdentifier> imageDatasets)
        For a given set of image data sets, provide all image channels that have been acquired and the available (natural) image size(s).
      • listAvailableImageRepresentationFormats

        java.util.List<DatasetImageRepresentationFormats> listAvailableImageRepresentationFormats​(java.lang.String sessionToken,
                                                                                                  java.util.List<? extends IDatasetIdentifier> imageDatasets)
        Return image representation formats available for the specified image data sets.
        Parameters:
        imageDatasets - The image data sets for which the representation formats are requested.
        Returns:
        A list with one entry for each in imageDatasets.
        Since:
        1.10
      • loadPhysicalThumbnails

        java.io.InputStream loadPhysicalThumbnails​(java.lang.String sessionToken,
                                                   java.util.List<PlateImageReference> imageReferences,
                                                   ImageRepresentationFormat format)
        The fast method to provide registered thumbnail images (without calculating them) 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(String, List). This method assumes that all image references belong to the same data set which has image representations of specified format.

        This method gets the images directly from the data store in the format in which they are stored there.

        Throws:
        ch.systemsx.cisd.common.exceptions.UserFailureException - if the specified format refers to an image representations unknown by at least one plate image reference.
        Since:
        1.12