Loading imgutils/data/pad.py +5 −5 Original line number Diff line number Diff line Loading @@ -17,12 +17,12 @@ __all__ = [ ] def _parse_size(size): def _parse_size(size: Union[Tuple[int, int], int]): """ Parse size parameter into a tuple of width and height. :param size: Size specification as an integer or tuple of two integers :type size: Union[int, Tuple[int, int], list] :type size: Union[Tuple[int, int], int] :return: Tuple containing width and height :rtype: Tuple[int, int] Loading @@ -37,12 +37,12 @@ def _parse_size(size): raise TypeError("Size must be int or tuple of two ints") def _parse_color_to_rgba(color): def _parse_color_to_rgba(color: Union[str, int, Tuple[int, int, int], Tuple[int, int, int, int]]): """ Convert various color formats to RGBA tuple. :param color: Color specification (string, integer, or tuple/list) :type color: Union[str, int, Tuple, list] :type color: Union[str, int, Tuple[int, int, int], Tuple[int, int, int, int]] :return: RGBA color tuple :rtype: Tuple[int, int, int, int] Loading @@ -55,7 +55,7 @@ def _parse_color_to_rgba(color): elif isinstance(color, int): rgba = (color, color, color, 255) elif isinstance(color, (list, tuple)): rgba = color + (255,) * (4 - len(color)) rgba = tuple([*color, *((255,) * (4 - len(color)))]) else: raise TypeError(f"Invalid color type: {type(color)}") Loading imgutils/preprocess/pillow.py +4 −2 Original line number Diff line number Diff line Loading @@ -806,7 +806,8 @@ class PillowPadToSize: interpolation: int = Image.BILINEAR): from ..data.pad import _parse_size, _parse_color_to_rgba self.size = _parse_size(size) self.background_color = background_color self.background_color = (tuple(background_color) if isinstance(background_color, (list, tuple)) else background_color) self.interpolation = interpolation _parse_color_to_rgba(self.background_color) Loading Loading @@ -846,7 +847,8 @@ def _parse_pad_to_size(obj): obj: PillowPadToSize return { 'size': list(obj.size), 'background_color': obj.background_color, 'background_color': (list(obj.background_color) if isinstance(obj.background_color, (list, tuple)) else obj.background_color), 'interpolation': _PILLOW_TO_STR[obj.interpolation], } Loading pytest.ini +2 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,5 @@ markers = unittest benchmark ignore norecursedirs = .* venv env build dist collect_ignore_glob = ig_*/* ig_*/**/* No newline at end of file test/preprocess/test_pillow.py +544 −2 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
imgutils/data/pad.py +5 −5 Original line number Diff line number Diff line Loading @@ -17,12 +17,12 @@ __all__ = [ ] def _parse_size(size): def _parse_size(size: Union[Tuple[int, int], int]): """ Parse size parameter into a tuple of width and height. :param size: Size specification as an integer or tuple of two integers :type size: Union[int, Tuple[int, int], list] :type size: Union[Tuple[int, int], int] :return: Tuple containing width and height :rtype: Tuple[int, int] Loading @@ -37,12 +37,12 @@ def _parse_size(size): raise TypeError("Size must be int or tuple of two ints") def _parse_color_to_rgba(color): def _parse_color_to_rgba(color: Union[str, int, Tuple[int, int, int], Tuple[int, int, int, int]]): """ Convert various color formats to RGBA tuple. :param color: Color specification (string, integer, or tuple/list) :type color: Union[str, int, Tuple, list] :type color: Union[str, int, Tuple[int, int, int], Tuple[int, int, int, int]] :return: RGBA color tuple :rtype: Tuple[int, int, int, int] Loading @@ -55,7 +55,7 @@ def _parse_color_to_rgba(color): elif isinstance(color, int): rgba = (color, color, color, 255) elif isinstance(color, (list, tuple)): rgba = color + (255,) * (4 - len(color)) rgba = tuple([*color, *((255,) * (4 - len(color)))]) else: raise TypeError(f"Invalid color type: {type(color)}") Loading
imgutils/preprocess/pillow.py +4 −2 Original line number Diff line number Diff line Loading @@ -806,7 +806,8 @@ class PillowPadToSize: interpolation: int = Image.BILINEAR): from ..data.pad import _parse_size, _parse_color_to_rgba self.size = _parse_size(size) self.background_color = background_color self.background_color = (tuple(background_color) if isinstance(background_color, (list, tuple)) else background_color) self.interpolation = interpolation _parse_color_to_rgba(self.background_color) Loading Loading @@ -846,7 +847,8 @@ def _parse_pad_to_size(obj): obj: PillowPadToSize return { 'size': list(obj.size), 'background_color': obj.background_color, 'background_color': (list(obj.background_color) if isinstance(obj.background_color, (list, tuple)) else obj.background_color), 'interpolation': _PILLOW_TO_STR[obj.interpolation], } Loading
pytest.ini +2 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,5 @@ markers = unittest benchmark ignore norecursedirs = .* venv env build dist collect_ignore_glob = ig_*/* ig_*/**/* No newline at end of file
test/preprocess/test_pillow.py +544 −2 File changed.Preview size limit exceeded, changes collapsed. Show changes