Skip to content

Commit 1a5fcab

Browse files
committed
fix bin_size parsing visium hd
1 parent d51d307 commit 1a5fcab

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

src/spatialdata_io/readers/visium_hd.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,18 +128,20 @@ def _get_bins(path: Path) -> list[str]:
128128
path_bins = path
129129
all_bin_sizes = _get_bins(path_bins)
130130

131-
if bin_size is None:
132-
bin_sizes = all_bin_sizes
133-
elif isinstance(bin_size, int) or isinstance(bin_size, list) and len(bin_size) == 0:
134-
if f"square_{bin_size:03}um" not in all_bin_sizes:
131+
bin_sizes = []
132+
if bin_size is not None:
133+
if not isinstance(bin_size, list):
134+
bin_size = [bin_size]
135+
bin_sizes = [f"square_{bs:03}um" for bs in bin_size if f"square_{bs:03}um" in all_bin_sizes]
136+
if len(bin_sizes) < len(bin_size):
135137
warnings.warn(
136-
f"Requested bin size {bin_size} not found (available {all_bin_sizes}). Using all available bins.",
138+
f"Requested bin size {bin_size} (available {all_bin_sizes}); ignoring the bin sizes that are not "
139+
"found.",
137140
UserWarning,
138141
stacklevel=2,
139142
)
140-
bin_sizes = all_bin_sizes
141-
else:
142-
bin_sizes = [f"square_{bin_size:03}um"]
143+
if bin_size is None or bin_sizes == []:
144+
bin_sizes = all_bin_sizes
143145

144146
# iterate over the given bins and load the data
145147
for bin_size_str in bin_sizes:

src/spatialdata_io/readers/xenium.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from shapely import Polygon
3030
from spatial_image import SpatialImage
3131
from spatialdata import SpatialData
32-
from spatialdata._core.query.relational_query import _get_unique_label_values_as_index
32+
from spatialdata._core.query.relational_query import get_element_instances
3333
from spatialdata._types import ArrayLike
3434
from spatialdata.models import (
3535
Image2DModel,
@@ -409,7 +409,7 @@ def _get_labels_and_indices_mapping(
409409

410410
# this information will probably be available in the `label_id` column for version > 2.0.0 (see public
411411
# release notes mentioned above)
412-
real_label_index = _get_unique_label_values_as_index(labels).values
412+
real_label_index = get_element_instances(labels).values
413413

414414
# background removal
415415
if real_label_index[0] == 0:

0 commit comments

Comments
 (0)