Skip to content

Commit 62f591d

Browse files
Merge pull request #158 from scverse/fix_visium_hd_bins
fix bin_size parsing visium hd
2 parents af90e05 + 1a5fcab commit 62f591d

1 file changed

Lines changed: 10 additions & 8 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:

0 commit comments

Comments
 (0)