MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / _set_reader

Method _set_reader

monai/inferers/splitter.py:356–376  ·  view source on GitHub ↗

Set the WSI reader object based on the input reader Args: reader: the module to be used for loading whole slide imaging. If `reader` is - a string, it defines the backend of `monai.data.WSIReader`. Defaults to cuCIM. - a class (inherited

(self, reader: str | BaseWSIReader | type[BaseWSIReader] | None, reader_kwargs: dict)

Source from the content-addressed store, hash-verified

354 )
355
356 def _set_reader(self, reader: str | BaseWSIReader | type[BaseWSIReader] | None, reader_kwargs: dict) -> None:
357 """
358 Set the WSI reader object based on the input reader
359
360 Args:
361 reader: the module to be used for loading whole slide imaging. If `reader` is
362
363 - a string, it defines the backend of `monai.data.WSIReader`. Defaults to cuCIM.
364 - a class (inherited from `BaseWSIReader`), it is initialized and set as wsi_reader.
365 - an instance of a class inherited from `BaseWSIReader`, it is set as the wsi_reader.
366 """
367 self.reader: WSIReader | BaseWSIReader
368 self.reader_kwargs = reader_kwargs
369 if isinstance(reader, str):
370 self.reader = WSIReader(backend=reader, **self.reader_kwargs)
371 elif isclass(reader) and issubclass(reader, BaseWSIReader):
372 self.reader = reader(**self.reader_kwargs)
373 elif isinstance(reader, BaseWSIReader):
374 self.reader = reader
375 else:
376 raise ValueError(f"Unsupported reader type: {reader}.")
377
378 def _get_patch(self, inputs: Any, location: tuple[int, ...], patch_size: tuple[int, ...]) -> Any:
379 patch, _ = self.reader.get_data(wsi=inputs, location=location, size=patch_size) # type: ignore

Callers 1

__init__Method · 0.95

Calls 1

WSIReaderClass · 0.90

Tested by

no test coverage detected