From f56018799ab37d2af54e5fe30216c6eccc68e349 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Thu, 24 Apr 2025 08:50:54 -0700 Subject: [PATCH] Set the expected column names for image data slot --- src/spatialexperiment/SpatialExperiment.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/spatialexperiment/SpatialExperiment.py b/src/spatialexperiment/SpatialExperiment.py index a5f66e6..b364cdc 100644 --- a/src/spatialexperiment/SpatialExperiment.py +++ b/src/spatialexperiment/SpatialExperiment.py @@ -3,11 +3,12 @@ from urllib.parse import urlparse from warnings import warn +import biocutils as ut import numpy as np -from PIL import Image - from biocframe import BiocFrame -import biocutils as ut +from PIL import Image +from singlecellexperiment import SingleCellExperiment +from singlecellexperiment._combineutils import merge_generic, relaxed_merge_generic, relaxed_merge_numpy_generic from summarizedexperiment._combineutils import ( check_assays_are_equal, merge_assays, @@ -16,9 +17,8 @@ ) from summarizedexperiment._frameutils import _sanitize_frame from summarizedexperiment.RangedSummarizedExperiment import GRangesOrGRangesList -from singlecellexperiment import SingleCellExperiment -from singlecellexperiment._combineutils import merge_generic, relaxed_merge_generic, relaxed_merge_numpy_generic +from ._combineutils import merge_spatial_coordinates, merge_spatial_frames from ._imgutils import get_img_idx from ._validators import ( _validate_column_data, @@ -29,8 +29,7 @@ _validate_spatial_coords, _validate_spatial_coords_names, ) -from ._combineutils import merge_spatial_frames, merge_spatial_coordinates -from .SpatialImage import construct_spatial_image_class, VirtualSpatialImage +from .SpatialImage import VirtualSpatialImage, construct_spatial_image_class __author__ = "keviny2" __copyright__ = "keviny2" @@ -201,6 +200,11 @@ def __init__( column_data["sample_id"] = ["sample01"] * self.shape[1] # hard code default sample_id as "sample01" spatial_coords = _sanitize_frame(spatial_coords, num_rows=self.shape[1]) + + if img_data is None: + img_data = BiocFrame( + data={"sample_id": [], "image_id": [], "data": [], "scale_factor": []}, number_of_rows=0 + ) img_data = _sanitize_frame(img_data, num_rows=0) self._img_data = img_data