ComposedImagingDataset#
- class spora_io.datasets.compose.ComposedImagingDataset(name, modalities, tile_size, resolution, path=None, verbose=True, load_cell_metadata=False, tile_strategy=None, split=None, *, modality_kwargs=None)[source]#
Bases:
objectCompose multiple unimodal datasets (HE, Multiplex, etc.) into a single handle.
Uniform interface to fetch tissues/tiles per modality.
Ensures consistent tile strategy across modalities by construction.
Extensible via modality_kwargs to pass per-modality constructor arguments.
Notes on behavior: - get_tissue_ids() returns the union of tissue IDs across all instantiated modalities. - get_modalities_of_tissue(tissue_id) lists which modalities contain that tissue ID. - Marker-specific helpers (indices/metadata) are forwarded to each unimodal dataset when available.
- Parameters:
name (str)
modalities (Iterable[ModKey])
tile_size (int)
resolution (float | str)
path (Union[str, Path] | None)
verbose (bool)
load_cell_metadata (bool)
tile_strategy (Optional[str])
split (Optional[str])
modality_kwargs (Optional[Mapping[str, Mapping[str, Any]]])
- get_dataset(modality)[source]#
Get the unimodal dataset instance for a given modality key.
- Parameters:
modality (ModKey) – The modality key (string or object with ‘name’ attribute) to retrieve the dataset for.
- Returns:
Any: The unimodal dataset instance corresponding to the modality key.
- Raises:
KeyError – If the modality key is not part of this composed dataset.
- get_available_modalities()[source]#
Get the list of available modalities in this composed dataset.
- Returns:
List[str]: A list of modality keys representing the available modalities.
- get_tissue_ids(modality=None)[source]#
Get the list of tissue IDs available in the dataset. If a modality is specified, return only tissue IDs for that modality.
- Parameters:
modality (Optional[ModKey]) – The modality key to filter tissue IDs by. If None, returns tissue IDs across all modalities.
- Returns:
List[str]: A list of tissue IDs available in the dataset (filtered by modality if specified).
- get_modalities_of_tissue(tissue_id)[source]#
Get the list of modalities available for a given tissue ID.
- Parameters:
tissue_id (str) – The tissue ID to query modalities for.
- Returns:
List[str]: A list of modality keys representing the modalities available for the given tissue ID.
- get_unimodal_tissue(tissue_id, modality, kind='uniprot_filtered', preprocess=True, image_mode='CHW')[source]#
Get the tissue image for a given tissue ID and modality, with options for kind of image and preprocessing.
- Parameters:
tissue_id (str) – The tissue ID to retrieve.
modality (ModKey) – The modality key to specify which unimodal dataset to query.
kind (str) – The kind of tissue image to retrieve. Default is “uniprot_filtered”. Valid options are “complete”, “qc_filtered”, and “uniprot_filtered”.
preprocess (bool) – If True, preprocess the image (normalize). Default is True.
image_mode (str) – The desired image mode of the returned tissue image. Valid options are “CHW” and “HWC”. Default is “CHW”.
- Returns:
Tissue: The tissue image as returned by the unimodal dataset’s get_tissue method.
- get_unimodal_tissue_mask(tissue_id, modality)[source]#
Get the quality control mask for a given tissue ID and modality.
- Parameters:
tissue_id (str) – The tissue ID to retrieve the mask for.
modality (ModKey) – The modality key to specify which unimodal dataset to query.
- Returns:
np.ndarray: The quality control mask as returned by the unimodal dataset’s get_tissue_mask method.
- get_unimodal_tissue_size(tissue_id, modality)[source]#
Get the tissue size (C,H,W) for a given tissue ID and modality.
- Parameters:
tissue_id (str) – The tissue ID to retrieve the size for.
modality (ModKey) – The modality key to specify which unimodal dataset to query.
- Returns:
Tuple[int, int, int]: The tissue size (C,H,W) as returned by the unimodal dataset’s _get_tissue_size method.
- get_unimodal_tile(tissue_id, tile_id, modality, kind='uniprot_filtered', preprocess=True, image_mode='CHW')[source]#
Get a specific tile for a given tissue ID and modality.
- Parameters:
tissue_id (str) – The tissue ID to retrieve the tile for.
tile_id (int) – The tile ID to retrieve.
modality (ModKey) – The modality key to specify which unimodal dataset to query.
kind (str) – The kind of image to retrieve. Valid options depend on modality.
preprocess (bool) – If True, preprocess the tile before returning.
image_mode (str) – The returned image layout, usually “CHW” or “HWC”.
- Returns:
Tissue: The tile image as returned by the unimodal dataset’s get_tile method.
- get_composed_tissue(tissue_id, kind='uniprot_filtered', preprocess=True, image_mode='CHW')[source]#
Get a composed tissue sample for a given tissue ID, which includes all available modalities for that tissue.
- Parameters:
tissue_id (str) – The tissue ID to retrieve.
kind (str) – The kind of tissue image to retrieve. Default is “uniprot_filtered”. Valid options are “complete”, “qc_filtered”, and “uniprot_filtered”.
preprocess (bool) – If True, preprocess the images (normalize). Default is True.
image_mode (str) – The desired image mode of the returned tissue images. Valid options are “CHW” and “HWC”. Default is “CHW”.
- Returns:
ComposedTissue: A ComposedTissue instance containing the tissue ID and a dictionary of modality-specific Tissue instances.
- get_composed_tile(tissue_id, tile_id, kind='uniprot_filtered', preprocess=True, image_mode='CHW')[source]#
Get a composed tile for a given tissue ID and tile ID, which includes all available modalities for that tissue.
- Parameters:
tissue_id (str) – The tissue ID to retrieve.
tile_id (int) – The tile ID to retrieve.
kind (str) – The kind of tile image to retrieve. Default is “uniprot_filtered”. Valid options are “complete”, “qc_filtered”, and “uniprot_filtered”.
preprocess (bool) – If True, preprocess the images (normalize). Default is True.
image_mode (str) – The desired image mode of the returned tile images. Valid options are “CHW” and “HWC”. Default is “CHW”.
- Returns:
ComposedTissue: A ComposedTissue instance containing the tissue ID and a dictionary of modality-specific tile images.
- get_composed_tissue_by_patient(patient_id, kind='uniprot_filtered', preprocess=True, image_mode='CHW')[source]#
Get composed tissue samples for all tissues associated with a given patient ID.
- Parameters:
patient_id (str) – The patient ID to retrieve tissues for.
kind (str) – The kind of tissue image to retrieve. Default is “uniprot_filtered”. Valid options are “complete”, “qc_filtered”, and “uniprot_filtered”.
preprocess (bool) – If True, preprocess the images (normalize). Default is True.
image_mode (str) – The desired image mode of the returned tissue images. Valid options are “CHW” and “HWC”. Default is “CHW”.
- Returns:
Sequence[ComposedTissue]: A list of ComposedTissue instances for each tissue associated with the patient.