-
Notifications
You must be signed in to change notification settings - Fork 102
Labels
bugSomething isn't workingSomething isn't workingstaleOld PRs/Issues which are inactiveOld PRs/Issues which are inactive
Description
- TIA Toolbox version: 1.3.0
- Python version: 3.7
- Operating System: Cent OS
Description
When I try to perform nuclear segmentation using an OME-TIFF file, I get the following error:
ValueError: Unsupported axes YX.
What I Did
wsi_output = objInstSegmentor.predict(
['TestSet_ROI_6291.ome.tiff'],
ioconfig=objIOConfig,
masks=None,
save_dir=f'WSITest/',
mode="wsi",
on_gpu=ON_GPU,
crash_on_exception=True,
)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/local/55164614/ipykernel_10371/3581917802.py in <module>
54 mode="wsi",
55 on_gpu=ON_GPU,
---> 56 crash_on_exception=True,
57 )
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/models/engine/semantic_segmentor.py in predict(self, imgs, masks, mode, on_gpu, ioconfig, patch_input_shape, patch_output_shape, stride_shape, resolution, units, save_dir, crash_on_exception)
1326 for wsi_idx, img_path in enumerate(imgs):
1327 self._predict_wsi_handle_exception(
-> 1328 imgs, wsi_idx, img_path, mode, ioconfig, save_dir, crash_on_exception
1329 )
1330
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/models/engine/semantic_segmentor.py in _predict_wsi_handle_exception(self, imgs, wsi_idx, img_path, mode, ioconfig, save_dir, crash_on_exception)
1177 wsi_save_path = save_dir.joinpath(f"{wsi_idx}")
1178 if crash_on_exception:
-> 1179 raise err
1180 logging.error("Crashed on %s", wsi_save_path)
1181
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/models/engine/semantic_segmentor.py in _predict_wsi_handle_exception(self, imgs, wsi_idx, img_path, mode, ioconfig, save_dir, crash_on_exception)
1153 try:
1154 wsi_save_path = save_dir.joinpath(f"{wsi_idx}")
-> 1155 self._predict_one_wsi(wsi_idx, ioconfig, str(wsi_save_path), mode)
1156
1157 # Do not use dict with file name as key, because it can be
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/models/engine/nucleus_instance_segmentor.py in _predict_one_wsi(self, wsi_idx, ioconfig, save_path, mode)
632 mask_path = None if self.masks is None else self.masks[wsi_idx]
633 wsi_reader, mask_reader = self.get_reader(
--> 634 wsi_path, mask_path, mode, self.auto_generate_mask
635 )
636
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/models/engine/semantic_segmentor.py in get_reader(img_path, mask_path, mode, auto_get_mask)
670 """Define how to get reader for mask and source image."""
671 img_path = pathlib.Path(img_path)
--> 672 reader = WSIReader.open(img_path)
673
674 mask_reader = None
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/wsicore/wsireader.py in open(input_img, mpp, power)
226
227 if suffixes[-2:] in ([".ome", ".tiff"],):
--> 228 return TIFFWSIReader(input_path, mpp=mpp, power=power)
229
230 if last_suffix in (".tif", ".tiff") and is_tiled_tiff(input_path):
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/wsicore/wsireader.py in __init__(self, input_img, mpp, power, series, cache_size)
3055 return np.prod(self._canonical_shape(page.shape)[:2])
3056
-> 3057 series_areas = [page_area(s.pages[0]) for s in all_series] # skipcq
3058 self.series_n = np.argmax(series_areas)
3059 self._tiff_series = self.tiff.series[self.series_n]
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/wsicore/wsireader.py in <listcomp>(.0)
3055 return np.prod(self._canonical_shape(page.shape)[:2])
3056
-> 3057 series_areas = [page_area(s.pages[0]) for s in all_series] # skipcq
3058 self.series_n = np.argmax(series_areas)
3059 self._tiff_series = self.tiff.series[self.series_n]
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/wsicore/wsireader.py in page_area(page)
3053 def page_area(page: tifffile.TiffPage) -> float:
3054 """Calculate the area of a page."""
-> 3055 return np.prod(self._canonical_shape(page.shape)[:2])
3056
3057 series_areas = [page_area(s.pages[0]) for s in all_series] # skipcq
~/.conda/envs/single_cell/lib/python3.7/site-packages/tiatoolbox/wsicore/wsireader.py in _canonical_shape(self, shape)
3088 if self._axes == "SYX":
3089 return np.roll(shape, -1)
-> 3090 raise ValueError(f"Unsupported axes `{self._axes}`.")
3091
3092 def _parse_svs_metadata(self) -> dict:
ValueError: Unsupported axes `YX`.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingstaleOld PRs/Issues which are inactiveOld PRs/Issues which are inactive