Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions tests/test_exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,12 @@

import pytest

from tiatoolbox import utils
from tiatoolbox.tools.stainnorm import get_normalizer
from tiatoolbox.utils.exceptions import FileNotSupported, MethodNotSupported
from tiatoolbox.wsicore.slide_info import slide_info
from tiatoolbox.utils.exceptions import MethodNotSupported


def test_exception_tests():
"""Test for Exceptions."""
with pytest.raises(FileNotSupported):
utils.misc.save_yaml(
slide_info(input_path="/mnt/test/sample.txt", verbose=True).as_dict(),
"test.yaml",
)

with pytest.raises(MethodNotSupported):
get_normalizer(method_name="invalid_normalizer")

Expand Down
22 changes: 4 additions & 18 deletions tests/test_slide_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,7 @@

from click.testing import CliRunner

from tiatoolbox import cli, utils
from tiatoolbox.wsicore.slide_info import slide_info


def test_slide_info(sample_all_wsis, tmp_path):
"""Test for slide_info as a python function."""
file_types = ("*.ndpi", "*.svs", "*.mrxs", "*.jp2")
files_all = utils.misc.grab_files_from_dir(
input_path=sample_all_wsis,
file_types=file_types,
)

for curr_file in files_all:
slide_param = slide_info(input_path=curr_file, verbose=True)
out_path = tmp_path / slide_param.file_path.with_suffix(".yaml").name
utils.misc.save_yaml(slide_param.as_dict(), out_path)

from tiatoolbox import cli

# -------------------------------------------------------------------------------------
# Command Line Interface
Expand All @@ -42,6 +26,8 @@ def test_command_line_slide_info(sample_all_wsis, tmp_path):
"*.ndpi, *.svs",
"--output-path",
str(tmp_path),
"--verbose",
"True",
],
)

Expand Down Expand Up @@ -86,7 +72,7 @@ def test_command_line_slide_info_svs(sample_svs):
"--mode",
"show",
"--verbose",
"False",
"True",
],
)

Expand Down
22 changes: 15 additions & 7 deletions tiatoolbox/cli/slide_info.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""Command line interface for slide_info."""
import logging
import pathlib

from tiatoolbox import logger
from tiatoolbox.cli.common import (
cli_file_type,
cli_img_input,
Expand All @@ -20,7 +22,7 @@
)
@cli_file_type(default="*.ndpi, *.svs, *.mrxs, *.jp2")
@cli_mode(default="show")
@cli_verbose(default=True)
@cli_verbose(default=False)
def slide_info(img_input, output_path, file_types, mode, verbose):
"""Displays or saves WSI metadata depending on the mode argument."""
from tiatoolbox import utils, wsicore
Expand All @@ -30,16 +32,22 @@ def slide_info(img_input, output_path, file_types, mode, verbose):
)

for curr_file in files_all:
slide_param = wsicore.slide_info.slide_info(
input_path=curr_file, verbose=verbose or mode == "show"
)
curr_file = pathlib.Path(curr_file)
wsi = wsicore.wsireader.WSIReader.open(input_img=curr_file)

if verbose:
logger.setLevel(logging.DEBUG)
logger.debug(curr_file.name)

if mode == "show":
logger.info(wsi.info.as_dict())

if mode == "save":
out_path = pathlib.Path(
output_path, slide_param.file_path.with_suffix(".yaml").name
output_path, wsi.info.file_path.with_suffix(".yaml").name
)
utils.misc.save_yaml(
slide_param.as_dict(),
wsi.info.as_dict(),
out_path,
)
print("Meta files saved at " + str(output_path))
logger.info("Meta files saved at %s.", str(output_path))
2 changes: 1 addition & 1 deletion tiatoolbox/wsicore/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
"""Package to read whole slide images"""
from tiatoolbox.wsicore import metadata, slide_info, wsimeta, wsireader
from tiatoolbox.wsicore import metadata, wsimeta, wsireader
42 changes: 0 additions & 42 deletions tiatoolbox/wsicore/slide_info.py

This file was deleted.