spatialrefinery.convert_to_ometiff

spatialrefinery.convert_to_ometiff#

spatialrefinery.convert_to_ometiff(source, output_dir, *, subresolutions=4, tile_size=1024, mpp=None, overwrite=False, converter=None)#

Convert one image file to pyramidal OME-TIFF, dispatching on suffix.

Parameters:
  • source (str | Path) – Path to the source image (e.g. .svs, .ndpi, .czi, .vsi).

  • output_dir (str | Path) – Directory to write the .ome.tif file(s) into.

  • subresolutions (int (default: 4)) – Number of pyramid sub-levels. Default 4.

  • tile_size (int (default: 1024)) – TIFF tile edge length in pixels. Default 1024.

  • mpp (float | tuple[float, float] | None (default: None)) – Physical pixel size in micrometres, overriding whatever the reader detects. A single value applies to both axes. Only consulted by the openslide- and slideio-backed converters, which raise if neither this nor a detected pixel size is available – see _resolve_mpp.

  • overwrite (bool (default: False)) – Whether to regenerate an output that already exists. Default False.

  • converter (type[ImageConverter] | None (default: None)) – Force a specific converter class instead of registry dispatch.

Return type:

list[Path]

Returns:

list[Path] Every .ome.tif file written (or found, if overwrite=False).

Raises:
  • spatialrefinery.core.registry.RegistryError – If source’s suffix has no registered converter, or source is itself an .ome.tif/.ome.tiff file.

  • ValueError – If the source’s physical pixel size cannot be determined and mpp was not given.

Examples

>>> from spatialrefinery import convert_to_ometiff
>>> ometiff_paths = convert_to_ometiff(
...     source="/path/to/slide.svs",
...     output_dir="/path/to/output",
...     subresolutions=4,
... )