Skip to content

Commit

Permalink
address CR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
ernestoarbitrio authored and alessiamarcolini committed Jan 18, 2021
1 parent c0bb58c commit 30e8797
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions src/histolab/tiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ def _tile_filename(
def _tiles_generator(self, slide: Slide) -> None:
raise NotImplementedError

def _validate_levels(self, slide: Slide) -> None:
def _validate_level(self, slide: Slide) -> None:
"""Validate the Tiler's level according to the Slide.
Parameters
Expand All @@ -174,8 +174,6 @@ def _validate_levels(self, slide: Slide) -> None:
Raises
------
TileSizeError
If the tile size is larger than the slide size
LevelError
If the level is not available for the slide
"""
Expand All @@ -185,6 +183,19 @@ def _validate_levels(self, slide: Slide) -> None:
f"{len(slide.levels)}"
)

def _validate_tile_size(self, slide: Slide) -> None:
"""Validate the tile size according to the Slide.
Parameters
----------
slide : Slide
Slide from which to extract the tiles
Raises
------
TileSizeError
If the tile size is larger than the slide size
"""
if not self._has_valid_tile_size(slide):
raise TileSizeError(
f"Tile size {self.tile_size} is larger than slide size "
Expand Down Expand Up @@ -252,7 +263,8 @@ def extract(self, slide: Slide) -> None:
LevelError
If the level is not available for the slide
"""
self._validate_levels(slide)
self._validate_level(slide)
self._validate_tile_size(slide)

grid_tiles = self._tiles_generator(slide)

Expand Down Expand Up @@ -477,7 +489,8 @@ def extract(self, slide: Slide) -> None:
LevelError
If the level is not available for the slide
"""
self._validate_levels(slide)
self._validate_level(slide)
self._validate_tile_size(slide)

random_tiles = self._tiles_generator(slide)

Expand Down Expand Up @@ -673,7 +686,8 @@ def extract(self, slide: Slide, report_path: str = None) -> None:
LevelError
If the level is not available for the slide
"""
self._validate_levels(slide)
self._validate_level(slide)
self._validate_tile_size(slide)

highest_score_tiles, highest_scaled_score_tiles = self._tiles_generator(slide)

Expand Down

0 comments on commit 30e8797

Please sign in to comment.