Skip to content

Commit 881d6a7

Browse files
committed
refactor: refactor transforms
1 parent 18ef2e7 commit 881d6a7

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

DPF/transforms/base_file_transforms.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from tqdm.contrib.concurrent import process_map, thread_map
66

77

8+
PoolOptions = Literal['processes', 'threads']
9+
10+
811
@dataclass
912
class TransformsFileData:
1013
filepath: str
@@ -15,7 +18,7 @@ class BaseFilesTransforms(ABC):
1518

1619
def __init__(
1720
self,
18-
pool_type: Literal['processes', 'threads'],
21+
pool_type: PoolOptions,
1922
workers: int = 16,
2023
pbar: bool = True
2124
):
@@ -62,7 +65,7 @@ def data_iterator() -> Iterable[TransformsFileData]:
6265
arg = TransformsFileData(fp, {k: v[i] for k, v in metadata_lists.items()})
6366
yield arg
6467

65-
transformed_metadata = pool_map(
68+
transformed_metadata: List[TransformsFileData] = pool_map(
6669
self._process_filepath,
6770
data_iterator(),
6871
total=len(paths),

DPF/transforms/image_resize_transforms.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
from PIL import Image
44

5-
from DPF.transforms.base_file_transforms import BaseFilesTransforms, TransformsFileData
6-
from DPF.transforms.image_video_resizer import Resizer
5+
from DPF.transforms.base_file_transforms import BaseFilesTransforms, TransformsFileData, PoolOptions
6+
from DPF.transforms.resizer import Resizer
77

88

99
class ImageResizeTransforms(BaseFilesTransforms):
@@ -12,7 +12,7 @@ def __init__(
1212
self,
1313
resizer: Resizer,
1414
img_format: str = 'JPEG',
15-
pool_type: str = 'processes',
15+
pool_type: PoolOptions = 'processes',
1616
workers: int = 16,
1717
pbar: bool = True
1818
):

DPF/transforms/image_video_resizer.py renamed to DPF/transforms/resizer.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,19 @@ class Resizer:
1616

1717
def __init__(
1818
self,
19-
mode: int,
20-
fixed_size: Optional[Tuple[int, int]] = None,
21-
size: Optional[int] = None,
19+
mode: ResizerModes,
20+
fixed_size: Tuple[int, int] = (512, 512),
21+
size: int = 512,
2222
downscale_only: bool = True
2323
):
2424
self.mode = mode
25+
assert self.mode in [ResizerModes.FIXED, ResizerModes.MIN_SIZE, ResizerModes.MAX_SIZE], \
26+
f"Invalid resizer mode: {self.mode}. Use mode from ResizerModes"
27+
2528
self.fixed_size = fixed_size
2629
self.size = size
2730
self.downscale_only = downscale_only
2831

29-
if self.mode == ResizerModes.FIXED:
30-
assert len(self.fixed_size) == 2 and all(isinstance(v, int) for v in self.fixed_size)
31-
elif self.mode in [ResizerModes.MIN_SIZE, ResizerModes.MAX_SIZE]:
32-
assert isinstance(self.size, int)
33-
else:
34-
raise ValueError(f"Invalid resizer mode: {self.mode}. Use mode from ResizerModes")
35-
3632
def get_new_size(self, width: int, height: int) -> Tuple[int, int]:
3733
if self.mode == ResizerModes.FIXED:
3834
new_w, new_h = self.fixed_size

DPF/transforms/video_resize_transforms.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import uuid
44
from typing import List
55

6-
from DPF.transforms.base_file_transforms import BaseFilesTransforms, TransformsFileData
7-
from DPF.transforms.image_video_resizer import Resizer
6+
from DPF.transforms.base_file_transforms import BaseFilesTransforms, TransformsFileData, PoolOptions
7+
from DPF.transforms.resizer import Resizer
88

99

10-
def is_ffmpeg_installed():
10+
def is_ffmpeg_installed() -> bool:
1111
try:
1212
subprocess.run('ffmpeg -version', shell=True, capture_output=True, check=True)
1313
return True
@@ -21,7 +21,7 @@ def __init__(
2121
self,
2222
resizer: Resizer,
2323
ffmpeg_preset: str = 'fast',
24-
pool_type: str = 'processes',
24+
pool_type: PoolOptions = 'processes',
2525
workers: int = 16,
2626
pbar: bool = True
2727
):

0 commit comments

Comments
 (0)